K近邻分类器(KNN)手写数字(MNIST)识别

KNN(K-Nearest-Neighbor) 是分类算法中比较简单的一个算法。算法思想非常简单:对于一个未知类别的样例,我们在很多已知类别的样本中找出跟它最相近的K个样本,赋予该样例这K个样本中占多数的类别。
KNN决策示例
如图中所示,如果我们选取K值为3,则将样本分类为三角形的类别。而如果K为5,则将样本分类为正方形的类别。这里也可以看出K值的选取很关键。

这里呢,我将用KNN做手写体数字的识别。另人惊异的是,用如此简单的算法也可以获得超过94%的识别准确率。
首先我先介绍一下我用的数据集MNIST,我有的是10500条已经标好类别的样本,我用其中500条做测试样例,用剩下10000条做训练集。其中每一个样本784 位0、1 加上一位类别组成,784位0/1 可以组成28*28的二值图。
训练样本示例

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值