深度学习笔记------线性回归

深度学习笔记------线性回归

引子

看到线性回归这个名字会让人想到另一个词,就是线性代数中的线性组合,浅显直接一点就是多个向量进行一个加权的比例运算,最终得到一个新的向量。即:
α 1 , α 2 , α 3 , α 4........ α n alpha1,alpha2,alpha3,alpha4........alpha n α1α2α3α4........αn共n个列向量,由线性组合通过一个比例系数运算得到一个新的向量 β eta β
[ α 1 α 2 . . . . . . . . α n ] [ ω 1 ω 2 . . . . . . ω n ] = β egin{bmatrix}alpha_1&alpha_2........alpha_n end{bmatrix}egin{bmatrix}omega_1 \ omega_2\......\omega_n end{bmatrix}=eta [α1α2........αn]ω1ω2......ωn=β

预测模型

在线性回归中类似,只不过这里的向量有了具体的意义即表示对应的属性,多个属性参与进行线性组合,最终得到一个预测值。并且实际中结果往往可能在所有属性之外含有一个固定的偏移量b,所以最终的模型如下:
[ x 1 x 2 . . . . . . . . x n 1 ] [ ω 1 ω 2 . . . . . . ω n b ] = β egin{bmatrix}x_1&x_2........x_n &1end{bmatrix}egin{bmatrix}omega_1 \ omega_2\......\omega_n \bend{bmatrix}=eta [x1x2........xn1]ω1ω2......ωnb=β
也就是( x n x_n xn为相应的属性, β eta β为最终的预测值):
x 1 ω 1 + x 2 ω 2 + . . . . . . . + x n ω n + b = β x_1 omega_1+x_2 omega_2+.......+x_n omega_n+b=eta x1ω1+x2ω2+.......+xnωn+b=β
对应属性的个数不同分为一元回归与多元回归:
一元回归仅有一个属性加上一个偏移量有:
x ω + b = β xomega+b=eta xω+b=β
多元回归不止一个属性即:
x 1 ω 1 + x 2 ω 2 + . . . . . . . + x n ω n + b = β x_1 omega_1+x_2 omega_2+.......+x_n omega_n+b=eta x1ω1+x2ω2+.......+xnωn+b=β

评价模型

如何对产生的预测值进行评价,这里也是比较直观的方式使用欧式距离即预测值与实际值差的平方,假设预测值为 f ( x ) f(x) f(x),对应的x为相关的测试用例, y i y_i yi为实际值,于是代价函数为:
H ( ω , b ) = ∑ i = 1 n ( f ( x i ) − y i ) 2 H(omega,b)=sum_{i=1}^{n}(f(x_i)-y_i)^2 H(ω,b)=i=1n(f(xi)yi)2
为了使模型的预测结果更加接近于实际结果,我需要这个代价函数取最小值。

一元线性回归
对应 ω , b omega,b ω,b保证其最小值,也就是最小二乘法有

∂ H ( ω , b ) ∂ ω = 2 ( ω ∑ i = 1 n x i 2 − ∑ i = 1 n ( y i − b ) x i ) = 0 frac{partial H(omega,b)}{partial omega}=2(omegasum_{i=1}^{n}x_i^2-sum_{i=1}^{n}(y_i-b)x_i)=0 ωH(ω,b)=2(ωi=1nxi2i=1n(yib)xi)=0

∂ H ( ω , b ) ∂ b = 2 ( n b − ∑ i = 1 n ( y i − ω x i ) ) = 0 frac{partial H(omega,b)}{partial b}=2(nb-sum_{i=1}^{n}(y_i-omega x_i))=0 bH(ω,b)=2(nbi=1n(yiωxi))=0

解出 ω , b omega,b ω,b的最优解有:

ω = ∑ i = 1 n y i ( x i − x ˉ ) ∑ i = 1 n x i 2 − n x ˉ 2 omega=frac{sum_{i=1}^{n}y_i(x_i-ar{x})}{sum_{i=1}^{n}x_i^2-nar{x}^2} ω=i=1nxi2nxˉ2i=1nyi(xixˉ)

