移动端AI与ML应用开发:基于iOS和Android
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.3 机器学习与传统编程的比较

回顾图1-3的传统编程,现在让我们更新它,给定你刚刚看到的内容,以显示机器学习和传统编程之间的区别。早些时候,我们将传统编程描述如下:找出给定场景的规则,用代码表达它们,让代码对数据进行操作,然后得出答案。机器学习非常相似,只是其中一些过程被颠倒了。具体情况如图1-7所示。

图1-7:从传统编程到机器学习

正如你所看到的,这里的主要区别在于,使用机器学习,你不用搞清楚规则!相反,你提供答案和数据,机器会为你找出规则。在前面的例子中,我们为某些给定的x值(也就是数据)提供了正确的y值(也就是答案),然后计算机计算出使xy相匹配的规则。我们没有做任何几何、斜率计算、截距或类似的事情。机器计算出xy相匹配的模式。

这是机器学习与传统编程之间的核心和重要区别,也是机器学习带来的所有兴奋的原因,因为它开辟了全新的应用场景。这方面的一个例子是计算机视觉——正如我们之前讨论的那样,试图编写规则来找出T恤和鞋子之间的区别是非常困难的。但是让计算机计算出一个东西如何与另一个东西匹配则很有可能,从这里开始,更重要的场景——例如解释X射线或其他医学扫描、检测大气污染等——成为可能。事实上,研究表明,在许多情况下,使用这些类型的算法以及足够的数据,可以使计算机在特定任务的完成上与人类一样好,有时甚至比人类更好。如果想找点乐子,请查看这篇关于糖尿病视网膜病变的博客文章(https://oreil.ly/D2Ssu),其中Google的研究人员在视网膜的预诊断图像上训练了一个神经网络,让计算机找出每个诊断的决定因素。随着时间的推移,计算机在能够诊断不同类型的糖尿病视网膜病变方面变得顶级好了!