收藏 分享(赏)

knn及决策树算法在手写数字识别中的应用.doc

上传人:无敌 文档编号:144704 上传时间:2018-03-22 格式:DOC 页数:5 大小:93.50KB
下载 相关 举报
knn及决策树算法在手写数字识别中的应用.doc_第1页
第1页 / 共5页
knn及决策树算法在手写数字识别中的应用.doc_第2页
第2页 / 共5页
knn及决策树算法在手写数字识别中的应用.doc_第3页
第3页 / 共5页
knn及决策树算法在手写数字识别中的应用.doc_第4页
第4页 / 共5页
knn及决策树算法在手写数字识别中的应用.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、kNN 及决策树算法在手写数字识别中的应用 郭明昭 河南省郑州市第四中学 摘 要: 随着人类社会进入信息化时代, 机器学习在诸多学科得到广泛的应用并取得了重要成果。机器学习的众多算法各有优劣, 而选择合适的算法与参数配置有助于得到更好的模型。本文将采用 k NN 算法及决策树算法对手写数字识别问题展开研究, 并根据两种算法的特点对结果进行分析。关键词: 机器学习; KNN 算法; 决策树; 作者简介:郭明昭, 男, 汉族, 河南郑州人, 研究方向为机器学习。一、机器学习现状研究及重要性当今社会科技发展迅速, 互联网渐渐普及, 人们为了能更高效地利用信息、发明了很多方法, 其中属于人工智能新生范

2、畴的机器学习得以迅速发展。运用机器学习时, 学习者不需要任何推理或了解掌握其他知识, 只需直接收集大量的信息, 并使用已构建好的程序便可实现。机器学习算法很多, 虽然可以通过不同的算法来解决同一个问题, 但最终结果却可能不尽相同。因为每种算法都有它的局限性与优点, 因此空谈一种算法的好坏是没有实际意义的。本文将讨论用 KNN 与决策树两种不同算法去解决手写数字识别时的区别, 并研究两种算法针对数字识别的各自的优点二、KNN 与决策树算法介绍(一) k-邻近算法概述与原理KNN 算法是机器学习中比较简单的算法之一, 它的主要优点是其精度高并对异常数值不敏感, 它主要是利用测量不同特征值之间距离进

3、行归类。具体来讲, 第一步, 在一个样本中, 先确定测试对象同时计算它与训练数据中的每个对象之间的距离;第二步, 选择距离最近的 k 个训练对象;最后, 根据这 k 个训练对象所对应的类别来进行分类。(二) 决策树算法决策树的起源是由 Quinlan 在 1986 年提出的 ID3 算法。它的原理非常简单对一个样本中的数据进行分类, 分类后的数据被引到下一个判断模块进行判断, 循环往复, 直到得出结论便可以终止运行。如果说 KNN 算法的缺点之一是无法解释各个数据的含义, 然而这便是决策树算法的优势所在。不光如此, 决策树的优点还体现在计算的复杂程度不高、得出结论易于理解、分类精度高等。决策树

4、算法包括 ID3、c4.5、CART 等算法, 本文研究将以 ID3 为基础。(三) 实验误差及验证方法预测的值 f (x) 和输入 x 的实际值并不总是相同的, 那么预测误差的程度需要通过损失函数 (loss funchtion) 来测量。其中, 比较常用的有四种:0-1 损失函数:平方损失函数:绝对损失函数:对数损失函数:而模型 f (X) 关于训练数据集的平均损失称为经验风险 (empirical risk) :训练误差是模型关于训练数据集的平均损失测试误差是模型关于测试数据集的平均损失当损失函数是 0-1 损失时, 测试误差就变成了常见的测试数据集上的误差率。根据以上公式我们便可求出两

