网络机器人吧社区

爸比,什么是机器学习,机器能是如何学习的呀?

架构师技术联盟 2018-11-09 15:02:41



选自“量子位”公众号,点原文链接看原文


      爸爸,什么是机器学习呀?


      难以回答!抓了抓开始脱发的脑壳,爸比还是被这个问题KO了。这个有些学术的问题,如何给孩子解答?


      近日,计算机科学博士Daniel Tunkelang就在Quora上回答了这个问题——下面一起来看看标准答案吧。

      不如我们由机器学习中的分类问题入手,教计算机学习哪些食物好吃,哪些难吃。和人类不一样,计算机没有嘴巴,不能品尝食物。所以,我们需要用很多食物样例(标记的训练数据)教会计算机。这项样例中有美味的食物(正例),也有恶心的(负例)。对于每个被标记的示例,我们给计算机提供了描述食物(特征)的方法。


      正例被标记为“美味”,比如巧克力冰淇淋、披萨、草莓等。负例被标记为“恶心”,比如凤尾鱼、花椰菜和球芽甘蓝。


      在真正的机器学习系统中,你可能需要更多的训练数据,但3正3负的例子够我们了解概念了。

      现在,我们需要一些特征。不妨就将这些样例设置为甜、咸和蔬菜三个特征,因为为二元特性,所以每种食物的每个特征都被赋予“是”或“否”的值。

      有了这些训练数据后,计算机的工作就是从这些数据中总结一个公式(模型)。这样,当它会遇到新食物时,它能根据模型决定食物是美味还是恶心的。


      一种模型是点系统(线性模型)。如果具备每个特性,就会得到一定分数(权重),如果不具备就没有分数。然后,模型将食物的点数加起来,得到最终分。


      模型里有一个分界点,若得分高于分界点,模型就判定食物美味;如果分数低于分界点,就判定为难吃。


      根据训练数据,模型中的特征分可能会被设置为甜3分,咸1分,松脆1分,蔬菜为-1分。则巧克力、冰淇淋、披萨、草莓、凤尾鱼、花椰菜、和球芽甘蓝在模型中的得分如下:

      权重让选择分界点更容易,因为正例都得分≥2,负例得分≤1。


      总能正确找到权重和分界点不太容易。即使找到了,最终可能会得到一个只适用于这个训练数据的模型,但当我们用新例子时,模型效果就没这么好了(过度拟合)。


      理想的模型不仅在训练数据中正确率高,在新例中仍然有效(泛化)。通常,简单模型比复杂模型(奥卡姆剃刀)更容易一般化。


      我们可以不使用线性模型,构建决策树也是个好方法。在决策树中,只能问能用“是”和“否”回答的问题。用训练数据让决策树答对并不难,在这个示例中训练数据是这样利用的:


   这是蔬菜吗


  • 如果是,则难吃。

  • 如果不是,那它是甜的吗?

    • 如果是,则好吃。

    • 如果不是,那它是松脆的吗?

      • 如果是,则好吃。

      • 如果不是,则难吃。


      如同线性模型,我们需要担心过度拟合,不能让决策树太深。所以这意味着最终可能会有一个模型,虽然在我们的训练数据上会犯错,但能对新数据更好泛化。希望孩子能听懂这个机器学习的解释。



温馨提示:
请搜索“ICT_Architect”“扫一扫”下面二维码关注公众号,获取更多精彩内容。

专注做一个有情怀的技术分享平台

Copyright © 网络机器人吧社区@2017