给定训练集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y n ) D={(x_1,y_1 ),(x_2,y_2 ),…,(x_n,y_n)} D=(x1,y1),(x2,y2),…,(xn,yn)其中 x i ∈ R d ; y ∈ R ; x_i∈R^d;y∈R; xi∈Rd;y∈R;线性回归模型如下: 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 )≈y_i f(xi)≈yi
为便于讨论我们将将 b b b并入到 w w w中: x i = [ x i 1 , x i 2 , … , x i d , 1 ] T x_i=[x_i^1,x_i^2,…,x_i^d,1]^T xi=[xi1,xi2,…,xid,1]T w i = [ w i 1 , w i 2 , … , w i d , b ] T w_i=[w_i^1,w_i^2,…,w_i^d,b]^T wi=[wi1,wi2,…,wid,b]T所以线性回归模型可以表示为: f ( x i ) = w T x i f(x_i )=w^T x_i f(xi)=wTxi
我们将每个样本的预测值与真实值记为: ε i ε_i εi y i = w T x i + ε i y_i=w^T x_i+ε_i yi=wTxi+εi
假设误差 ε i ε_i εi是独立同分布的,并且服从高斯分布。即: P ( ε i ) = 1 2 π σ e x p ( − ε i 2 2 σ 2 ) P(ε_i )=\frac{1}{\sqrt{2πσ}} exp(-\frac{ε_i^2}{2σ^2 }) P(εi)=2πσ 1exp(−2σ2εi2) ε i = y i − x i ε_i=y_i-x_i εi=yi−xi带入得到: P ( y i ∣ x i , w ) = 1 2 π σ e x p ( − ( y i − w T x i ) 2 2 σ 2 ) P(y_i |x_i,w)=\frac{1}{\sqrt{2πσ}} exp(-\frac{(y_i-w^T x_i)^2}{2σ^2 }) P(yi∣xi,w)=2πσ 1exp(−2σ2(yi−wTxi)2)已知参数 w w w和数据 x i x_i xi的情况下,预测值为 y i y_i yi的条件概率.
注:这个地方个人感觉比较疑惑: P ( ε i ) P(ε_i ) P(εi)按理来说表示的是误差为 ε i ε_i εi时的概率,为啥一下变成预测值为 y i y_i yi的条件概率了呢?个人的一个理解:当我们的模型 f ( x i ) = w T x i f(x_i )=w^T x_i f(xi)=wTxi确定后, w w w是固定的,所以我们向模型输入一个 x i x_i xi都会有一个预测值 f ( x i ) f(x_i ) f(xi)输出,并且预测值是唯一确定的。而样本 x i x_i xi的标签 y i y_i yi也是唯一确定的;那么误差 ε i ε_i εi也唯一确定的并且与标签 y i y_i yi是一一对应关系,所以 ε i ε_i εi的概率就等于 y i y_i yi的概率。
于是可以得到最大似然函数: L ( w ) = ∏ i = 1 n P ( y i ∣ x i , w ) = ∏ i = 1 n 1 2 π σ e x p ( − ( y i − w T x i ) 2 2 σ 2 ) L(w)=∏_{i=1}^nP(y_i |x_i,w) =∏_{i=1}^n\frac{1}{\sqrt{2πσ}} exp(-\frac{(y_i-w^T x_i)^2}{2σ^2 }) L(w)=i=1∏nP(yi∣xi,w)=i=1∏n2πσ 1exp(−2σ2(yi−wTxi)2)取对数: l ( w ) = ∑ i = 1 n l o g ( P ( y i ∣ x i , w ) ) l(w)=∑_{i=1}^nlog(P(y_i |x_i,w)) l(w)=i=1∑nlog(P(yi∣xi,w)) = ∑ i = 1 n l o g ( 1 2 π σ ) − ∑ i = 1 n ( y i − w T x i ) 2 2 σ 2 =∑_{i=1}^nlog(\frac{1}{\sqrt{2πσ}}) -∑_{i=1}^n\frac{(y_i-w^T x_i )^2}{2σ^2 } =i=1∑nlog(2πσ 1)−i=1∑n2σ2(yi−wTxi)2 = n l o g ( 1 2 π σ ) − 1 2 σ 2 ∑ i = 1 n ( y i − w T x i ) 2 =nlog(\frac{1}{\sqrt{2πσ}})-\frac{1}{2σ^2 } ∑_{i=1}^n(y_i-w^T x_i )^2 =nlog(2πσ 1)−2σ21i=1∑n(yi−wTxi)2
使用极大似然估计法最大化上面函数得到 w w w,从而得到模型。由于上面函数为 w w w的函数所以其它量都是常量,则最大化 l ( w ) l(w) l(w)就是最小化下面公式: J ( w ) = 1 2 ∑ i = 1 n ( y i − w T x i ) 2 J(w)=\frac{1}{2} ∑_{i=1}^n(y_i-w^T x_i )^2 J(w)=21i=1∑n(yi−wTxi)2 1 2 \frac{1}{2} 21只是为了求导方便留下的。这就是最小二乘法的目标函数。
将上面式子转化为矩阵运算: J ( w ) = 1 2 ∑ i = 1 n ( y i − w T x i ) 2 = 1 2 ∣ [ y 1 − w T x 1 y 2 − w T x 2 ⋮ y n − w T x n ] ∣ 2 J(w)=\frac{1}{2} ∑_{i=1}^n(y_i-w^T x_i )^2=\frac{1}{2} \begin{vmatrix} \begin{bmatrix} y_1-w^T x_1 \\ y_2-w^T x_2 \\ \vdots \\ y_n-w^T x_n \end{bmatrix} \end{vmatrix}^2 J(w)=21i=1∑n(yi−wTxi)2=21∣∣∣∣∣∣∣∣∣⎣⎢⎢⎢⎡y1−wTx1y2−wTx2⋮yn−wTxn⎦⎥⎥⎥⎤∣∣∣∣∣∣∣∣∣2 = 1 2 ∣ Y − X T W ∣ 2 = 1 2 ( Y − X T W ) T ( Y − X T W ) =\frac{1}{2}\begin{vmatrix} Y-X^T W \end{vmatrix}^2=\frac{1}{2} (Y-X^T W)^T (Y-X^T W) =21∣∣Y−XTW∣∣2=21(Y−XTW)T(Y−XTW)其中: Y = [ y 1 , y 2 , … , y n ] T ∈ R n × 1 Y=[y_1,y_2,…,y_n ]^T∈R^{n×1} Y=[y1,y2,…,yn]T∈Rn×1 X = [ x 1 , x 2 , … , x n ] ∈ R d + 1 × n X=[x_1,x_2,…,x_n ]∈R^{d+1×n} X=[x1,x2,…,xn]∈Rd+1×n x i = [ x i 1 , x i 2 , … , x i d , 1 ] T ∈ R d + 1 × 1 x_i=[x_i^1,x_i^2,…,x_i^d,1]^T∈R^{d+1×1} xi=[xi1,xi2,…,xid,1]T∈Rd+1×1 w i = [ w i 1 , w i 2 , … , w i d , b ] T ∈ R d + 1 × 1 w_i=[w_i^1,w_i^2,…,w_i^d,b]^T ∈R^{d+1×1} wi=[wi1,wi2,…,wid,b]T∈Rd+1×1 ∣ ∣ \begin{vmatrix} \end{vmatrix} ∣∣为行列式
将 J ( w ) J(w) J(w)称为线性回归模型的目标函数或损失函数,该函数是凸函数,只要找到一阶导数为0的位置,就找到了最优解
对 J ( w ) J(w) J(w)求导: ∂ J ( w ) ∂ w = 1 2 ∂ ∂ w ( ( Y − X T W ) T ( Y − X T W ) ) \frac{∂J(w)}{∂w}=\frac{1}{2} \frac{∂}{∂w} ((Y-X^T W)^T (Y-X^T W)) ∂w∂J(w)=21∂w∂((Y−XTW)T(Y−XTW)) = 1 2 ∂ ∂ w ( Y T Y − Y T X T W − W T X Y + W T X X T W ) =\frac{1}{2} \frac{∂}{∂w}(Y^T Y-Y^T X^T W-W^T XY+W^T XX^T W) =21∂w∂(YTY−YTXTW−WTXY+WTXXTW) 由于 Y T X T W Y^T X^T W YTXTW为一个常数所以: Y T X T W = ( Y T X T W ) T = W T X Y Y^T X^T W=(Y^T X^T W)^T=W^T XY YTXTW=(YTXTW)T=WTXY所以有: ∂ J ( w ) ∂ w = 1 2 ∂ ∂ w ( Y T Y − 2 W T X Y + W T X X T W ) \frac{∂J(w)}{∂w}=\frac{1}{2} \frac{∂}{∂w}(Y^T Y-2W^T XY+W^T XX^T W) ∂w∂J(w)=21∂w∂(YTY−2WTXY+WTXXTW) = − ∂ ( W T X Y ) ∂ w + 1 2 ∂ ( W T X X T W ) ∂ w =-\frac{∂(W^T XY)}{∂w}+\frac{1}{2} \frac{∂(W^T XX^T W)}{∂w} =−∂w∂(WTXY)+21∂w∂(WTXXTW) = − X Y + 1 2 ∂ ( W T ( X X T W ) ∂ w + ∂ ( ( W T X X T ) W ) ∂ w =-XY+\frac{1}{2} \frac{∂(W^T (XX^T W)}{∂w}+\frac{∂((W^T XX^T )W)}{∂w} =−XY+21∂w∂(WT(XXTW)+∂w∂((WTXXT)W) = − X Y + 1 2 ( X X T W + ( W T X X T ) T ) = X X T W − X Y =-XY+\frac{1}{2} (XX^T W+(W^T XX^T )^T )=XX^T W-XY =−XY+21(XXTW+(WTXXT)T)=XXTW−XY = X ( X T W − Y ) =X(X^TW-Y) =X(XTW−Y)
线性模型的学习算法主要有:最小二乘法和梯度下降法