了解什么是机器学习?为什么需要机器学习?
一、什么是机器学习?
字面上,「机器学习」可以拆分为两个词:机器、学习。
那么,简单理解:机器学习就是让机器去学习?
的确是这样的,但是我们学习的目的是什么?我们学习是为了能够掌握某种能力或者技巧。
机器学习也一样!所以从广义上来说,机器学习可以理解为:让机器通过学习,具有某种能力。
现在,我们来回忆一下人类的学习过程。
想象这样一个场景:你有一个半岁的小孩,你现在需要教你的小孩识别苹果、香蕉。
这里面涉及到一个学习的过程:首先,你会向小孩展示苹果和香蕉,并且告诉他:这个圆圆的是苹果,长长的是香蕉。然后,你会重复这个过程无数遍!最终,你的小孩具有了识别苹果和香蕉的能力。
想让机器通过学习,掌握识别苹果和香蕉的能力。首先,我们也需要反复多次的告诉它什么是苹果,什么是香蕉。
与人类小孩学习过程不同的是,机器学习是从数据中提取知识。
所以,我们需要将苹果和香蕉数据化,比如:大小、形状、颜色。我们整理出成百上千的苹果、香蕉数据,最后输入电脑,再利用某个神奇的算法处理这些数据,电脑会基于这些数据生成一个文件,这个文件,我们称之为"模型"(可以理解为人类学习后的记忆或者总结出的经验)。
算法利用数据生成模型的过程,我们称之为"训练"。训练是一个持续反复的过程,就如人类学习,需要不断记忆、不断总结。
最后,我们再将新的苹果或者香蕉数据输入,计算机利用模型就能判断出是苹果还是香蕉。
所以,从实践的意义上来说:机器学习(machine learning,缩写ML)是一种基于数据,通过算法,训练出模型,让程序可以基于模型预测结果的一种方法。
二、为什么需要机器学习?
在"智能"应用的早期,还没有机器学习。当时许多"智能"系统,其实并不是我们想象中的那么智能!
机器学习之前,许多看上去智能的系统,内部采用的是人为制定的条件决策规则来处理某些智能逻辑。比如:一个早期的电影推荐系统
如果,看了"钢铁侠":
推荐"复仇者联盟";
否则:
推荐"喜羊羊"吧;
对应到程序代码中,这样的逻辑就是"if-else"条件选择。早期这样的"智能"系统中,往往会包含很多很多的"if-else"。毕竟条件越多,推荐越准确~
好在计算机与人相比,计算机记忆力超强、运算速度超级快。成百上千的条件选择也能轻松记住,并且快速计算,给出结果。
这种人为制定规则的方法并不适用所有场景。比如:人脸检测、指纹解锁等。
如今,每台智能手机都能检测人脸或者指纹。对于图像的识别,计算机感知的是像素(像素组成了计算机中的图像),与人类感知图像的方式完全不同。所以,人类想要制定出一套好的规则来描述图像构成,基本上是不可能的!
这时候机器学习就应运而生了。我们仅仅通过向程序输入成千上万的人脸图像,就可以让计算机识别出人脸特征,从而区分每一个人。
END.
系列文章:
本系列文章后期不定时更新,后续内容会首发在我的公众号上。微信读者,可以搜一搜:【程序员的一天】,即可关注!
另外,每一个关注、点赞,都是极大支持和鼓励。最后,非常感谢阅读本系列文章。
网友评论