2.2 监督学习和无监督学习
给定输入或特征向量x,机器学习的主要目标之一是预测输出或响应变量y。例如,x可以是一个数字化签名,y可以是表示签名真假的二进制变量。再比如,x代表孕妇的体重和吸烟习惯,y代表婴儿的出生体重。尝试将进行这种预测的数据科学编码为数学函数g,该函数称为预测函数,它将x作为输入,并输出y的猜测值g(x)(可以用表示)。在某种意义上,排除偶然性和随机性的影响,g包含了变量x和y之间关系的所有信息。
在回归问题中,响应变量y可以取任意实数。相比之下,当y只能在y∈{0,…,c-1}这样的有限集合中取值时,对y的预测在概念上等同于将输入x划分为c个类别之一,因此预测问题就变成了分类问题。
我们可以使用损失函数来衡量预测值相对于给定响应y的准确性。在回归问题中,常用的损失函数是平方误差损失。在分类问题中,经常使用0-1损失函数,它表示预测类别不等于实际类别y时产生的损失为1。本书后续章节将介绍各种有用的损失函数,如交叉熵和铰链损失函数(见第7章)。
误差通常用来衡量真实目标y和它的某个近似值之间的距离。如果y是实值,绝对误差和平方误差都是公认的误差概念,向量的范数和平方范数也是如此。平方误差只是损失函数的一个例子。
任何数学函数g都不可能对自然界中遇到的所有(x,y)做出准确的预测。原因之一是,即使是相同的输入x,输出y也可能不同,这取决于偶然情况或随机性。因此,我们采用概率方法,假设每一对(x,y)是具有某种联合概率密度f(x,y)的随机数对(X,Y)的结果。然后,我们通过g的期望损失(通常称为风险)来评估预测性能:
例如,在使用0-1损失函数的分类问题中,风险就等于错误分类的概率:ℓ(g)=P[Y≠g(X)]。在这种情况下,预测函数g称为分类器。给定(X,Y)的分布和任意损失函数,原则上可以找到产生最小风险ℓ*:=ℓ(g*)的最佳函数估计g*:=argmingELoss(Y,g(X))。在第7章,我们将看到某个分类问题,其中y∈{0,…,c-1},ℓ(g)=P[Y≠g(X)],它有:
其中,f(y|x)=P[Y=y|X=x]是指X=x的情况下Y=y的条件概率。如前所述,对于回归问题,最常用的损失函数是平方误差损失。在这种情况下,最佳预测函数g*通常称为回归函数。定理2.1给出了它的确切形式。
定理2.1 平方误差损失的最佳预测函数
对于平方误差损失,最佳预测函数g*等于给定X=x情况下Y的条件期望:
g*(x)=E[Y X=x]
证明 设g*(x)=E[Y|X=x]。对于任意函数g,平方误差风险满足
E(Y-g(X))2=E[(Y-g*(X)+g*(X)-g(X))2]
=E(Y-g*(X))2+2E[(Y-g*(X))(g*(X)-g(X))]+E(g*(X)-g(X))2
≥E(Y-g*(X))2+2E[(Y-g*(X))(g*(X)-g(X))]
=E(Y-g*(X))2+2E{(g*(X)-g(X))E[Y-g*(X)|X]}
在上面的等式中,我们使用了期望的塔性质。根据条件期望的定义,我们有E[Y-=0。由此可见,E(Y-g(X))2≥E(Y-g*(X))2,表明g*具有最小的平方误差风险。
定理2.1的一个推论是,在X=x的条件下,(随机)响应Y可以写作
式中,ε(x)可以看作在x点响应与其条件均值的随机偏差。这个随机偏差满足Eε(x)=0。此外,对于某些未知的正函数v,x点处响应Y的条件方差可以写成Varε(x)=v2(x)。注意,一般情况下,ε(x)的概率分布是不确定的。
由于最佳预测函数g*依赖于典型的未知联合分布(X,Y),在实际中并不可取。相反,我们所能得到的是来自联合密度f(x,y)的有限数量的独立(通常是独立的)实现。我们用T={(X1,Y1),…,(Xn,Yn)}进行表示,并称之为有n个样本的训练集(T是Training的助记符)。区分随机训练集T及其确定的结果{(x1,y1),…,(xn,yn)}非常重要,我们将使用符号τ表示后者。当我们想强调训练集的大小时,将在τ中添加下标n。
因此,我们的目标是使用训练集T中的n个样本来“学习”未知的g*。我们用gT来表示根据某种标准从训练集T构造的g*的最佳近似函数。注意,gT是随机函数,其结果可以用gτ表示。使用老师-学生的关系来比喻比较恰当,函数gT是从训练数据T中学习未知函数关系g*:的学生。我们可以想象一个“老师”,老师提供具有输出Yi与输入Xi(i=1,…,n)对应关系的n个样本,从而“训练”学生gT对新的输入X进行预测,而正确的输出Y(未知的)老师并没有提供。
上述情景称为监督学习,因为学生是在老师的监督下尝试学习特征向量x和响应y之间的函数关系。通常来说,y是基于x的解释或预测,其中向量x是解释变量。
监督学习的一个例子是垃圾邮件检测。目标是训练学习器gT准确预测未来的电子邮件是不是垃圾邮件,邮件使用特征向量x表示。训练数据由许多不同电子邮件的特征向量以及相应的标签(“垃圾邮件”或“非垃圾邮件”)组成。例如,在一封给定的电子邮件中,特征向量可以是“免费”“销售”或“错过”等推销术语出现的次数。
从上面的讨论可以看出,如果知道条件概率密度函数,那么监督学习中的大多数问题都可以得到答案,因为我们原则上可以求出函数值g*(x)。
相比之下,无监督学习没有区分响应变量和解释变量,其目标是学习未知数据分布的结构。换句话说,我们需要学习f(x)。在这种情况下,g(x)是f(x)的近似,其风险为
ℓ(g)=ELoss(f(X),g(X))
无监督学习的一个例子是分析杂货店顾客的购买行为,假设该商店总共有100件待售商品。这里的特征向量可以是二进制向量x∈{0,1}100,表示顾客在商店购买的物品(如果顾客购买了第k∈{1,…,100}种物品,则向量的第k位为1,否则为0)。基于训练集τ={x1,…,xn},我们希望找到任何有趣的或不寻常的购买模式。一般来说,很难确定无监督学习器是否做得很好,因为没有老师提供准确预测的例子。
无监督学习的主要方法包括聚类、主成分分析和核密度估计,这些将在第4章讨论。
2.3~2.5节将重点关注监督学习。监督学习的主要方法有回归和分类,它们将在第5章和第7章中详细讨论。更高级的监督学习方法包括再生核希尔伯特空间、树方法和深度学习,它们将在第6、8和9章讨论。