b = ∑ i = 1 n ( y i − ω x i ) n b=frac{sum_{i=1}^{n}(y_i-omega x_i)}{n} b=ni=1n(yiωxi)

x ˉ = ∑ i = 1 n x i n ar{x}=frac{sum_{i=1}^{n}x_i}{n} xˉ=ni=1nxi

多元线性回归

x 1 ω 1 + x 2 ω 2 + . . . . . . . + x n ω n + b = β x_1 omega_1+x_2 omega_2+.......+x_n omega_n+b=eta x1ω1+x2ω2+.......+xnωn+b=β

对应每一个 x i x_i xi训练集展开有:

X = [ x 11 x 12 . . . . x 1 d 1 x 21 x 22 . . . . x 2 d 1 . . . . . . . . . . . . . . . . . . . . x n 1 x n 2 . . . . x n d 1 ] X=egin{bmatrix}x_{11} & x_{12} &....&x_{1d} & 1\ x_{21} & x_{22} &....&x_{2d} & 1\ .... & .... &....&.... & ....\ x_{n1} & x_{n2} &....&x_{nd} & 1end{bmatrix} X=x11x21....xn1x12x22....xn2................x1dx2d....xnd11....1 [ ω 1 ω 2 . . . . b ] = [   f ( x 1 ) f ( x 2 ) . . . . f ( x n ) ] egin{bmatrix}omega_1 \ omega_2\....\ bend{bmatrix}=egin{bmatrix} f(x_1) \ f(x_2)\....\ f(x_n)end{bmatrix} ω1ω2....b= f(x1)f(x2)....f(xn)

将原先的属性扩展一个维度固定为1,用于匹配对应的偏移量b,保持形式的一致性。对应只含有 ω i omega_i ωi的未知参数,对应的代价函数为:

w = [ ω 1 ω 2 . . . . b ] w=egin{bmatrix}omega_1 \ omega_2\....\ bend{bmatrix} w=ω1ω2....b

H ( w ) = ( y − X w ) T ( y − X w ) H(w)=(y-Xw)^T(y-Xw) H(w)=(yXw)T(yXw)

同样由最小二乘法有对应的最优解为:

∂ H ( w ) ∂ w = 2 X T ( X w − y ) = 0 frac{partial H(w)}{partial w}=2X^T(Xw-y)=0 wH(w)=2XT(Xwy)=0

w = ( X T X ) − 1 X T y w=(X^TX)^{-1}X^Ty w=(XTX)1XTy,( X T X X^TX XTX可逆的条件下)

优化模型

这里介绍的是计算方法中的梯度下降法,梯度对应描述的是函数的变化趋势,对应是以偏导数的形式体现的(训练集代价函数偏导的均值):

∂ H ( ω ) ∂ ω = 1 ∣ δ ∣ ∑ i = 1 ∣ δ ∣ ∂ H ( ω i ) ∂ ω i frac{partial H(omega)}{partial omega}=frac{1}{mid deltamid}sum_{i=1}^{mid deltamid}frac{partial H(omega_i)}{partial omega_i} ωH(ω)=δ1i=1δωiH(ωi)

ω i = ω i − η ∣ δ ∣ ∑ i = 1 ∣ δ ∣ ∂ H ( ω i ) ∂ ω i omega_i=omega_i-frac{eta}{mid deltamid}sum_{i=1}^{mid deltamid}frac{partial H(omega_i)}{partial omega_i} ωi=ωiδηi=1δωiH(ωi)
每次迭代取的方向是对应函数下降的方向(负值)(目的是代价函数的最小值),在若干次的迭代后可以得到一个局部最优值。其中的 η eta η用于控制每次迭代时的下降速度,也叫学习率。速度过大会在最优值两侧不断徘徊,速度过小便要很多次迭代才能达到最优。
优化的过程中一般是取部分的训练样本,小批量的进行,其中 δ delta δ便是对应小批量中的样本数量。

原文地址:https://www.cnblogs.com/yanzs/p/13788238.html