昆明理工大学人工智能大报告手写数字识别.doc

昆明理工大学人工智能大报告手写数字识别.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
昆明理工大学人工智能大报告手写数字识别

昆明理工大学信息工程与自动化学院学生实验报告 ( 2014 — 2015 学年 第 1 学期 ) 课程名称:人工智能 开课实验室:信自楼504 2014年12月30日 年级、专业、班 学号 姓名 成绩 实验项目名称 手写数字的识别 指导教师 王剑 教师评语 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强 □ B.中等 □ C.差 □ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般 □ C.没有 □ 教师签名: 年 月 日 一、上机目的及内容 1.上机内容:利用基于类中心的欧式距离分类器和基于概率统计的贝叶斯分类器的手写数字识别模式识别的几种方法 模式识别有四个基本步骤 ①训练数据获取预处理 ②、选择 ③分类器设计 使用分类器分类 通过分n列,一般特征 X: (x1,x2,x3,… … x25)9个数字,因此X有9类 然后统计每个中除以格子所像素一个特征 样本都有特征,看你有多少个样本,就得到多少列的,比如我有样本,我就能得到的特征矩阵 进行的设计: 类中心的欧式距离 有M个类每个类个样品 表示 任意待识别() 计算 其中为第i的中心比较x各类中心的距离,若,j=1,2,…,M i≠j,则 通过简单的坐标图表示了欧式距离的具体内容: 基于概率统计Bayes分类器: 表示每个格子计算=黑色像素总数量/每个格子则取否则 我们假设h猜测的概率,实际数据的概率,则 表示先验概率代表似然概率 然后用Bayes公式求后验概率,后验概率类别就是 手写数字特征的数据: 训练样本库clear all;clc; %清屏 load templet; %A分成=25个cell %注意A的size(宽都需被定义成倍数,因为后面要被) =imread(‘8_1.bmp’);%读取手写数字的灰度图Figure(1),imshow(A) %显示 B=zeros(1,25); %创建的数组[row col]=size(A); cellRow = row/5 %除以5得到25分之1的小格子cellCol = col/5 基于类中心的欧式距离分类器: function y=euclid(sample); clc; 清屏load templet pattern; %下载手写数字的d=0; p=[];%各类别代表点 dmin=[inf,0]; %calculate the center point of each class计算各类别中心点 for i=1:9 temp=mean(pattern(i).feature);% 将图片转成灰度图 p(:,i)=temp; end for i=1:9 d=(sample-p(:,i))*(sample-p(:,i)) if dmin(1)d dmin(1)=d; dmin(2)=i; end end y=dmin(2); 基于概率统计的ayes分类器: function y=bayesBinary(sample); clc; %清屏 load templet pattern; %下载数字的特征矩阵sum=0; %初始化sumprior=[];% %先验概率p=[]; %各类别点likelihood=[]; %似然概率P=[]; %calculate prior propability计算先验概率 for i=1:9 sum = sum+pattern(i).num; end for i=1:9 prior(i) = pattern(i).num/sum; end %calculate likelihood propability计算似然概率for i=1:9 for j=1:25 sum=0; for k=1:pattern(i).num if(pattern(i).feature(j,k)0.05) sum=sum+1; end end p(j,i)=(sum+1)/

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档