吴恩达 【机器学习】第二章 单变量线性回归
1. 模型描述
模型变量
mmm 代表训练集中实例的数量
xxx 代表特征/输入变量
yyy 代表目标变量/输出变量
(x,y)\left( x,y \right)(x,y) 代表训练集中的实例
(x(i),y(i))({{x}^{(i)}},{{y}^{(i)}})(x(i),y(i)) 代表第iii个观察实例
hhh 代表学习算法的解决方案或函数也称为假设函数(hypothesis)
hθ(x)=θ0+θ1xh_\theta \left( x \right)=\theta_{0} + \theta_{1}xhθ(x)=θ0+θ1x,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。
模型过程
2. 代价函数(Cost Function)
3. 梯度下降(Gradient descent)
一种能够自动地找出能使代价函数JJJ最小化的参数的值的算法。
问题描述
局部最优解
梯度下降法定义
- ααα是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。
- α∂∂θ0J(θ0,θ1)\alpha \frac{\partial }{\partial {{\theta }_{0}}}J({{\theta }_{0}},{{\theta }_{1}})α∂θ0∂J(θ0,θ1),α∂∂θ1J(θ0,θ1)\alpha \frac{\partial }{\partial {{\theta }_{1}}}J({{\theta }_{0}},{{\theta }_{1}})α∂θ1∂J(θ0,θ1)
学习率对梯度下降的影响
到达局部最小的时候
不再对参数值做更改
为什么可以只用一个固定的学习率
- 当我们越靠近最小值的时候,导数值越小,step自然而然地就变小了
cost函数一般是凸函数:只有一个全局最优解
线性回归的梯度下降
对我们之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:
∂∂θjJ(θ0,θ1)=∂∂θj12m∑i=1m(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\limits_{i=1}^{m}{\left( {{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}}^{2}}∂θj∂J(θ0,θ1)=∂θj∂2m1i=1∑m(hθ(x(i))−y(i))2
j=0j=0j=0 时:∂∂θ0J(θ0,θ1)=1m∑i=1m(hθ(x(i))−y(i))\frac{\partial }{\partial {{\theta }_{0}}}J({{\theta }_{0}},{{\theta }_{1}})=\frac{1}{m}{{\sum\limits_{i=1}^{m}{\left( {{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}}}∂θ0∂J(θ0,θ1)=m1i=1∑m(hθ(x(i))−y(i))
j=1j=1j=1 时:∂∂θ1J(θ0,θ1)=1m∑i=1m((hθ(x(i))−y(i))⋅x(i))\frac{\partial }{\partial {{\theta }_{1}}}J({{\theta }_{0}},{{\theta }_{1}})=\frac{1}{m}\sum\limits_{i=1}^{m}{\left( \left( {{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)\cdot {{x}^{(i)}} \right)}∂θ1∂J(θ0,θ1)=m1i=1∑m((hθ(x(i))−y(i))⋅x(i))
则算法改写成:
repeat until convegence {
θ0:=θ0−a1m∑i=1m(hθ(x(i))−y(i)){\theta_{0}}:={\theta_{0}}-a\frac{1}{m}\sum\limits_{i=1}^{m}{ \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)}θ0:=θ0−am1i=1∑m(hθ(x(i))−y(i))
θ1:=θ1−a1m∑i=1m((hθ(x(i))−y(i))⋅x(i)){\theta_{1}}:={\theta_{1}}-a\frac{1}{m}\sum\limits_{i=1}^{m}{\left( \left({{h}_{\theta }}({{x}^{(i)}})-{{y}^{(i)}} \right)\cdot {{x}^{(i)}} \right)}θ1:=θ1−am1i=1∑m((hθ(x(i))−y(i))⋅x(i))
}
Batch梯度下降法
- 【吴恩达机器学习笔记】第二章:单变量线性回归
- 吴恩达《机器学习》课程笔记——第二章:单变量线性回归
- 吴恩达Coursera机器学习课程笔记-单变量线性回归
- 吴恩达《机器学习》一元变量的线性回归
- 吴恩达机器学习线性回归练习题:多变量线性回归(octave实现)
- 吴恩达机器学习笔记(3)——多变量线性回归(Multivariate Linear Regression)
- 第一周(基础知识 + 单变量线性回归)-【机器学习-Coursera Machine Learning-吴恩达】
- 机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)
- 第二周(多变量线性回归 +Matlab使用)-【机器学习-Coursera Machine Learning-吴恩达】
- 吴恩达机器学习笔记(四)多变量线性回归
- coursera《机器学习》吴恩达-week2-01 多个变量的线性回归
- coursera《机器学习》吴恩达-week1-02 单一变量的线性回归
- 吴恩达机器学习线性回归练习题:多变量线性回归(python实现)
- 吴恩达机器学习笔记(五)--多变量线性回归
- 吴恩达 【机器学习】第五章 多变量线性回归
- 吴恩达机器学习笔记(二)--单变量线性回归
- 吴恩达机器学习_第二章_单变量线性回归_学习总结
- Coursera2014 机器学习第二周 多变量线性回归
- 吴恩达机器学习 学习笔记 之 四 多变量线性回归
- 斯坦福大学机器学习笔记——单变量的线性回归以及损失函数和梯度下降法(包含代码)