Python机器学习入门与实战
上QQ阅读APP看书,第一时间看更新

1.1 做第一个吃螃蟹的人——理解机器学习

这里首先要认识一下机器学习,换句话说,要知道什么是机器学习。

其实机器学习很像人类的思考过程。比如人人称道的“第一个吃螃蟹的人”,连鲁迅都称道:“第一次吃螃蟹的人是很可佩服的,不是勇士,谁敢去吃它呢?”。遇到一种不认识的生物,8条腿,还有很硬的甲壳,用螯伤人,如何知道这样的生物有毒没毒?如何知道它蒸熟了是否是一种美味呢?传统的思维方法可以这样理解,如图1.2所示。

图1.2 吃螃蟹的人传统的思维方法

图1.2中所显示出来的逻辑就是模拟的吃螃蟹的人遇到不明生物的思维或想法,其实普通人也都是这样思考的。关键的问题来了,蟹的种类不止一种,个头大小也不是统一按照国际标准来生长的,如河蟹、石蟹、青蟹、花蟹、大闸蟹、梭子蟹、籽蟹、红蟹和面包蟹等,个头大的还有帝王蟹。所面对物品的特征不同,人的反应就会有各种各样的不同,不再只是“逃跑”和“斗争”。社会发展了,“拍个照发个朋友圈”也是有可能的。如果遇到的是蘑菇,不一定都是能吃的,这么多的特征和反应,用传统的思维方法处理这些因素错综复杂的细节很困难。当遇到的特征越复杂,人要选择规则就越困难,计算起来也越吃力,更不要说记住所有生物的特征才能更好地应对,对学过程序的人来说,就相当于遇到了若干个elif语句。

机器学习算法恰恰就是由前面的普通算法演化而来的。机器学习就是让机器自动从提供的数据中去学习,然后变得智能,也就是让程序变得“聪明”。比如对磨菇来说,机器学习研究问题的流程如图1.3所示。

图1.3 关于蘑菇的机器学习原理

由图1.3中所示的机器学习原理可知,为众多具备蘑菇特征的训练数据提供一个机器学习算法,然后它就会学习出一个关于蘑菇的特征和它是否有毒的关系模型。下次在深山老林中采蘑菇,面对一种没见过的蘑菇时,机器学习就会把它当成测试数据,然后将其输入这个训练好的模型,模型会直接输出这个蘑菇是有毒的还是没毒的。有了这个模型,童话中的采蘑菇的小姑娘也可以满怀自信地去采蘑菇,并判断哪些蘑菇是有毒的,哪些蘑菇是没有毒的。也许这个小姑娘也会把蘑菇的模型推广成苹果的模型,童话中的白雪公主也就不会很鲁莽地吃掉一只毒苹果。

机器学习就是用机器学习的算法来建立模型进行学习,当有新的数据出现时,可以通过模型来进行预测。