给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , . . . , ( x m , y m ) } D=\left \{ \left (x_{1}\mathbf{},y_{1} \right ),\left ( x_{2},y_{2} \right ),\left (x_{3},y_{3} \right ),...,\left (x_{m},y_{m} \right ) \right \} D={(x1,y1),(x2,y2),(x3,y3),...,(xm,ym)},其中 x i x_{i} xi有 d d d个特征,表示为 x i = ( x i 1 ; x i 1 ; . . . ; x i d ) x_{i}=\left ( x_{i1}; x_{i1};...;x_{id}\right ) xi=(xi1;xi1;...;xid),线性回归模型是通过 d d d个特征的线性组合对 y y y值进行拟合,即 f ( x i ) = w T x i + b f(x_{i})=w^{T}x_{i}+b f(xi)=wTxi+b,使得 f ( x i ) ≃ y i f(x_{i})\simeq y_{i} f(xi)≃yi
定义: L ( f ( x ) , y ) = ( f ( x ) − y ) 2 L(f(x),y)=(f(x)-y)^2 L(f(x),y)=(f(x)−y)2
为什么使用square loss作为损失函数:
(1)记误差 ε = y i − y i ^ \varepsilon=y_{i}-\hat{y_{i}} ε=yi−yi^,假设误差独立同分布,根据中心极限定理, ε ∼ ( μ , σ 2 ) \varepsilon\sim(\mu,\sigma^2) ε∼(μ,σ2),得到 f ( ε ) = 1 σ 2 π e x p ( − ( ε − μ ) 2 2 σ 2 ) f(\varepsilon)=\frac{1}{\sigma\sqrt{2\pi}}exp(-\frac{(\varepsilon-\mu)^2}{2\sigma^2}) f(ε)=σ2π1exp(−2σ2(ε−μ)2),求 μ \mu μ和 σ 2 \sigma^2 σ2的极大似然估计,
L ( μ , σ 2 ) = ∏ i = 1 m 1 σ 2 π e x p ( − ( ε − μ ) 2 2 σ 2 ) L(\mu,\sigma^2)=\prod_{i=1}^{m}\frac{1}{\sigma\sqrt{2\pi}}exp(-\frac{(\varepsilon-\mu)^2}{2\sigma^2}) L(μ,σ2)=∏i=1mσ2π1exp(−2σ2(ε−μ)2),等式两边取对数,得到,
l o g L ( μ , σ 2 ) = − m 2 l o g 2 π − m 2 l o g σ 2 − ( ε − μ ) 2 2 σ 2 logL(\mu,\sigma^2)=-\frac{m}{2}log2\pi-\frac{m}{2}log\sigma^2-\frac{(\varepsilon-\mu)^2}{2\sigma^2} logL(μ,σ2)=−2mlog2π−2mlogσ2−2σ2(ε−μ)2,对 μ \mu μ和 σ 2 \sigma^2 σ2求偏导,得到
∂ L ∂ μ = 1 σ 2 ( ε − μ ) \frac{\partial{L}}{\partial{\mu}}=\frac{1}{\sigma^2}(\varepsilon-\mu) ∂μ∂L=σ21(ε−μ),
∂ L ∂ σ 2 = m 2 σ 2 + ( ε − μ ) 2 2 σ 4 \frac{\partial{L}}{\partial{\sigma^2}}=\frac{m}{2\sigma^2}+\frac{(\varepsilon-\mu)^2}{2\sigma^4} ∂σ2∂L=2σ2m+2σ4(ε−μ)2,
令 ∂ L ∂ μ = ∂ L ∂ σ 2 = 0 \frac{\partial{L}}{\partial{\mu}}=\frac{\partial{L}}{\partial{\sigma^2}}=0 ∂μ∂L=∂σ2∂L=0,得到: μ = 1 m ∑ i = 1 m ε i = 1 m ∑ i = 1 m ( y i − y i ^ ) \mu=\frac{1}{m}\sum_{i=1}^{m}\varepsilon_{i}=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}}) μ=m1∑i=1mεi=m1∑i=1m(yi−yi^)趋近于0或越小越好 , σ 2 = 1 m ∑ i = 1 m ( ε i − μ ) 2 = 1 m ∑ i = 1 m ( y i − y i ^ − μ ) 2 ≈ 1 m ∑ i = 1 m ( y i − y i ^ ) 2 \sigma^2=\frac{1}{m}\sum_{i=1}^{m}(\varepsilon_{i}-\mu)^2=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}}-\mu)^2\approx\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}})^2 σ2=m1∑i=1m(εi−μ)2=m1∑i=1m(yi−yi^−μ)2≈m1∑i=1m(yi−yi^)2趋近于0或越小越好,与最前面构建的平方形式损失函数本质上是等价的。
(2)误差的平方形式是正数。这样正的误差和负的误差不会相互抵消。
(3)与采用绝对值形式的比较:平方形式对大误差的惩罚大于小误差;平方形式对数学运算也更友好,绝对值形式在求导使需要分段求导。
引入向量形式
θ = ( w , b ) , X = [ x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ] = [ x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ] \theta=(w,b),X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d}&1 \\ x_{21} & x_{22} & \cdots & x_{2d}&1 \\ \vdots &\vdots & \ddots & \vdots&\vdots\\ x_{m1} & x_{m2} & \cdots & x_{md}&1 \end{bmatrix}=\begin{bmatrix} x_{1}^{T}&1 \\ x_{2}^{T}&1 \\ \vdots &\vdots \\ x_{m}^{T} & 1 \end{bmatrix} θ=(w,b),X=⎣⎢⎢⎢⎡x11x21⋮xm1x12x22⋮xm2⋯⋯⋱⋯x1dx2d⋮xmd11⋮1⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡x1Tx2T⋮xmT11⋮1⎦⎥⎥⎥⎤,
则 J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x i ) − y i ) 2 = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x_{i})-y_{i})^2=\frac{1}{2}(X\theta-y)^T(X\theta-y) J(θ)=21∑i=1m(hθ(xi)−yi)2=21(Xθ−y)T(Xθ−y)
在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。
求梯度
$\nabla_{\theta}J(\theta)
= ∇ θ ( 1 2 ( θ T X T − y T ) ( X θ − y ) ) =\nabla_{\theta}\left(\frac{1}{2}(\theta^TX^T-y^T)(X\theta-y)\right) =∇θ(21(θTXT−yT)(Xθ−y))
= ∇ θ ( 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ) =\nabla_{\theta}\left(\frac{1}{2}(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^Ty)\right) =∇θ(21(θTXTXθ−θTXTy−yTXθ+yTy))
= 1 2 ( 2 X T X θ − X T y − ( y T X ) T ) =\frac{1}{2}\left(2X^TX\theta-X^Ty-(y^TX)^T\right) =21(2XTXθ−XTy−(yTX)T)
= X T X θ − X T y =X^TX\theta-X^Ty =XTXθ−XTy
令上式等于0,求驻点,则有 θ = ( X T X ) − 1 X T y \theta=(X^TX)^{-1}X^Ty θ=(XTX)−1XTy,
则令 x i ^ = ( x i ; 1 ) \hat{x_{i}}=(x_{i};1) xi^=(xi;1)线性回归模型为 f ( X ) = x i ^ T ( X T X ) − 1 X T y f(X)=\hat{x_{i}}^T(X^TX)^{-1}X^Ty f(X)=xi^T(XTX)−1XTy
1.初始化 θ \theta θ
2.沿着负梯度方向迭代,得到 θ = θ − α ⋅ ∂ J ∂ θ \theta=\theta-\alpha\cdot\frac{\partial J}{\partial \theta} θ=θ−α⋅∂θ∂J,使得 J ( θ ) J(\theta) J(θ)更小, α \alpha α为学习率(learning rate)(也称为步长),
偏导计算
∂ J ∂ θ j = ( h θ ( x ) − y ) ⋅ ∂ ∂ θ j ( ∑ i = 1 m θ i x i − y ) = ( h θ ( x ) − y ) x j \frac{\partial J}{\partial \theta_{j}}=(h_{\theta}(x)-y)\cdot\frac{\partial }{\partial \theta_j}(\sum_{i=1}^{m}\theta_{i}x_{i}-y)=(h_{\theta}(x)-y)x_j ∂θj∂J=(hθ(x)−y)⋅∂θj∂(∑i=1mθixi−y)=(hθ(x)−y)xj
3.直至下降到无法下降时,停止计算
批量梯度下降法(Batch Gradient Descent):在更新参数时使用所有的样本来进行更新
随机梯度下降法(Stochastic Gradient Descent):仅选取一个样本来求梯度
小批量梯度下降法(Mini-batch Gradient Descent):对于m个样本,采用x个样本进行迭代
现实往往其变量数目超过样本数, X T X X^TX XTX不满秩,导致存在多个 θ ^ \hat{\theta} θ^,使得 J ( θ ) J(\theta) J(θ)最小化。此时,选择哪个解作为输出,由学习算法的归纳偏好决定,常见的做法是引入正则化项,通过减少参数 θ \theta θ的值,使得模型变得简单,避免过拟合。
正则化线性回归(regularized linear regression)的代价函数(cost function)为:
GLM必须满足以下3个假设:
loss function:对数损失, 即对数似然损失(Log-likelihood Loss), 也称逻辑斯谛回归损失(Logistic Loss)
L ( θ ) = ∏ i = 1 m P ( y ∣ x ; θ ) L(\theta)=\prod_{i=1}^{m}P(y|x;\theta) L(θ)=∏i=1mP(y∣x;θ)
= ∏ i = 1 m h θ ( x i ) y i ( 1 − h θ ( x i ) ) ( 1 − y i ) =\prod_{i=1}^{m}h_{\theta}(x_i)^{y_i}(1-h_{\theta}(x_i))^{(1-y_i)} =∏i=1mhθ(xi)yi(1−hθ(xi))(1−yi)
l o g L ( θ ) logL(\theta) logL(θ)
= ∑ i = 1 m l o g ( h θ ( x i ) y i ( 1 − h θ ( x i ) ) ( 1 − y i ) ) =\sum_{i=1}^{m}log(h_{\theta}(x_i)^{y_i}(1-h_{\theta}(x_i))^{(1-y_i)}) =∑i=1mlog(hθ(xi)yi(1−hθ(xi))(1−yi))
= ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] =\sum_{i=1}^{m}[y_ilogh_{\theta}(x_i)+(1-y_i)log(1-h_{\theta}(x_i))] =∑i=1m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
cost function通过最小化负的对数似然函数得到:
J ( θ ) = − 1 m ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}[y_ilogh_{\theta}(x_i)+(1-y_i)log(1-h_{\theta}(x_i))] J(θ)=−m1∑i=1m[yiloghθ(xi)+(1−yi)log(1−hθ(xi))]
为什么使用logitic loss而不是square loss
极大似然法求解得到的结果与对数似然函数的结果是等价的(推导如上)
逻辑回归的平方损失不是一个凸函数,不容易求解,得到的解是局部最优解。 对数损失是一个凸函数,且是关于 θ \theta θ的高阶连续可导的凸函数(证略,多元函数的海赛矩阵半正定是其为凸函数的充分必要条件)
梯度下降法:同1.3.2
两者都是属于广义线性回归的特殊情况
线性回归是假设y服从高斯分布,逻辑回归假设y服从伯努利分布
线性回归的损失函数是square loss,而逻辑回归的损失函数是logistic loss
优点:
(1).模型的可解释性强,可以通过参数值看到特征对结果的影响(该值并不能代表特征的重要性)。
(2).模型的训练速度较快
(3).既可以得到分类结果也可以得到类别的概率值
缺点:
(1).模型的准确性不高
(2).数据不平衡时,对正负样本的区分能力差
(3).对模型中自变量多重共线性较为敏感
(4).不适合处理非线性数据,只能处理二分类的问题。
(5).sigmoid函数两端斜率小,模型输出的概率值变化小,中间段斜率大,概率变化大。这导致特征某些区间的数值变化对概率的影响较大。
现实场景中,应用逻辑回归往往先进行特征归一化、特征离散化和交叉化处理