2 Linear Regression, Gradient descent
来源:互联网 发布:女生袜子知乎 编辑:程序博客网 时间:2024/05/01 15:20
本学习笔记参考自Andrew的机器学习课程(点此打开), 内容来自视频以及其讲义, 部分内容引用网友的学习笔记,会特别注明
本集课程内容
1.线性回归 Linear Regression
2.梯度下降 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的值很大时,在没有更新一个参数前,可能计算所有样本的误差就花费了很久的时间了。
增量梯度下降
增量梯度下降是每计算一个训练样本的误差时,就对参数更新一次。所以增量梯度下降一个好处就是为了开始学习,只需要检查一个样本就能够开始更新参数,一般而言,训练集比较大的情况,增量梯度下降比批梯度下降要快。增量梯度处理的一个缺点就是不会精确的收敛到全局最优值,它可能会在全局最优值周围徘徊,能够得到很接近全局最优值的参数。对于这类的最小二乘回归问题,还有一种能够直接给出答案的解法。
最小二乘法
最小二乘法也叫最小平方法,这个名字好像是来源于日语,二乘就是平方的意思。前面介绍的梯度下降和这里的最小二乘目标都是一致的,但是梯度下降是迭代算法,是对最优值进行搜索得到的,而最小二乘是直接计算出最优结果。这里的推导见课件,里面定义了对矩阵求导的符号,结果如下:
0 0
- 2 Linear Regression, Gradient descent
- 2 - 7 - Gradient Descent For Linear Regression (10 min)
- linear regression(2)-Gradient Descent for Multiple Variables
- Linear regression and gradient descent algorithm
- [blabla]a quick code about linear regression using gradient descent
- 线性回归、梯度下降(Linear Regression、Gradient Descent)
- 机器学习笔记5---Gradient descent for linear regression
- linear regression(4)-normal equation***compare with gradient descent
- 线性回归、梯度下降(Linear Regression、Gradient Descent)
- (一)How to Do Linear Regression using Gradient Descent
- 线性回归、梯度下降(Linear Regression、Gradient Descent)
- 我的第一个ML算法(linear regression gradient descent)
- Regression gradient descent
- 线性回归、梯度下降、逻辑回归(Linear Regression、Gradient Descent、Logistic Regression)
- Liner Regression(Gradient descent algorithm)
- Gradient Descent for Linear Regression,线性回归的梯度下降算法
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
- linear regression(3)-Gradient Descent in Practice I/II(Feature Scalling/Learning Rate)
- 专车:一边点赞,一边釜底抽薪;前路难探,内部利益出现分化
- 错误隐藏学习手记(一)
- Spring学习 8
- Spring学习 9
- 年终大学习之MySQL数据库优化学习笔记(五)
- 2 Linear Regression, Gradient descent
- 语义化版本2.0.0
- WinSock嗅探虚拟主机拿站取webshell
- 第一周工作总结及计划表
- 如何打造不怕被嗅探的3389登陆
- 冬令营第七天
- 【BZOJ 1064】 [Noi2008]假面舞会
- Silverlight跨域访问安全性问题
- 阳光在线|www.ks6899.com|阳光代理充值开户官方网