如有有一天,你的小孩问:「爸爸,什么是机器学习呀?」

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

如有有一天,你的小孩问:「爸爸,什么是机器学习呀?」

作者:Daniel Tunkelang

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

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

近日,计算机科学博士Daniel Tunkelang就在Quora上回答了这个问题——

不如我们由机器学习中的分类问题入手,教计算机学习哪些食物好吃,哪些难吃。

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

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

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

如有有一天,你的小孩问:「爸爸,什么是机器学习呀?」

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

如有有一天,你的小孩问:「爸爸,什么是机器学习呀?」

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

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

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

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

如有有一天,你的小孩问:「爸爸,什么是机器学习呀?」

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

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

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

我们可以不使用线性模型,构建决策树也是个好方法。在决策树中,只能问能用“是”和“否”回答的问题。

用训练数据让决策树答对并不难,在这个示例中训练数据是这样利用的:

这是蔬菜吗?

如果是,则难吃。

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

如果是,则好吃。

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

如果是,则好吃。

如果不是,则难吃。

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

希望孩子能听懂这个机器学习的解释~

End.

转载请注明来自36大数据(36dsj.com): 36大数据 » 如有有一天,你的小孩问:「爸爸,什么是机器学习呀?」

随意打赏

提交建议
微信扫一扫,分享给好友吧。