赞
踩
一直以来总感觉手写体识别并不适合作为机器学习开篇的基础认知讲解。终究觉得它还不够那么的直观和形象的解释清楚机器学的过程和数据、算法以及模型之间的关系。引出一个象形直白简单的例子教大家如何区分数据、算法、模型之间的关系。希望能够帮到初学者。
相比于一上来就去理解手写体汉字的识别程序和过程,我觉得还是有必要进行一些前期的导入学习更有利于对这个过程的理解和消化。 妈妈教孩子认字,那一个个的汉字就是数据,妈妈教孩子的过程就是训练的过程,妈妈用的方法就是算法,孩子最后就成了一个能够认识不同字的模型。
首先每个汉字有不同的形态,这些偏旁、部首就是汉字的特征,妈妈给孩子讲解每个汉字的这些特征,让孩子识记的过程就是一个训练的过程。妈妈用的教育方法就是训练过程中使用到的算法,比如告诉孩子哪个汉字具体有哪些特征,什么样的特征是这个汉字,什么特征不是这个字,这就是监督学习过程,告诉孩子对错和判断的标准(主要的数据特征),并通过孩子的反馈不断地纠正孩子的错误来纠正孩子的认知,从而使得孩子能够不断的提高识字的准确程度(前向传播和反向纠错),这个算法也就是监督学习算法。
孩子经过妈妈的一番教导和不断地纠正错误(训练过程)最后终于有了自己相对稳定的判断(模型本身)可以识别不同的汉字了。但是还有还时会不时认错字(误差),这就是训练过程不可避免的存在误差。即便是人本身也不可能事事都能百分之百做对、做正确,金无足赤,人无完人,机器亦是如此。
从上边的过程可以看出,妈妈教孩子识字的过程就是一个机器学习的过程,繁多的汉字作为训练的原始数据集,孩子就是已经定义好的模型结构(这个没得选),妈妈的教育过程就是一个有监督的数据训练的过程,孩子的反馈和妈妈的纠正属于前向传播和反向传播的算法执行过程,最终孩子学会了识记各种汉字,直白点孩子此时本身就是一个识别汉字的模型。
经过以上讲解,是否get到了,数据,算法,模型之间的关系呢?希望能够帮助到你的理解,分享快乐!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。