机器学习算是人工智能的一个分支,所以让我们从人工智能说起。
精确定义人工智能很难,大概就是机器获得了类似人类的智慧,甚至成为了超人:
很长的一段时间人工智能只是一个幻想,直到20世纪40年代电脑的出现,才有一批科学家开始严肃地探讨实现的可能性。经过快一个世纪的努力,逐渐取得了一些成果,比如自动驾驶:
比如两足机器人:
当然,这些离人工智能的完全体还差之甚远,需要我们继续加油接力。
刚才提到的自动驾驶要不断观察周围的环境,以及判断观察到的是障碍还是道路,这需要“机器视觉”和“机器学习”;两足机器人必须不断调整身体的平衡,这就是“自动化控制”。这些都是人工智能的分支,除此之外还有很多(下面列举的只是冰山一角):
我们的课程会关注其中一个分支,“机器学习”。
下面再详细解释下自动驾驶,方便我们进一步理解“机器学习”到底是什么?
自动驾驶中需要通过“机器视觉”不断看到周围的物体:
然后通过“机器学习”来辨识出这些物体是什么。比如识别出人(person)、车(car)、交通灯(traffic light)等等:
学会辨识图片的过程是这样的,比如输入大量的车辆的图片给机器“学习”(具体怎么学,就是本课程所要探讨的),最后它就会知道这些图片代表的是车(car):
这个过程和人类的学习过程类似,所以称为机器学习。
“机器学习”最重要的是“预测”,比如刚才通过大量的图片学会什么是车后,再来一张没有见过的车辆的图片,我们希望机器可以做出正确的判断:
因此“机器学习”包含两个部分,这也是我们课程最关心的两个部分:
如果要解决的问题符合以下三条,可以考虑运用机器学习:
下面还是借助自动驾驶的例子来解释下这三条。
各种车之间是存在共同之处的,也就是存在某种模式的,这样才具备学习的可能性。所以在“自动驾驶”的例子中,才可以通过学习已知的图片来判断未知的图片:
车辆之间存在的模式不容易直接定义,也就是很难清楚地定义到底什么是车。假如定义车有四个轮胎,但实际要复杂得多,比如下图中右侧有一辆红车被遮挡了一半,只能看到两个轮胎:
很显然,有足够多的汽车照片可以帮助机器找出该模式的:
举个例子吧(课程中有更多的例子),比如行星的运行轨道适合用机器学习来预测吗?
我觉得应该是不适合的。因为:
总结下,机器学习是人工智能的一个分支。它包含两个重要步骤,先通过已有数据来训练,然后对未知数据进行预测,这和人类学习的过程类似:
当要解决的问题符合以下三条,可以考虑运用机器学习: