每个样本都有标签的机器学习称为监督学习。根据标签数值类型的不同,监督学习又可以分为回归问题和分类问题。分类和回归是监督学习的核心问题。
- 回归(regression)问题中的标签是连续值。
- 分类(classification)问题中的标签是离散值。分类问题根据其类别数量又可分为二分类(binary classification)和多分类(multi-class classification)问题。
线性分类
Logistic 回归
基本形式
给定的数据集
D={(x1,y1),(x2,y2),⋯,(xN,yN)}
包含 N 个样本,p 个特征。其中,第 i 个样本的特征向量为 xi=(xi1,xi2,⋯,xip)T 。目标变量 yi∈{0,1} 。逻辑回归试图预测正样本的概率,那我们需要一个输出 [0,1] 区间的激活函数。假设二分类数据集服从均值不同、方差相同的正态分布
{P(x∣y=1)=N(x;μ1,Σ)P(x∣y=0)=N(x;μ0,Σ)
其中,协方差矩阵Σ 为对称阵。正态分布概率密度函数为
N(x;μ,Σ)=(2π)pdetΣ1exp(−21(x−μ)TΣ−1(x−μ))
利用贝叶斯定理,正样本条件概率
P(y=1∣x)=P(x∣y=0)P(y=0)+P(x∣y=1)P(y=1)P(x∣y=1)P(y=1)
令 [^cdot]
z=lnP(x∣y=0)P(y=0)P(x∣y=1)P(y=1)=−21(x−μ1)TΣ−1(x−μ1)+21(x−μ0)TΣ−1(x−μ0)+lnP(y=0)P(y=1)=(μ1−μ0)TΣ−1x−21μ1TΣ−1μ1+21μ0TΣ−1μ0+lnP(y=0)P(y=1)
其中先验概率 P(y=1) 和 P(y=0) 是常数,上式可简化为
z=wTx+b
于是
P(y=1∣x)=1+e−z1
上式称为 Sigmoid 函数(S型曲线),也称 logistic 函数。
Model: 逻辑回归 (logistic regression, logit regression) 通过引入Sigmod 函数将输入值映射到 [0,1] 来实现分类功能。
fw,b(x)=g(wTx+b)
其中
g(z)=1+e−z1
式中特征向量 x=(x1,x2,⋯,xp)T,参数 w=(w1,w2,⋯,wp)T 称为系数 (coefficients) 或权重 (weights),标量 b 称为偏置项(bias) 。
为计算方便,模型简写为
fw(x)=1+exp(−wTx)1
其中,特征向量 x=(1,x1,x2,⋯,xp)T,权重向量 w=(b,w1,w2,⋯,wp)T
可以通过引入阈值(默认0.5)实现分类预测
y^={10if fw(x)⩾0.5if fw(x)<0.5
模型的输出为正样本的概率
{P(y=1∣x)=fw(x)P(y=0∣x)=1−fw(x)
可简记为
P(y∣x)=[fw(x)]y[1−fw(x)]1−y
极大似然估计
logistic 回归若采用均方误差作为 cost function,是一个非凸函数(non-convex),会存在许多局部极小值,因此我们尝试极大似然估计。
极大似然估计:(maximum likelihood estimate, MLE) 使得观测样本出现的概率最大,也即使得样本联合概率(也称似然函数)取得最大值。
为求解方便,对样本联合概率取对数似然函数
logL(w)=logi=1∏NP(yi∣xi)=i=1∑NlogP(yi∣xi)=i=1∑N[yilogfw(xi)+(1−yi)log(1−fw(xi))]
因此,可定义 loss function
L(fw(x),y)=−ylogfw(x)−(1−y)log(1−fw(x))=−ywTx+log(1+ewTx)

最大化似然函数等价于最小化 cost function
J(w)=N1i=1∑N(−yiwTx+log(1+ewTx))
参数估计 :(parameter estimation) J(w) 是关于参数 w 的高阶可导连续凸函数,经典的数值优化算法如梯度下降法 (gradient descent method) 、牛顿法 (Newton method) 等都可求得其最优解
argwminJ(w)
期望最大算法
期望最大算法:(Expectation-Maximization, EM)与真实分布最接近的模拟分布即为最优分布,因此可以通过最小化交叉熵来求出最优分布。
对任意样本 (xi,yi),真实分布可写为(真实分布当然完美预测)
P(yi∣xi)=1
模拟分布可写为
Q(yi∣xi)=[fw(xi)]y[1−fw(xi)]1−y
交叉熵为
H(P,Q)=−i=1∑NP(yi∣xi)logQ(yi∣xi)=i=1∑N(−yiwTx+log(1+ewTx))
cost function
J(w)=N1i=1∑N(−yiwTx+log(1+ewTx))
与极大似然估计相同。
决策边界
决策边界:逻辑回归模型 fw,b(x)=g(z)=g(wTx+b)
在 logistic 回归模型中,z=wTx+b 。对于 sigmoid 函数(如上图),g(z)⩾0.5 for z⩾0 。因此,模型预测
y^={10if wTx+b⩾0if wTx+b<0
由此可见,logistic 回归输出一个线性决策边界 (linear decision boundary)
wTx+b=0
我们也可以创建多项式特征拟合一个非线性边界。例如,模型
f(x1,x2)=g(x12+x22−36) where g(z)=1+e−z1
决策边界方程为 x12+x22−36=0

Softmax 回归
基本形式
Softmax 回归是 Logistic 回归在多分类(Multi-Class)问题上的推广。给定的数据集
D={(x1,y1),(x2,y2),⋯,(xN,yN}
包含 N 个样本,p 个特征。其中,第 i 个样本的特征向量为 xi=(xi1,xi2,⋯,xip)T 。目标变量 yi∈{c1,c2,⋯,cK} 。假设K个类的数据集服从均值不同、方差相同的正态分布
P(x∣y=ck)=(2π)pdetΣ1exp(−21(x−μk)TΣ−1(x−μk)),k=1,2,⋯,K
其中,协方差矩阵Σ 为对称阵。利用贝叶斯定理,于类别 ck 的条件概率为
P(y=ck∣x)=∑s=1KP(x∣y=cs)P(y=cs)P(x∣y=ck)P(y=ck)
参考Logistic 回归,计算[^cdot]
ϕ=lnP(x∣y=ct)P(y=ct)P(x∣y=cs)P(y=cs)=−21(x−μs)TΣ−1(x−μs)+21(x−μt)TΣ−1(x−μt)+lnP(y=ct)P(y=cs)=(μs−μt)TΣ−1x−21(μsTΣ−1μs−μtTΣ−1μt)+lnP(y=cs)−lnP(y=ct)=(wsTx+bs)−(wtTx+bt)
其中
wkT=μkTΣ−1,bk=−21μkTΣ−1μk+lnP(y=ck)
记 zk=wkTx+bk,则后验概率
P(y=ck∣x)=s=1∑KP(x∣y=ck)P(y=ck)P(x∣y=cs)P(y=cs)1=∑s=1Kexp(zs−zk)1=∑s=1Kexp(zs)exp(zk)
类别 ck 的条件概率可化简为
P(y=ck∣x)=softmax(wkTx)=∑k=1Kexp(wkTx)exp(wkTx)
其中,参数 wk=(bk,wk1,wk2,⋯,wkp)T 是类别 ck 的权重向量,特征向量 x=(1,x1,x2,⋯,xp)T。
Model: Softmax 回归输出每个类别的概率
f(x;W)=∑k=1Kexp(wkTx)1⎝⎜⎜⎜⎛exp(w1Tx)exp(w2Tx)⋮exp(wKTx)⎠⎟⎟⎟⎞
上式结果向量中最大值的对应类别为最终类别
y^=argckmaxwkTx
极大似然估计
为了方便起见,我们用 K 维的 one-hot 向量来表示类别标签。若第 i 个样本类别为 c,则向量表示为
yi=(yi1,yi2,⋯,yiK)T=(I(c1=c),I(c2=c),⋯,I(cK=c))T
对样本联合概率取对数似然函数
logL(W)=logi=1∏NP(yi∣xi)=i=1∑NlogP(yi∣xi)=i=1∑NlogyiTf(xi;W)
参数估计:可通过梯度下降法、牛顿法等求解K×(p+1)权重矩阵 W
W^=argWmaxi=1∑NlogyiTf(xi;W)
对数似然函数 logL(W) 关于W 的梯度为
∂W∂logL(W)=i=1∑Nxi(yi−f(xi;W))T
感知机
感知机(Perceptron)是线性二分类模型,适用于线性可分的数据集。
Model:感知机选取符号函数为激活函数
fw,b(x)=sign(wTx+b)
这样就可以将线性回归的结果映射到两分类的结果上了。符号函数
sign(z)={+1−1if z⩾0if z<0
为计算方便,引入 x0=1,w0=b 。模型简写为
fw(x)=sign(wTx)
其中,特征向量 x=(x0,x1,x2,⋯,xp)T,权重向量 w=(w0,w1,w2,⋯,wp)T
cost function:误分类点到分离超平面的总距离
J(w)=−xi∈M∑yiwTxi
其中,M 是错误分类集合。
基于梯度下降法对代价函数的最优化算法,有原始形式和对偶形式。算法简单且易于实现。
损失函数的梯度
∇J(w)=−xi∈M∑yixi
感知机有无穷多个解,其解由于不同的初始值或不同的迭代顺序而有所不同。
Perceptron 是另一种适用于大规模学习的简单分类算法。
- 它不需要设置学习率
- 它不需要正则项
- 它只用错误样本更新模型
最后一个特点意味着Perceptron的训练速度略快于带有合页损失(hinge loss)的SGD,因此得到的模型更稀疏。
被动感知算法 (Passive Aggressive Algorithms) 是一种大规模学习的算法。和感知机相似,因为它们不需要设置学习率。然而,与感知器不同的是,它们包含正则化参数。
多类别分类
Multi-class classification:目标变量包含两个以上离散值的分类任务 y∈{c1,c2,⋯,cK}。每个样本只能标记为一个类。例如,使用从一组水果图像中提取的特征进行分类,其中每一幅图像都可能是一个橙子、一个苹果或一个梨。每个图像就是一个样本,并被标记为三个可能的类之一。
-
One-Vs-Rest (OVR) 也称为one-vs-all,为每个类分别拟合一个二分类模型,这是最常用的策略,对每个类都是公平的。这种方法的一个优点是它的可解释性,每个类都可以查看自己模型的相关信息。
-
One-Vs-One (OVO) 是对每一对类分别拟合一个二分类模型。在预测时,选择得票最多的类别。在票数相等的两个类别中,它选择具有最高总分类置信度的类别,方法是对由底层二分类器计算的对分类置信度进行求和。
由于它需要拟合 2K(K−1) 个分类器,这种方法通常比one-vs-rest要慢,原因就在于其复杂度 O(K2) 。然而,这个方法也有优点,比如说是在没有很好的缩放样本数的核方法中。这是因为每个单独的学习问题只涉及一小部分数据,而对于一个 one-vs-rest,完整的数据集将会被使用 K 次。
One-Vs-Rest:为每个类分别拟合一个二分类模型
fw,bi(x)=P(y=i∣x;w,b)
模型预测值,一种方法是选择概率最大的类别
y^=argimaxfw,bi(x)

多标签分类
包含多个目标变量的分类任务称为 Multilabel classification