1.2 机器学习的场景和任务
什么是机器学习模型,机器学习又能在什么场景下解决什么问题?
为了解释清楚这两个问题,我们需要先了解一下机器学习的大致流程,然后再来解释机器学习模型的问题。
特征是什么?简而言之就是一个事物异于其他事物的特点。而我们能够根据这些特点区分出这个事物与其他事物的不同之处。假设我们想让机器学习认识一只猫,我们就需要给机器一系列猫的数据样本,而且每一个样本都包含用于识别猫的关键特征,这些特征可以包含毛发颜色、体型大小、叫声等。然后为机器定义一套学习特征的方法,机器会按照这个方法,并根据猫的特征数据从数据当中提取出一些用于识别猫的关键“参数”,那么只要保证机器学习方法没问题,而且数据量足够大,最后就可以学习到识别猫的参数。以后我们就可以通过输入猫的照片,让机器学习系统及时给予人反馈,从而得出照片当中的动物是不是猫的结论。
需要注意的是,这里有一个语境问题。当我们讨论机器学习算法的时候,有可能会把这些机器学习算法称为机器学习模型。当讨论训练和预测的时候,我们把使用机器学习算法训练出来的参数文件称为模型,后面为了便于讨论,我们会把机器学习的结果叫作模型参数文件。
所以我们可以将一个机器学习模型看成一个黑盒子,在数学建模时代,我们除了必须非常清楚这个盒子里面的构造外,还要知道盒子中每个零件的参数是怎么来的。而现在我们只需要设定这个盒子的基本结构,至于零件的参数则让机器自己去学习,我们也不知道这个参数的具体学习过程。
那么,这个机器学习模型可以用来完成什么任务?
第一类问题叫作分类(classification),和前面猫的例子类似,我们再举一个例子。假设我们知道某个鸟的各个特征,现在要根据这些特征确定这只鸟属于哪种鸟类,这就是所谓的分类问题。首先,我们要收集能收集到的所有的鸟类信息,包括鸟的各种特征以及鸟的种类,其中颜色、体重、翅膀等属性都属于特征,而种类则是鸟的标签。其次,我们建立的机器学习的目的就是让用户输入一个鸟的特征,然后输出这个鸟的种类,也就是对应的标签。这个过程就是一个根据鸟的属性分类的过程,只不过是由计算机自动完成的。
第二类问题是回归(regression),比如我们根据病人的身高、体重等各种表征信息预测这个病人的血糖浓度。血糖浓度是一个数值,表征信息属于特征,也是数值,这种对数值型数据的预测称之为“回归”。回归的学习过程就是收集每个病人的体征与其血糖浓度,然后通过回归学习得出一个模型,这样用户只要输入他的体征就可以计算出自身的血糖浓度。
我们发现,这两类问题不仅需要提供原始数据里的“特征”,还要提供每个样本的结果,也就是“目标”。机器所要学习的正是从特征到目标之间的映射关系。
这种机器学习方法,我们称之为监督学习(supervised learning)。
总的来说,机器学习模型被用来解决两大类任务:分类、回归。
我们在这里第一次提出监督学习的概念。那么有监督学习,自然就有无监督学习(unsupervised learning)。无监督学习指的是我们只需要提供样本的特征数据(比如上述例子中鸟的颜色、体重等),然后交给机器训练,不需要提供任何标签和对应结果。无监督学习中的典型任务就是“聚类”。比如,有一批鸟的特征样本,却不知道每只鸟对应哪个类别,而任务就是通过机器学习来计算得出鸟所属的类别。最终训练得到的模型的作用是,从样本中输入一只鸟的信息,通过机器学习模型预测得出这只鸟和训练数据里哪些鸟属于同一类,这就是所谓的聚类问题。由于在我们现实当中收集的很多数据都没有对目标进行标注,因此聚类算法不仅可以用于预测,还可以用于监督学习的数据预处理,也就是预先给数据打上标签,这是非常重要的一个实际应用。
机器学习的实际应用场景十分广泛,包括图像处理、语音处理、自然语言处理以及需要综合应用大量技术的场景,这里每一个方向都是一个需要深入研究的方向,每个方向之间有关系又有区别。