傍晚小街路面上沁出微雨后的湿润,和煦的细风吹来,抬头看看天边的晚霞,嗯,明天又是一个好天气。走到水果摊旁,挑了个根蒂蜷缩、敲起来声音浊响的青绿西瓜,一边满心期待着皮薄肉厚瓤甜的爽落感,一边愉快地想着,这学期狠下了工夫,基础概念弄得清清楚楚,算法作业也是信手拈来,这门课成绩一定差不了!
希望各位在学期结束时有这样的感觉。作为开场,我们先大致了解一下什么是"机器学习"(machine learning)。
回头看第一段话,我们会发现这里涉及很多基于经验做出的预判。例如,为什么看到微湿路面、感到和风、看到晚霞,就认为明天是好天呢?这是因为在我们的生活经验中已经遇见过很多类似情况,头一天观察到上述特征后,第二天天气通常会很好。为什么色泽青绿、根蒂蜷缩、敲声浊响,就能判断出是正熟的好瓜?因为我们吃过、看过很多西瓜,所以基于色泽、根蒂、敲声这几个特征我们就可以做出相当好的判断。类似的,我们从以往的学习经验知道,下足了工夫、弄清了概念、做好了作业,自然会取得好成绩。可以看出,我们能做出有效的预判,是因为我们已经积累了许多经验,而通过对经验的利用,就能对新情况做出有效的决策。
上面对经验的利用是靠我们人类自身完成的。计算机能帮忙吗?
[Mitchell,1997]给出了一个更形式化的定义:假设用来评估计算机程序在某任务类上的性能,若一个程序通过利用经验在中任务上获得了性能改善,则我们就说关于和,该程序对进行了学习。
机器学习正是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,在计算机系统中,"经验"通常以"数据"形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生"模型"(model)的算法,即"学习算法"(learning algorithm)。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时(例如看到一个没剖开的西瓜),模型会给我们提供相应的判断(例如好瓜)。如果说计算机科学是研究关于"算法"的学问,那么类似的,可以说机器学习是研究关于"学习算法"的学问。
例如[Hand et al.,2001].本书用"模型"泛指从数据中学得的结果。有文献用"模型"指全局性结果(例如一棵决策树),而用"模式"指局部性结果(例如一条规则)。