监督学习线性回归算法

Posted kseven77

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监督学习线性回归算法相关的知识,希望对你有一定的参考价值。

技术图片

假设(基于二维)

训练集
[ egin{bmatrix} 1&x_{11}&{cdots}&x_{1n}1&x_{21}&{cdots}&x_{2n}{vdots}&{vdots}&{ddots}&{vdots}1&x_{m1}&{cdots}&x_{mn}end{bmatrix}* egin{bmatrix} heta_{0} heta_{1}{vdots} heta_{n}end{bmatrix}= egin{bmatrix} y_{1}y_{2}{vdots}y_{n}end{bmatrix} ]
表达式
[h_ heta(x)= heta_0+ heta_1x_1+...+ heta_nx_n...x为向量]

定义代价函数

[J_ heta( heta_0, heta_1, heta_2,..., heta_n)=frac{1}{2m}sum_{i=1}^{m}({h_ heta(x^i)-y(x^i)})^2]

梯度下降法

[min_{ heta_0... heta_n}J( heta_0, heta_1, heta_2,..., heta_n)]
[ heta_j= heta_j-alphafrac{partial}{partial heta_j}J( heta_0, heta_1, heta_2,..., heta_n)...alpha为学习率]


[frac{partial}{partial heta_j}J( heta_0, heta_1, heta_2,..., heta_n)=frac{1}{m}sum_{i=1}^{m}({h_ heta(x^i)-y(x^i)})x^i]
带入得
[ heta_j= heta_j-alphafrac{1}{m}sum_{i=1}^{m}({h_ heta(x^i)-y(x^i)})x^{ij}]

梯度下降法实现

定义精度为P
[当 heta_j^n- heta_j^{n-1}<=P时递归停止]
初始化
[( heta_0, heta_1, heta_2,..., heta_n)为(0,0,0,...,0)或者其他]
执行递归
[ heta_j一步一步变化直到达到J( heta)最小值]
为什么可以实现?
技术图片
该图为取(( heta_0... heta_{j-1}, heta_{j+1}... heta_n)为固定值时J( heta)的切片)

[ heta_j=x_1时frac{partial}{partial heta_j}J( heta)<0故 heta_j增加逐渐靠近h,同时精度P决定递归是否停止]
( heta_j=x_2时同理)

学习率(alpha)

过大导致可能不收敛
技术图片
过小导致收敛太慢
故多次实验,取合适的(alpha)
[alpha=egin{bmatrix}0.001&0.01&0.1&1&10end{bmatrix}]
### 特征缩放
[egin{bmatrix}x_{1i}x_{2i}{vdots}x_{ni}end{bmatrix}=egin{bmatrix}10001001{vdots}1020end{bmatrix}->1000*egin{bmatrix}1.0001.001{vdots}1.020end{bmatrix}]

(h_ heta= heta_0+ heta_1x_1^2+ heta_1x_2^3+...)

可令[x_1^2=t_1,x_2^3=t_2...] 即可实现

正则方程实现

[ heta=(X^TX)^{-1}X^TY...(X^T为X的转置,X^{-1}为X的逆)]

以上是关于监督学习线性回归算法的主要内容,如果未能解决你的问题,请参考以下文章

机器学习模型和算法

CS229笔记一监督学习,线性回归,LMS算法,正态方程,概率解释和局部加权线性回归

监督学习线性回归算法

监督学习中关于线性回归问题的系统讨论

吴恩达机器学习学习笔记——2.1单变量线性回归算法

01_有监督学习--简单线性回归模型(最小二乘法代码实现)