1.2 机器学习算法的分类
在机器学习中,常用的算法可以分为监督型学习(supervised learning)和非监督型学习(unsupervised learning)①。
在监督型学习中,除了输入数据x外,我们还知道对应的输出y。我们的目标是构建一个函数f(x),使得f(x)能够预测输出y。
在非监督型学习中,我们只有输入数据x,没有对应的输出y。我们的目标是从数据中学习数据本身存在的模式(pattern)。例如,聚类分析(cluster analysis)就是一个非监督型学习的典型例子,它通过分析样本之间的相似度来将样本划分为几个不同的聚类。
在监督型学习中,输出y一般称为目标变量(target variable)或者因变量(dependent variable),而输入x称为解释变量(explanatory variable)或者自变量(independent variable)。
在实际中,在条件允许的情况下,我们偏好监督型学习。因为我们知道相应的目标变量的值,所以能够更加准确地构建模型,取得更好的效果。对于非监督型学习,在实际中,我们可以直接将其结果作为输出,但更多地是将其结果作为新的特征,再应用到监督型学习的算法中。例如,对于一组数据,可以先使用k均值算法对数据进行聚类分析,然后将聚类分析的结果作为新的特征。本书将主要讨论监督型学习。
在监督型学习中,一般将整个数据集分为训练集(training set)和测试集(test set)。利用训练集中的数据,可以构建相应的模型(model)或者学习器(learner)。利用测试集,可以估计所构建模型的性能高低。在数据集中,我们使用样本(sample)、数据点(data point)或实例(instance)来称呼其中的每个点。监督型学习可以进一步分为回归问题、分类问题等。我们将在1.3节利用具体的例子来介绍监督型学习。