1.1.1 监督学习与无监督学习
监督学习的任务是学习一个模型(也可以理解为一个映射函数),使模型能够对任意给定的输入生成一个相应的预测输出。模型的输入为随机变量X,输出为一个随机变量Y。每个具体的输入都是一个实例,由一个特征向量x表示,实例对应的输出由向量y表示。我们将所有可能的输入特征向量构成的集合称为特征空间(输入空间),将所有可能的输出向量构成的集合称为输出空间。一般输出空间的大小远远小于输入空间。监督学习的本质是学习从输入到输出的映射的统计规律。
我们列举3种常见的监督学习任务——回归、分类和标注,它们主要的区别在于变量的取值类型。
1)当输入变量和输出变量均为连续值变量时对应回归任务,它主要用于学习输入变量和输出变量之间的数值映射关系。常见的回归任务有价格预测、趋势预测等。常见的处理回归任务的机器学习模型有最小二乘回归、非线性回归等。
2)无论输入变量是离散值还是连续值,当输出变量为有限个离散值时对应分类任务。分类任务是人们讨论和应用得最广泛的任务,它通常用于分门别类。常见的分类任务有图像类别识别、音频分类、文本分类等。常见的处理分类任务的机器学习模型有k近邻、朴素贝叶斯、决策树、逻辑回归、支持向量机、神经网络等。
3)当输入变量和输出变量均为变量序列时对应标注任务,它是分类问题的一种推广,用于学习输入序列和输出序列的映射关系。典型的标注任务有自然语言处理中的词性标注、信息抽取等。常见的处理标注任务的机器学习模型有隐马尔可夫模型和条件随机场等。
无监督学习和监督学习最大的区别就是有无标签信息。在监督学习中,训练模型的任务是学习输入特征x到标签y的映射,而无监督学习中只有样本的特征向量x,故无监督学习的任务是对数据进行深入“挖掘”,其本质是学习数据中的统计规律或潜在结构。对于无监督学习的深入研究对深度学习的复兴起到了关键的作用。
我们列举3种常见的无监督学习任务:降维、聚类、概率模型估计。
1)降维任务主要用于处理数据的高维度问题。真实数据的特征维度过大容易造成模型的拟合度与可用性降低,我们可以通过降维算法对高维度数据进行“压缩”,使之变成低维度向量,从而提高数据的可用性。常用的算法有主成分分析、因子分析、隐含狄利克雷分布等,早期的自编码器也可用于数据降维。
2)聚类任务主要用于将样本依据一定的规则进行类别分配,即通过衡量样本之间的距离、密度等指标,将关系“近”的样本聚为同一类,以此实现样本的自动分类。常用的算法有层次聚类、k-means聚类、谱聚类等。
3)在概率模型估计任务中,对于一个可以生成样本的概率模型,我们使用样本对概率模型的结构、参数进行学习,使得概率模型生成的样本与训练样本最相似。其中概率密度估计任务便是对随机变量X的概率密度函数p(X)进行学习,常用的算法有极大似然估计、生成对抗网络、变分自编码器等。这部分内容非常丰富,是本书关注的核心内容。
与无监督学习相比,监督学习除了拥有额外的标签信息外,还需要有测试样本。也就是说,机器学习模型在训练集中学习“规律”,然后对测试集使用这种“规律”来评价模型的效果。另外,无监督学习拥有比监督学习更好的拓展性,它能够在完成训练目标的同时,额外学习到样本的表示,而这些表示可以直接用于其他任务。
半监督学习是介于监督学习和无监督学习之间的一种方式,即只有小部分训练样本带有标签信息,而大多数训练样本的标签信息空缺。半监督学习包括直推和归纳两类模式。两者的区别在于需要预测标签的样本是否出现在训练集中。直推半监督学习只对给定的训练数据进行处理,它使用训练数据集中有类别标签和无类别标签的样本进行训练,预测其中无标签样本的标签信息;归纳半监督学习不仅预测训练数据集中无标签样本的标签,还预测未知样本的标签。半监督学习一般用于四类学习场景:半监督分类、半监督回归、半监督聚类、半监督降维。