上QQ阅读APP看书,第一时间看更新
1.1 什么是机器学习
在深入了解ML之前,让我们思考一下它是如何从传统编程发展而来的。我们首先查看什么是传统编程,然后再思考它的局限性。之后我们会看到ML如何演进来解决这些问题,并因此产生了一些新的机会来实现这些新的应用场景,解锁了众多人工智能的概念。
传统编程需要我们用一种编程语言来编写规则,然后处理数据,并给出答案。这种方法只适用于所有可以通过编写代码来实现事物的情况。
例如,以Breakout这一游戏为例。代码决定了球的移动、分数和游戏中不同情况下的输赢。思考小球从一块砖上弹开的场景,如图1-1所示。
图1-1:编写一个Breakout游戏
这里,小球的运动通过它的dx
和dy
属性决定。当它碰到一块砖时,这块砖被移除,小球的速度提高并改变方向。这段代码处理有关游戏状态的数据。
你也可以考虑一个金融服务的场景。你有关于公司股票的数据,例如它当前的价格和目前的收益。你可以通过图1-2中的代码计算其P/E(价格除以收益)。
图1-2:编写金融服务代码
你的代码读入价格,读入收益,然后返回前者除以后者的值。
如果我们试图将传统编程总结为一个单独的图形,它可能看起来像图1-3。
图1-3:传统编程的高级视图
如你所见,你有通过一种编程语言表示的规则。这些规则处理数据,并将答案作为结果返回。