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

更新时间:2023-11-06 00:44:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

昆明理工大学信息工程与自动化学院学生实验报告

( 2014 — 2015 学年 第 1 学期 )

课程名称:人工智能 开课实验室:信自楼504

年级、专业、班 实验项目名称 教师评 学号 2014年12月30日

指导教师 B.基本了解□ B.中等 □ B.基本达到□ B.基本规范□ B.一般 □ C.不了解□ C.差 □ C.未达到□ C.不规范□ C.没有 □ 姓名 成绩 手写数字的识别 A.了解□ A.强 □ A.达到□ A.规范□ A.详细□ 王剑 该同学是否了解实验原理: 该同学的实验能力: 该同学的实验是否达到要求: 实验报告是否规范: 实验过程是否详细记录: 教师签名: 语 年 月 日 一、上机目的及内容

1.上机内容:利用基于类中心的欧式距离分类器和基于概率统计的贝叶斯分类器的手写数字识别

2.上机目的:掌握模式识别的几种方法

二、实验原理及基本技术路线图(方框原理图或程序流程图)、步骤

模式识别有四个基本步骤:

①训练数据获取预处理 ②特征提取、选择 ③分类器设计 ④使用分类器进行分类

-1-

训练数据获取和预处理特征提取和选择分类器设计使用分类器进行分类选择分类器基于类中心的欧式距离分类器基于概率统计的Bayes分类器等等…识别结果输出 第一步中我们通过将数字图像被分成n行n列格子,一般去5行5列,共5*5个特征

X: (x1,x2,x3,… … x25) 共有9个数字,因此X有9类 然后统计每个格子中黑色像素的个数,除以该格子中所有的像素数目,即得一个特征 每个样本都有25个特征,看你有多少个样本,就得到多少列25行的特征矩阵,比如我有5个样本,我就能得到5列25行的特征矩阵 下面进行分类器的设计: 基于类中心的欧式距离分类器

有M个类w1w2...wm0,每个类有Ni个样品

wi类表示X(wi)?(x1(wi),x2(wi)wi)T...,x(Ni)

对任意待识别(分类)样品X?(x1,x2...,xn) 计算d(X,wi)?|x?2x_____(wi)|

2其中x-2-

_____(wi)为第i类的中心,比较x到各类中心的

距离,若满足d(x,xi(wi))?d(X,X_____(wj)),j=1,2,…,M i≠j,则X?wi

下面通过简单的坐标图表示了欧式距离的具体内容:

基于概率统计的Bayes分类器:

数据表示:对5*5样本的每个格子,计算T=黑色像素总数量/每个格子像素总数量;若T大于阈值0.05,则特征值取1,否则取0。

P(B/A)?p(AB)P(B)P(A/B)?

P(A)P(A)我们假设h表示猜测的概率,D表示实际数据的概率,则

P(h/D)?P(h)P(D/h) 其中P(h)表示先验概率,P(D/h)代表似然概率

然后用Bayes公式求后验概率,后验概率最大值的类别就是手写数字的所属类别。

三、所用仪器、材料(设备名称、型号、规格等或使用软件),

1台PC及MATLAB软件

四、实验方法(或:程序代码或操作过程) 手写数字特征的数据: %%创建训练样本库 clear all;clc; load templet;

%A被分成5*5=25个cell

-3-

%清屏

%注意A的size(长和宽都需被定义成5的倍数,因为后面要被5除) A=imread(‘8_1.bmp’);%读取手写数字的灰度图 Figure(1),imshow(A) %显示 B=zeros(1,25);

%创建1列25行的数组

%除以5得到25分之1的小格子

[row col]=size(A); cellRow = row/5 cellCol = col/5

基于类中心的欧式距离分类器: function y=euclid(sample); clc;

%清屏

%下载手写数字的特征

load templet pattern; d=0;

p=[];%各类别代表点 dmin=[inf,0];

êlculate 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;

-4-

end end

y=dmin(2);

基于概率统计的Bayes分类器: function y=bayesBinary(sample); clc;

%清屏

%下载手写数字的特征矩阵 %初始化sum %先验概率 %各类别代表点 %似然概率

load templet pattern; sum=0;

prior=[];% p=[];

likelihood=[]; P=[];

êlculate prior propability计算先验概率 for i=1:9

sum = sum+pattern(i).num; end for i=1:9

prior(i) = pattern(i).num/sum; end

êlculate likelihood propability计算似然概率 for i=1:9 for j=1:25 sum=0;

for k=1:pattern(i).num

-5-

本文来源:https://www.bwwdw.com/article/i5r2.html

Top