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

单变量线性回归

符号说明

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

代价函数

机器学习笔记(吴恩达)——单变量线性回归
代价函数为
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
直观理解如下:要确定出θ0\theta_0,θ1\theta_1及使得
minJ(θ0,θ1) min J(\theta_0,\theta_1)
机器学习笔记(吴恩达)——单变量线性回归

梯度下降法

θj:=θjαθjJ(θ)\theta_{j}:=\theta_{j}-\alpha \frac{\partial}{\partial \theta_{j}} J(\theta)
θ\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=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)
j=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)
因此有如下算法:
θ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\theta_0θ1\theta_1进行更新,多维空间根据上述公式进行扩展即可。

总结

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