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

单变量线性回归

符号说明

m m 代表训练集中实例数据
x x 代表输入特征/输入变量
y y 代表目标变量/输出变量
( x , y ) (x,y) 代表训练集中的实例
( x i , y i ) (x_i,y_i) 代表第 i i 个观测实例
h h 代表学习算法解决方案或函数
在这里插入图片描述

代价函数

在这里插入图片描述
代价函数为
J ( θ 0 , θ 1 ) = 1 2 m i = 1 m ( h θ ( x i ) y i ) 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 及使得
m i n J ( θ 0 , θ 1 ) min J(\theta_0,\theta_1)
在这里插入图片描述

梯度下降法

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

梯度下降的线性回归

θ j J ( θ 0 , θ 1 ) = θ j 1 2 m i = 1 m ( h θ ( x i ) y i ) 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 = 0 j=0 时: θ 0 J ( θ 0 , θ 1 ) = 1 m i = 1 m ( h θ ( x i ) y i ) \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 = 1 j=1 时: θ 1 J ( θ 0 , θ 1 ) = 1 m i = 1 m ( ( h θ ( x i ) y i ) x i ) \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 : = θ 0 a 1 m i = 1 m ( h θ ( x i ) y i ) θ 1 : = θ 1 a 1 m i = 1 m ( ( h θ ( x i ) y i ) x i ) \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 进行更新,多维空间根据上述公式进行扩展即可。

总结

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

猜你喜欢

转载自blog.csdn.net/qq_44589327/article/details/105929895