斯坦福机器学习笔记 第1周 二、单变量线性回归(二)
来源:互联网 发布:免费源码加密 编辑:程序博客网 时间:2024/06/09 13:53
二、单变量线性回归(Linear Regression with One Variable)
5. 梯度下降
参考视频 : 2 - 5 - Gradient Descent (11 min).mkv
梯度下降是一个用来求函数最小值的算法,可以通过它来求出代价函数
梯度下降算法与下山问题:想象一下你站在山上一点,想用小碎步最快下山。首先旋转360度看看周围,找到最佳的下山方向(下降最快的方向)迈了一步,然后停下来再看看周围,找最佳的下山方向,持续这么做,直到达到一个周围都是平地的地方停下(因为周围已经没有可以继续下降的方向了)。
批量梯度下降(batch gradient descent)算法的公式为:
Gradient descent algorithm:
其中
Correct: Simultaneous update
实现方法:先计算公式右边的部分,通过那一部分计算出
6. 梯度下降的直观理解
参考视频 : 2 - 6 - Gradient Descent Intuition (12 min).mkv
梯度下降算法如下式:
描述:对
以二次函数为例:
在上图中曲线
注意:如果学习率
另外,当逐渐接近最低点时,步子会越来越小,因为导数值越来越小。移动幅度越来越小,直到最终收敛到局部最小值。所以在接近最低点时,梯度下降会自动采取越来越小的幅度,实际上没有必要另外再减小
7. 梯度下降的线性回归
参考视频 : 2 - 7 - GradientDescentForLinearRegression (6 min).mkv
结合梯度下降和线性回归模型中的平方误差代价函数。二者如下图:
对于之前的线性回归问题运动梯度下降法,关键在于求出平方代价函数的导数。即:
则算法写成:
刚刚使用的算法有时也称为批量梯度下降,指的是在梯度下降的每一步中,我们都用到了相同的训练样本。所以,在每一个单独的梯度下降中,我们最终计算这样一个东西,这个项需要对所有m个样本求和。也有其他类型的梯度下降法,不是“批量型”的,不考虑整个训练集,而只关注训练集中的一些子集。
另外,线性代数中有一种方法,在不需要多步梯度下降的情况下,也能解出代价函数J的最小值。这种方法叫做正规方程(Normal equations)。实际上在数据量较大的情况下,梯度下降法比正规方程更适用一些。
最后,祝贺大家成功学会你的第一个机器学习算法!
8.接下来的内容
参考视频 : 2 - 8 - What_’s Next (6 min).mkv
接下来会快速回顾一下线性代数,复习一下向量,矩阵等内容。通过它们,你可以实现和使用更强大的线性回归模型。事实上线性代数不仅仅在线性回归中应用广泛,其中的向量和矩阵将有助于实现之后更多的机器学习模型,并在计算上更有效率。正是因为这些向量和矩阵提供了一种有效的方式来组织大量的数据,特别是处理巨大的数据集时。不用担心,为了实现机器学习算法,我们只需要一些非常非常基础的线性代数知识。请继续往下看吧!
- 斯坦福机器学习笔记 第1周 二、单变量线性回归(二)
- 斯坦福机器学习笔记 第1周 二、单变量线性回归(一)
- 机器学习笔记(二) 单变量线性回归
- 斯坦福机器学习笔记 第3周 六、逻辑回归(二)
- Andrew Ng机器学习之二 单变量线性回归
- 【斯坦福大学-机器学习】2.单变量线性回归(二)
- 斯坦福机器学习公开课笔记(一)--单变量线性回归
- 斯坦福《机器学习》Lesson1-3感想-------3、线性回归二
- 斯坦福机器学习实验之1-单变量线性回归(Linear Regression with One Variable)
- 斯坦福机器学习公开课笔记(二)--多变量线性回归
- 机器学习入门笔记(二)----线性回归
- 单变量线性回归(二)
- 斯坦福机器学习实现与分析之二(线性回归)
- 斯坦福机器学习笔记 第2周 四、多变量线性回归
- (斯坦福机器学习笔记)线性回归练习
- 第一周-Coursera/Stanford机器学习课程学习笔记-单变量线性回归
- 斯坦福机器学习: 网易公开课系列笔记(二)——线性回归、梯度下降算法和最小二乘公式
- Coursera2014 机器学习第一周 单变量线性回归
- UVALive-7267/UVALive-7261/UVALive-7269/UVALive-7263
- reflow&repaint
- 关于用户管理的练习
- 自定义View 带箭头画圆
- HDOJ 2084 数塔
- 斯坦福机器学习笔记 第1周 二、单变量线性回归(二)
- 为了下载一些东西
- HEVC函数解析-TEncEntropyIf的子类
- 自定义控件画圆并做旋转
- Python with as
- hdu-4630-No Pain No Game-(树状数组,离线处理)
- 十月一小长假后(3月计划)
- 喷水装置(二)
- 使用POI实现Excel导入与导出