5、种不同算法的准确率, 在验证时, 选取的主要验证方法是交叉验证法, 最常见的交叉验证法有三种:S 折交叉验证、简单交叉验证、留一交叉验证。在这次实验中主要运用的是简单交叉验证。三、基于 KNN 算法的手写数字识别系统收集数据(一) 处理数据在实现 KNN 算法前我们首先要处理数据, 即将图像转化为测试向量以便于处理图像信息。之后我们需要计算数据集中点与点之间距离。距离度量用到的是 Lp距离, 称闵可夫斯基距离。为了方便运算, 这里 p 的值取 1 即曼哈顿距离。(二) 训练算法作为第一次实验, 暂时将 k 值定为 1 即采用最临近法。运行手写数字识别程序, 遍历完 810 个数据最终得出错误率

6、为 0.013, 也就是说其中大概 98%的数据都识别正确。至此, 便初步完成了手写数字识别系统, 但是 k 的值取多少时才能使程序得出的结果最为精确呢?(三) k 值的研究下表给出了在 k 小于等于 10 时每个 k 值所对应的错误率。从图表中我们可以看出, k 的取值不同时得到的错误率是不同的, 同时也可以得出当 k 等于 3 时错误率最低, 所以使 k 等于 3 时最为精确。四、基于决策树算法的手写识别系统(一) 处理数据分析“0、1、2、3、4、5、6、7、8、9”10 个阿拉伯数字, 选取它们的特征属性:A 是否有圆圈、B 圆圈数量、C 除圆圈外是否含别的组成、D 是否含“横”、E

7、是否含“竖”、F 笔画数。将 10 个阿拉伯数字与这六个特征属性相对应, 我们便可得到数据集:(二) 构建决策树首先需要求出信息增益。信息增益就是划分数据前与划分数据后信息的变化, 因为此次试验我们用到的是 ID3 算法, 而在 ID3 每次划分中信息增益最高的特征属性就是最好的选择。求信息增益的方法:设训练数据集是 D, |D|代表样本的数量。设有 K 个类 Ck, k=1, 2, , K, |Ck|为属于类 Ck 的样本个数。根据特征 A 将 D 划分为 n 个子集 Di, |Di|为 Di 的样本个数, |Dik|为子集 Di 中属于类 Ck 的样本的个数。数据集的熵计算特征 A 对数据

8、集 D 的条件熵 H (D|A) 信息增益在划分数据集时, 每一次划分中信息增益最高的特征属性即为最好的选择, 然后遍历所有的数据, 得到最好的数据划分方法。(三) 测试并使用算法构建树的主要步骤是:输入原始数据集、再通过信息增益区划分数据集、每划分一次后数据都会被传送到下一分支进行再次划分不断重复最终得出一个完整的树。最后进行测试, 并可使用 Matplotilb 绘制出树形图。这便完成了整个算法的构建, 为了能更好地判断两种算法的优点与不足, 还需测得决策树算法所得出的错误率约为 0.084。五、总结由上述两组实验得出了基于 knn 和决策树算法的手写识别系统的错误率, knn的错误率最低

9、为 0.0116 而决策树的为 0.084。对于决策树算法正确率较低的原因有很大可能由特征属性的确定和数字书写不规范所导致的, 例如, 一些数字9 中上面的圆没有封口, 因而使特征属性 A 和特征属性 B 的值出现错误而被识别为 4。由此可以看出, 一些类似书写不规范的问题对 knn 算法的影响要远远小于对决策树算法的影响, 这也体现了 knn 算法对异常数据不敏感的优点。根据分析对于手写为数字识别问题, knn 算法体现的优点是简便易行、对于一些书写不规范的数字仍然能较为准确地得出结论, 缺点是是耗时较长。由此看来, 对于手写数字识别来说, 无论是从正确率来看或从难易程度来看都是 knn算法更胜一筹。参考文献1Nogami Y.Possible existence of KNN bound statesJ.Physics Letters, 1963, 7 (4) :288289. 2时恩早.基于向量投影的 KNN 快速手写阿拉伯数字识别J.科技通报, 2013 (12) :127-129. 3Quinlan J R.Induction on decision treeJ.Machine Learning, 1986, 1 (1) :81-106. 4姜文理, 王卫, 孙正兴.基于决策树的快速在线手写数字识别技术J.计算机科学, 2006, 33 (09) :207-210.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报