机器学习笔记(吴恩达)——单变量线性回归

单变量线性回归

符号说明

mmm代表训练集中实例数据
xxx代表输入特征/输入变量
yyy代表目标变量/输出变量
(x,y)(x,y)(x,y)代表训练集中的实例
(xi,yi)(x_i,y_i)(xi​,yi​) 代表第iii个观测实例
hhh代表学习算法解决方案或函数
机器学习笔记(吴恩达)——单变量线性回归

代价函数

机器学习笔记(吴恩达)——单变量线性回归
代价函数为
J(θ0,θ1)=12mi=1m(hθ(xi)yi)2 J(\theta_0,\theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x_i)-y_i)^2 J(θ0​,θ1​)=2m1​i=1∑m​(hθ​(xi​)−yi​)2
直观理解如下:要确定出θ0\theta_0θ0​,θ1\theta_1θ1​及使得
minJ(θ0,θ1) min J(\theta_0,\theta_1) minJ(θ0​,θ1​)
机器学习笔记(吴恩达)——单变量线性回归

梯度下降法

θj:=θjαθjJ(θ)\theta_{j}:=\theta_{j}-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta)θj​:=θj​−α∂θj​∂​J(θ)
θ\thetaθ赋值,使得代价函数按照梯度下降最快方向进行,一直迭代下去,其中α\alphaα为学习率
如果α\alphaα很小,需要迭代很多步才能到全局最小,如果很大会跳过局部最优导致无法收敛

梯度下降的线性回归

θjJ(θ0,θ1)=θj12mi=1m(hθ(xi)yi)2 \frac{\partial}{\partial\theta_j}J(\theta_0,\theta_1)=\frac{\partial}{\partial\theta_j}\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x_i)-y_i)^2 ∂θj​∂​J(θ0​,θ1​)=∂θj​∂​2m1​i=1∑m​(hθ​(xi​)−yi​)2
j=0j=0j=0时:θ0J(θ0,θ1)=1mi=1m(hθ(xi)yi)\frac{\partial}{\partial \theta_{0}} J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x_{i}\right)-y_{i}\right)∂θ0​∂​J(θ0​,θ1​)=m1​i=1∑m​(hθ​(xi​)−yi​)
j=1j=1j=1时:θ1J(θ0,θ1)=1mi=1m((hθ(xi)yi)xi)\frac{\partial}{\partial \theta_{1}} J\left(\theta_{0}, \theta_{1}\right)=\frac{1}{m} \sum_{i=1}^{m}(\left(h_{\theta}\left(x_{i}\right)-y_{i}\right)x_i)∂θ1​∂​J(θ0​,θ1​)=m1​i=1∑m​((hθ​(xi​)−yi​)xi​)
因此有如下算法:
θ0:=θ0a1mi=1m(hθ(xi)yi)θ1:=θ1a1mi=1m((hθ(xi)yi)xi)\begin{aligned} &\theta_{0}:=\theta_{0}-a \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x_{i}\right)-y_{i}\right)\\ &\theta_{1}:=\theta_{1}-a \frac{1}{m} \sum_{i=1}^{m}\left(\left(h_{\theta}\left(x_{i}\right)-y_{i}\right) \cdot x_{i}\right) \end{aligned}​θ0​:=θ0​−am1​i=1∑m​(hθ​(xi​)−yi​)θ1​:=θ1​−am1​i=1∑m​((hθ​(xi​)−yi​)⋅xi​)​
对两个参数θ0\theta_0θ0​与θ1\theta_1θ1​进行更新,多维空间根据上述公式进行扩展即可。

总结

为什么要用梯度下降法,在进行数据量大的情况下,梯度下降法要比正规方程的方程更加适用

上一篇:概率图:概率、条件独立性、图概念理解


下一篇:S3C2440移植linux3.4.2内核之支持YAFFS文件系统