芒果购物
假设你有一天去芒果购物。供应商已经布置了充满芒果的车子。您可以选择芒果,供应商会称重它们,您按照每公斤固定的卢比(印度的典型故事)支付费用。显然,你想为自己挑选最甜蜜,最成熟的芒果(因为你是通过体重而不是质量的)。你如何选择芒果?
你还记得你的祖母说明亮的黄色芒果比淡黄色芒果甜。所以你做一个简单的规则:只从明亮的黄色芒果中挑选。你检查芒果的颜色,选择明亮的黄色,付钱,回家。美好的结局?
不完全的。
生活很复杂
假设你回家并品尝芒果。其中一些不喜欢你喜欢的。你很担心 显然,你的祖母的智慧是不够的。芒果不仅仅是颜色。
经过很多的思考(品尝不同类型的芒果)后,你得出结论,明亮的黄色芒果保证是甜蜜的,而较小的明亮的黄色芒果只有一半的时间是甜蜜的(即如果你买了100个明亮的黄色芒果,其中50个是大的,50个是小的,那么50个大芒果一切都会很甜蜜,而在50个小人物中,平均只有25只芒果会变甜。
你对你的发现感到满意,下次你去芒果购物时,请记住。但下一次在市场上,你看到你最喜欢的供应商已经离开了城市。您决定从不同的供应商那里购买,谁供应来自该国不同地区种植的芒果。现在,你意识到,你学到的规则(那个大而明亮的黄色芒果是最甜蜜的)不再适用。你必须从头开始学习。你从这个供应商那里品尝到各种芒果,并意识到,小而淡黄色的,其实是最甜蜜的。
现在,一个遥远的表亲来到另一个城市。你决定用芒果治疗她。但是她提到她不关心芒果的甜蜜,她只想要最多汁的。再一次,你经营你的实验,品尝各种芒果,并意识到更柔软的芒果更多汁。
现在,你转移到世界不同的地方。在这里,芒果的味道与您的祖国不同。你意识到,绿色芒果其实比黄色芒果好。
你嫁给一个讨厌芒果的人。她喜欢苹果。你去苹果购物。现在,你所有积累的关于芒果的知识是毫无价值的。您必须通过相同的实验方法,了解苹果的身体特征和味道之间的相关性。你这样做,因为你爱她。
进入计算机程序
现在,假设所有这一切,你正在编写一个计算机程序来帮助你选择你的芒果(或苹果)。你会写下面的规则:
如果(颜色鲜艳黄色,大小很大,最喜爱的卖家出售):芒果很甜。
如果(软):芒果多汁。
等
你会使用这些规则来选择芒果。你甚至可以给你的弟弟提供这个规则列表来购买芒果,你会放心,他只会选择你选择的芒果。
但是,每次您从实验中做出新的观察,您必须手动修改规则列表。你必须了解影响芒果质量的所有因素的错综复杂的细节。如果问题变得足够复杂,手工制定准确的规则可能会变得非常困难,涵盖所有可能的芒果类型。您的研究可以为您获得芒果科学博士学位(如果有)。
但并不是每个人都有这样的时间。
进入机器学习算法
ML算法是一种比普通算法进化的过程。它们使您的程序“更智能”,允许他们自动学习您提供的数据。
你随机选择市场上的芒果样本(训练数据),制作每个芒果的所有物理特征的表格,如颜色,大小,形状,种植在哪个国家的哪个供应商等等( 功能),以及芒果的甜蜜,多汁,成熟(产出变量)。您将这些数据提供给机器学习算法(分类/回归),并且学习一个平均芒果的身体特征与其质量之间的相关性模型。
下次您进入市场时,您可以测量销售芒果的特征(测试数据),并将其提供给ML算法。它将使用前面计算的模型来预测哪些芒果是甜美,成熟和/或多汁的。该算法可以内部使用类似于您先前手动编写的规则(例如, 决策树)的规则,或者可能会使用更多涉及的内容,但是您不必在很大程度上担心这些规则。
Voila,您现在可以非常信心地购买芒果,而不必担心如何选择最好的芒果的细节。此外,您可以使您的算法随着时间的推移而得到改进(强化学习),以便在读取更多的训练数据时提高准确性,并在错误的预测时进行修改。但最重要的是,您可以使用相同的算法来训练不同的模型,一种用于预测苹果,橘子,香蕉,葡萄,樱桃和西瓜的质量,并保持所有亲人的快乐:)
而且,是机器学习为你。是不是很酷