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

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

引子

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

预测模型

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

评价模型

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

一元线性回归
对应 ω , b \omega,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(\omega\sum_{i=1}^{n}x_i^2-\sum_{i=1}^{n}(y_i-b)x_i)=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

解出 ω , b \omega,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-\bar{x})}{\sum_{i=1}^{n}x_i^2-n\bar{x}^2}

b = i = 1 n ( y i ω x i ) n b=\frac{\sum_{i=1}^{n}(y_i-\omega x_i)}{n}

x ˉ = i = 1 n x i n \bar{x}=\frac{\sum_{i=1}^{n}x_i}{n}

多元线性回归

x 1 ω 1 + x 2 ω 2 + . . . . . . . + x n ω n + b = β x_1 \omega_1+x_2 \omega_2+.......+x_n \omega_n+b=\beta

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

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=\begin{bmatrix}x_{11} & x_{12} &....&x_{1d} & 1\\ x_{21} & x_{22} &....&x_{2d} & 1\\ .... & .... &....&.... & ....\\ x_{n1} & x_{n2} &....&x_{nd} & 1\end{bmatrix} [ ω 1 ω 2 . . . . b ] = [   f ( x 1 ) f ( x 2 ) . . . . f ( x n ) ] \begin{bmatrix}\omega_1 \\ \omega_2\\....\\ b\end{bmatrix}=\begin{bmatrix}\ f(x_1) \\ f(x_2)\\....\\ f(x_n)\end{bmatrix}

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

w = [ ω 1 ω 2 . . . . b ] w=\begin{bmatrix}\omega_1 \\ \omega_2\\....\\ b\end{bmatrix}

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

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

H ( w ) w = 2 X T ( X w y ) = 0 \frac{\partial H(w)}{\partial w}=2X^T(Xw-y)=0

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

优化模型

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

H ( ω ) ω = 1 δ i = 1 δ H ( ω i ) ω i \frac{\partial H(\omega)}{\partial \omega}=\frac{1}{\mid \delta\mid}\sum_{i=1}^{\mid \delta\mid}\frac{\partial H(\omega_i)}{\partial \omega_i}

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

发布了62 篇原创文章 · 获赞 36 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sinat_36945592/article/details/103738193