什么是线性回归
一:公式
h θ = θ 0 + θ 1 x h_\theta = \theta_0 + \theta_1 x hθ=θ0+θ1x
二:损失函数
J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x i ) − y i ) 2 \text{J}(\theta_0, \theta_1) = \frac{1}{2m} \sum_{i=1}^{m} (h_\theta(x^i) - y^i )^2 J(θ0,θ1)=2m1i=1∑m(hθ(xi)−yi)2
三:可视化图形求解失函数最小值
3.1:只考虑 θ1, 损失函数图图下
3.2:同时考虑 θ0 与 θ1, 损失函数图图下
3.3:可视化方法的缺点
编程序把这些点画出来,然后人工的方法来读出这些点的数值,这很明显不是一个好办法。
我们会遇到更复杂、更高维度、更多参数的情况,而这些情况是很难画出图的,也就是很难将其可视化。
因此我们真正需要的是编写程序来找出这些最小化代价函数的 θ0和 θ1的值。
四:梯度下降求解损失函数最小值
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数 J(θ0,θ1) 的最小值。
4.1: 梯度算法公式:
4.1.1: 梯度算法公式代入线性回归cost函数:
4.2:理解“倒数”
4.2.1:倒数控制θ 的移动方向
4.2.2:倒数自动调整θ移动的速率
越接近底部的时候,倒数越接近于0,那即使 α“学习速率不变”,但是倒数变小了,那θ移动的速率也自然会变小
4.3:梯度下降算法微妙之处:需要同时更新θ0,θ1
4.4:梯度下降缺陷
会因为θ0和 θ1的初始值不一样找到不同的局部最小值
局部最小值1(local minimum)
局部最小值1(local minimum)