您现在的位置:首页 >> 机器学习 >> 内容

基于贝叶斯判决的手写数字识别系统,带GUI界面

时间:2023/1/18 19:17:33 点击:

  核心提示:A253,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56Wmp1r

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

       贝叶斯判别规则是把某特征矢量(x) 落入某类集群的条件概率当成分类判别函数(概率判别函数),x落入某集群的条件概率最大的类为X的类别,这种判决规则就是贝叶斯判别规则。贝叶斯判别规则是以错分概率或风险最小为准则的判别规则。

      判别函数,各个类别的判别区域确定后,可以用一些函数来表示和鉴别某个特征矢量属于哪个类别,这些函数就称为判别函数。这些函数不是集群在特征空间形状的数学描述,而是描述某一位置矢量属于某个类别的情况,如属于某个类别的条件概率,一般不同的类别都有各自不同的判别函数。

4.部分源码

function y=BayesLeastRisk(data)

clc;

load template pattern;

%将数字特征转化为0、1两个数值表示

for i=1:10

    for j=1:25

        for k=1:pattern(1,i).num

            if pattern(1,i).feature(j,k)>0.1

               pattern(1,i).feature(j,k)=1;

            else

                pattern(1,i).feature(j,k)=0;

            end

        end

    end

end

[pc_template,pc_data]=pcapro(data); %主成分分析 

temp=0;

for i=1:10

    pattern(1,i).feature=pc_template(:,temp+1:temp+pattern(1,i).num);

    temp=temp+pattern(1,i).num;

end

%求协方差矩阵、协方差矩阵的逆矩阵、协方差矩阵的行列式

s_cov=[];

s_inv=[];

s_det=[];

for i=1:10

    s_cov(i).data=cov(pattern(1,i).feature');

    s_inv(i).data=inv(s_cov(i).data);

    s_det(i)=det(s_cov(i).data);

end

%求先验概率

sum=0;

pw=[];   %P(wi)---先验概率

for i=1:10

    sum=sum+pattern(1,i).num;

end

for i=1:10

    pw(i)=pattern(1,i).num/sum;

end

%求判别函数

h=[];    %h()---差别函数

mean_data=[];   %mean_data---每类样品特征向量的均值

for i=1:10

    mean_data(i).data=mean(pattern(1,i).feature')';

end

%判别函数

for i=1:10

    h(i)=(pc_data-mean_data(i).data)'*s_inv(i).data*(pc_data-mean_data(i).data)...

        *(-0.5)+log(pw(i))+log(abs(s_det(i)))*(-0.5);

end

%求每一类的损失

%---------loss为损失矩阵,大小为10x10---------------------------------------

loss=ones(10)-diag(diag(ones(10))); %diag(ones(10))---取对角线元素,diag(diag(ones(10)))---构建以上面取得的对角线元素为新矩阵的对角线元素,其余元素为0的新的对角线元素。

risk=0;

m=[];   

for i=1:10

    m=loss(i,:);    %根据每一类损失的公式,第i类的损失等损失矩阵的第i行与判别函数的列向量相乘

    risk(i)=m*h';

end

[minval minpos]=min(risk);

y=minpos-1;

end

A253

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168