每个样本都有标签的机器学习称为监督学习。根据标签数值类型的不同,监督学习又可以分为回归问题和分类问题。分类和回归是监督学习的核心问题。
- 回归(regression)问题中的标签是连续值。
- 分类(classification)问题中的标签是离散值。分类问题根据其类别数量又可分为二分类(binary classification)和多分类(multi-class classification)问题。
线性回归
最小二乘法
基本形式
给定的数据集
D={(x1,y1),(x2,y2),⋯,(xN,yN)}
包含 N 个样本,p 个特征。其中,第 i 个样本的特征向量为 xi=(xi1,xi2,⋯,xip)T 。目标变量 yi∈R 。
Model:线性模型假设目标变量是特征的线性组合。因此,我们试图拟合函数
fw,b(x)=w1x1+w2x2+⋯+wpxp+b=j=1∑pwjxj+b
称为多元线性回归 (multiple linear regression)。一般写作向量形式
fw,b(x)=wTx+b
特征向量 x=(x1,x2,⋯,xp)T,参数 w=(w1,w2,⋯,wp)T 称为系数 (coefficients) 或权重 (weights),标量 b 称为偏置项(bias) 。求得参数 w,b 后,模型就得以确定。w 可以直观表达了各特征在预测中的重要性,因此线性模型有很好的可解释性(comprehensibility) 。
为了计算方便,线性回归模型可简写为
fw(x)=wTx
其中,特征向量 x=(1,x1,x2,⋯,xp)T,权重向量 w=(b,w1,w2,⋯,wp)T
最小二乘法
普通最小二乘法 (ordinary least squares, OLS) 使用残差平方和来估计参数,使得数据的实际观测值和模型预测值尽可能接近。
Tip: 在古代汉语中平方称为二乘。
loss function :衡量单个样本预测值 fw(x) 和真实值 y 之间差异的
L(y,fw(x))=(fw(x)−y)2
cost function :衡量样本集的差异
J(w)=2N1i=1∑N(wTxi−yi)2
为了建立一个不会因训练集变大而变大的代价函数,我们计算均方误差而不是平方误差。额外的 1/2 是为了让后面的计算更简洁些。矩阵形式为
J(w)=2N1∥Xw−y∥22=2N1(Xw−y)T(Xw−y)
其中,X 称为设计矩阵(design matrix)
X=⎝⎜⎜⎜⎛11⋮1x11x21⋮xN1x12x22⋱xN2⋯⋯⋮⋯x1px2pxNp⎠⎟⎟⎟⎞,w=⎝⎜⎜⎜⎛w0w1⋮wp⎠⎟⎟⎟⎞,y=⎝⎜⎜⎜⎛y1y2⋮yN⎠⎟⎟⎟⎞
最后,模型参数估计等价于求解
argwminJ(w)
参数估计 :(parameter estimation) 由于 J(w) 为凸函数,且 Hessian 矩阵 ∇2J(w) 正定。可以使用凸优化方法求解
∇J(w)=∂w∂J=2XT(Xw−y)=0
此方程被称为正规方程(normal equation)。如果 XTX 为满秩矩阵(full-rank matrix)或正定矩阵(positive definite matrix),则可求得最优解
w∗=(XTX)−1XTy
最小二乘法的特点
现实任务中 XTX 可能不可逆,原因如下
- 特征之间可能线性相关
- 特征数量大于样本总数 (p>N)
最小二乘法的优点
最小二乘法的缺点
- 仅适用于线性回归,无法推广到其他学习算法
- 假设 N⩾p ,这个算法的复杂度为 O(Np2)
- 如果样本特征的数量太大 (>10k),模型将执行的非常慢
极大似然估计
概率学的角度来看,目标变量可看作随机变量。对于线性回归来说,通常假设其服从正态分布
y∼N(wTx,σ2)
即随机误差服从均值为0的正态分布 e∼N(0,σ2) ,且样本间的误差相互独立 cov(ei,ej)=0。
目标变量的概率密度函数为
P(y)=2πσ1exp(−2σ2(y−wTx)2)
极大似然估计:(maximum likelihood estimate, MLE) 使得样本误差的联合概率(也称似然函数)取得最大值。为求解方便,对样本联合概率取对数似然函数
lnL(w)=lni=1∏NP(yi)=i=1∑NlnP(yi)=i=1∑Nln2πσ1exp(−2σ2(wTxi−yi)2)=Nln2πσ1−2σ21i=1∑N(wTxi−yi)2
最后,最大化对数似然函数等价于求解
argwmaxlnL(w)=argwmini=1∑N(wTxi−yi)2
上式与最小二乘法等价。
岭回归和LASSO
岭回归
Ridge (岭回归) 通过引入 ℓ2 范数正则化(regularization) 项来解决普通最小二乘的过拟合问题
Cost function
J(w)=2N1∥Xw−y∥22+α∥w∥2
其中,正则化参数 α>0 通过缩小特征权重来控制模型复杂度,值越大,收缩量越大,这样,系数对共线性的鲁棒性就更强了。
最小化代价函数可求得解析解
w=(XTX+αI)−1XTy
其中 I 是 p+1 维单位阵。利用ℓ2 范数进行正则化不仅可以抑制过拟合,同时叶避免了 XTX 不可逆的问题。
LASSO
Lasso (Least Absolute Shrinkage and Selection Operator) 是一个估计稀疏系数的线性模型。它在某些情况下是有用的,因为它倾向于给出非零系数较少的解,从而有效地减少了给定解所依赖的特征数。 它由一个带有 ℓ1 范数正则项的线性模型组成。
Cost function
J(w)=2N1(∥Xw−y∥22+α∥w∥1)
Lasso 中一般采用坐标下降法来实现参数估计。由于Lasso回归产生稀疏模型,因此也可以用来进行特征选择。
弹性网
Elastic-Net 是一个训练时同时用 ℓ1 和 ℓ2 范数进行正则化的线性回归模型。这种组合允许学习稀疏模型,其中很少有权重是非零类。当多个特征存在相关时,弹性网是很有用的。Lasso很可能随机挑选其中之一,而弹性网则可能兼而有之。在这种情况下,要最小化的目标函数
Cost function
J(w)=2N1(∥Xw−y∥22+αρ∥w∥1+2α(1−ρ)∥w∥22)
Elastic-Net 使用坐标下降法来估计参数。
贝叶斯线性回归
贝叶斯线性回归(Bayesian linear regression)是使用统计学中贝叶斯推断(Bayesian inference)方法求解的线性回归模型。线性模型的权重系数视为随机变量,并通过先验分布计算其后验分布。
对于贝叶斯线性回归来说,目标变量 y 看作随机变量,服从正态分布
y=wTx+e
通常假设随机误差服从均值为0的正态分布 e∼N(0,σ2) ,且样本间独立同分布。对于数据集 D=(X,y) ,可记为服从多元正态分布
y∼N(Xw,σ2I)
其中 I 为单位阵。概率密度函数为
p(y∣X,w)=(2πσ21)Nexp(−2σ2(y−Xw)T(y−Xw))
由贝叶斯定理可推出,权重系数 w 的后验概率分布为
p(w∣X,y)=p(y∣X)p(w)p(y∣X,w)
根据似然和先验的类型,可用于求解贝叶斯线性回归的方法有三类,即最大后验估计(MAP)、贝叶斯估计(共轭先验)和数值方法。
最大后验估计认为最优参数为后验概率最大的参数。由于p(y∣X)与w 无关,等价于求解
wMAP=argwmaxp(w)p(y∣X,w)
贝叶斯估计使用共轭先验求解后验概率分布 p(w∣X,y),通常使用期望E(w) 作为估计值。
(1) 引入权重向量的正态先验分布 w∼N(0,σw2I),即均值为零独立同分布。
p(w)=2πσw21exp(−2σw2wTw)
可使用最大后验估计。为求解方便,使用对数推导
wMAP=argwmaxlnp(y∣X,w)+lnp(w)=argwmax−2σ21∥Xw−y∥22−2σw2wTw=argwmin∥Xw−y∥22+σw2σ2∥w∥22
在估计过程中引入了 ℓ2 范数正则化项(先验分布),等价于岭回归。
(2) 引入权重向量的Laplace先验分布 wj∼Laplace(0,b),即均值为零独立同分布。
p(wj)=2b1exp(−b∣wj∣)
使用最大后验估计。为求解方便,使用对数推导
wMAP=argwmaxlnp(y∣X,w)+lnp(w)=argwmax−2σ21∥y−Xw∥22−j=1∑pb∣wj∣=argwmin∥Xw−y∥22+b2σ2∥w∥1
在估计过程中引入了 ℓ2 范数正则化项(先验分布),等价于LASSO。
(3) 引入权重向量的共轭先验 w∼N(0,Σw) ,其中 Σw−1=diag(λ1,λ2,⋯,λp) ,即权重系数独立分布,方差不同。此时称为自关联判定(Automatic Relevance Determination,ARD)回归。
p(w)=(2π)pdetΣw1exp(−21wTΣw−1w)
则权重向量的联合概率
p(w)p(y∣X,w)∝∝∝exp(−21wTΣw−1w)exp(−2σ21(Xw−y)T(Xw−y))exp(−21(wT(Σw−1+σ−2XTX)w−2σ−2yTXw))exp(−21(w−Λ−1XTy)T(σ−2Λ)(w−Λ−1XTy))
其中 Λ=XTX+σ2Σw−1。于是得到w的后验分布为正态分布
w∣X,y∼N(Λ−1XTy,σ2Λ−1)
权重系数的贝叶斯估计为
w^=(XTX+σ2Σw−1)−1XTy
(4) 引入一般的共轭先验 w∼N(μw,Σw)。
p(w)=(2π)pdetΣw1exp(−21(w−μw)TΣw−1(w−μw))
则权重向量的联合概率
p(w)p(y∣X,w)∝∝exp(−21(w−μw)TΣw−1(w−μw))exp(−2σ21(Xw−y)T(Xw−y))exp(−21(w−Λ−1u)T(σ−2Λ)(w−Λ−1u))
其中 Λ=XTX+σ2Σw−1,u=XTy+σ2Σw−1μw。于是得到w的后验分布为正态分布
w∣X,y∼N(Λ−1u,σ2Λ−1)
权重系数的贝叶斯估计为
w^=(XTX+σ2Σw−1)−1(XTy+σ2Σw−1μw)
广义线性回归
线性模型往往不能很好地拟合数据,我们可以在线性方程后面引入一个非线性变换,拟合许多功能更为强大的非线性模型(non-linear model)。
例如,对数线性回归 (log-linear regression)
lnfw,b(x)=wTx+b
这个非线性变换称为激活函数(activation function)。更一般地,考虑激活函数 y=g(z),令
fw,b(x)=g(wTx+b)
这样得到的模型称为广义线性模型 (Generalized Linear Models, GLM),激活函数的反函数 $z=g^{-1}(y) $ 称为联系函数 (link function)。广义线性模型的参数估计常通过加权最小二乘法或极大似然估计。
样条回归:分段式多项式回归。
https://zhuanlan.zhihu.com/p/34825299?utm_id=0
https://juejin.cn/post/7118600337660837925
多项式回归
为了更好的拟合数据,机器学习中一个常见模式是使用非线性函数对数据进行变换来创建新的特征。例如,可以通过构造多项式特征(polynomial features)来扩展简单的线性回归。在标准线性回归的情况下,您可能拟合一个二维特征的模型
fw(x)=w0+w1x1+w2x2
如果我们想用抛物面来拟合数据而不是平面,我们可以用二阶多项式组合特征,这样模型看起来就像这样
fw(x)=w0+w1x1+w2x2+w3x1x2+w4x12+w5x22
其实,得到的多项式回归依旧是线性模型:只需引入新的特征向量进行转换
from→x1z1x2z2x1x2z3x12z4x22z5
下面是一个应用于一维数据的例子,使用了不同程度的多项式特征:
多标签回归
包含多个目标变量的回归任务称为 Multi-output regression
Multi-task Lasso 是一个估计多任务的稀疏系数的线性模型, Y 是一个 N×Ntasks 矩阵。约束条件是,对于所有回归问题(也叫任务),所选的特征是相同的。它混合使用 ℓ1ℓ2 范数作为正则化项。
Cost function
J(W)=2N1(∥XW−Y∥Fro2+α∥W∥21)
其中 Fro 表示Frobenius范数
∥A∥Fro=ij∑aij2=tr(ATA)
混合 ℓ1ℓ2 范数
∥A∥21=i∑j∑aij2
Multi-task Lasso 也采用坐标下降法来估计参数。
Multi-task Elastic-Net 是一个估计多任务的稀疏系数的线性模型, Y 是一个 N×Ntasks 矩阵。约束条件是,对于所有回归问题(也叫任务),所选的特征是相同的。它使用混合的 ℓ1ℓ2 范数和ℓ2作为正则化项。
Cost function
J(W)=2N1(∥XW−Y∥Fro2+αρ∥W∥21+2α(1−ρ)∥W∥Fro2)
Multi-task Elastic-Net 也采用坐标下降法来估计参数。
泊松回归
泊松回归:预测一个代表频数的响应变量
Cox 回归
Cox回归的因变量就有些特殊,它不仅考虑结果而且考虑结果出现时间的回归模型。它用一个或多个自变量预测一个事件(死亡、失败或旧病复发)发生的时间。Cox回归的主要作用发现风险因素并用于探讨风险因素的强弱。但它的因变量必须同时有2个,一个代表状态,必须是分类变量,一个代表时间,应该是连续变量。只有同时具有这两个变量,才能用Cox回归分析。