2 Linear Regression, Gradient descent
2015-02-01 08:52
197 查看
本学习笔记参考自Andrew的机器学习课程(点此打开), 内容来自视频以及其讲义, 部分内容引用网友的学习笔记,会特别注明
本集课程内容
1.线性回归 Linear Regression2.梯度下降 Gradient descent
3.正规方程组 the normal equations
问题引入
课程开始介绍了一个自动驾驶的例子,里面所用到的算法就是有监督的学习(驾驶员提供正确的答案供汽车开始学习),其实这是一个回归问题,因为该算法输出代表着汽车的方向,是一个连续值。本集课程所用的例子仍然是第一节课所讲的房价与面积的例子,数据表如下:我们先简化问题,根据数据只在坐标轴做出price—area的图像,大概如下:
那么现在引出的问题:给你一组训练数据,你如何来预测房子的面积与价格的之间的关系呢?这也是本集要解决的问题
上面例子所用到的符号如下:
m:表示训练样本的数目,即上面数据表的行数
x:表示输入变量,也称为特征,上面的例子的x = (area, bedrooms)
n:表示特征的数量,这里即n = 2
y:表示输出变量,也称目标变量,这里y就是price
(x, y):表示一组训练样本
:表示第i组样本
监督学习的过程描述
线性回归
所谓线性回归即在上述监督学习描述过程中的y与x的关系是线性的,用数学描述如下:其中x1, x2表示输入向量x的分量,这里的x1=area, x2=bedrooms
为了便于整理公式,我们令x0 = 1,所以可变换为
这样可以用求和的记号更加方便的表示如下
n表示特征的数目,如果这里的n = 2,公式更一般的可以写为:
这里的θ被称为该学习算法的参数,我们的目的也是通过线性关系这个假设,利用训练样本求得θ
为了能够找到参数θ,我们需要一个衡量h的函数,来表明在某个参数为θ时这个线性回归模型的好坏,用下面的误差函数来刻画:
由于为了后面求偏导时候把指数掉下来的2给抵消掉,所以在前面乘了一个1/2。很明显的是当J(θ)最小时,总误差最小,这时的模型效果最好,即
要使这个J(θ)最小,本集介绍了两种方法,第一种是梯度下降法,
第二种是最小二乘法
梯度下降法
梯度下降法也是一种搜索方法,它的基本步骤如下:1.初始化θ
2.不断的改变θ,使得函数值不断减小
其中θ参数的调整方式如下,阿尔法表示学习速度:
下面假设我们的样本只有一组,也就是m
= 1, 可以推导上述的参数调整公式为:
同理,很容易计算,当样本有m组时,调整参数的表达式:
对这个例子来说误差函数在三维图形上是碗状的,只有全局的最优值,所以最后一定会收敛。
让其迭代的更新方式这里介绍的有两种,第一种是批梯度下降(batch gradient descent), 另一种是随机梯度下降的算法,有时也叫增量梯度下降[
stochastic gradient descent (also incremental gradient descent)]
批梯度下降
批梯度处理的迭代方式是要更新某一个参数时,需要把所有训练样本都计算一次求得误差后才更新。这种方式是比较慢的,因为当m的值很大时,在没有更新一个参数前,可能计算所有样本的误差就花费了很久的时间了。
增量梯度下降
增量梯度下降是每计算一个训练样本的误差时,就对参数更新一次。所以增量梯度下降一个好处就是为了开始学习,只需要检查一个样本就能够开始更新参数,一般而言,训练集比较大的情况,增量梯度下降比批梯度下降要快。增量梯度处理的一个缺点就是不会精确的收敛到全局最优值,它可能会在全局最优值周围徘徊,能够得到很接近全局最优值的参数。对于这类的最小二乘回归问题,还有一种能够直接给出答案的解法。
最小二乘法
最小二乘法也叫最小平方法,这个名字好像是来源于日语,二乘就是平方的意思。前面介绍的梯度下降和这里的最小二乘目标都是一致的,但是梯度下降是迭代算法,是对最优值进行搜索得到的,而最小二乘是直接计算出最优结果。这里的推导见课件,里面定义了对矩阵求导的符号,结果如下:
相关文章推荐
- Gradient Descent and NSCA
- Stochastic Gradient Descent收敛判断及收敛速度的控制
- 使用SGD(Stochastic Gradient Descent)进行大规模机器学习
- 基于baseline和stochastic gradient descent的个性化推荐系统
- 【转载】逻辑回归:使用SGD(Stochastic Gradient Descent)进行大规模机器学习
- 随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比
- A summary about gradient descent
- 【机器学习学习过程中的笔记1——Stochastic gradient descent 和 Batch gradient descent 】
- CS231n笔记3--Gradient Descent与Backward Propagation
- 2 - 6 - Gradient Descent Intuition (12 min)
- linear regression(2)-Gradient Descent for Multiple Variables
- 关于LeftNotEasy《机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)》中的公式问题
- Mini-Batch Gradient Descent
- An overview of gradient descent optimization algorithms
- Gradient Descent
- 【Machine Learning实验1】batch gradient descent(批量梯度下降) 和 stochastic gradient descent(随机梯度下降)
- Stochastic Gradient Descent收敛判断及收敛速度的控制
- 基于baseline和stochastic gradient descent的个性化推荐系统
- 基于baseline、svd和stochastic gradient descent的个性化推荐系统