⼿写数字识别实验报告_机器视觉学习笔记:基于Knn的简单 唐俊昌⼿写数字识别算法
Knn(k-Nearest Neighbor)学习是⼀种常⽤的监督学习⽅法,采⽤的"近朱则⾚,近墨则⿊"的思想,给定测试样本,基于某种距离度量出训练集中与其靠近的k个训练样本,然后基于k个"邻居"的信息来进⾏预测,通常⽤"投票法"来预测结果。 临汾地震Knn学习是"懒惰学习"的代表,它的训练阶段只是把样本保存起来,训练开销为0,待收到测试样本后再进⾏处理。
本⽂介绍⼀种Knn的简单⼿写数字识别算法,⾸先明确⼿写的数字是在128x128的画板上。
图1:⼿写⽰例
算法步骤:数字监控系统
1. 在128x128画板下绘制0-9各100张训练样本;
2. 归⼀化到32x32⼤⼩图像。
图2:⼿写⽰例
图3:归⼀化⽰例
3. 提取特征,这⾥只讲简单特征,提取图像的⽬标值和,图像上半部分⽬标之和,图像下半部分⽬标之和,第⼀个特征v1为上半和除以总和,第⼆个特征v2为下半和除以总和。 图4:总和全自动电脑针织机>矫正机
图5:上半和
图6:下半和
应对方式问卷
4. 将训练样本分别提取特征,做成1000x3的矩阵。第⼀列为特征v1,第⼆列为特征v2,第三列为类别,0-9的数字。
5. 测试样本按3提取特征v1,v2,与训练样本特征矩阵的前两列求距离,选出欧⽒距离最⼩的10组,统计他们的类别,最多的类别如⼤于5,则确定为该类别。
图7:识别