Andrew Ng机器学习公开课笔记 — 线性回归和梯度下降

转载 2015年07月09日 12:06:49

线性回归(Linear Regression) 
先看个例子,比如,想用面积和卧室个数来预测房屋的价格 
训练集如下 :
image

首先,我们假设为线性模型,那么hypotheses定义为 
image , image

其中x1,x2表示面积和#bedrooms两个feature 
那么对于线性模型,更为通用的写法为 
image 
其中把θ和X看成向量,并且x0=1,就可以表示成最后那种,两个向量相乘的形式

那么线性回归的目的,就是通过训练集找出使得误差最小的一组参数θ(称为学习) 
为了可以量化误差,定义损失函数(cost function) 
image 
比较好理解,就是训练集中所有样本点,真实值和预测值之间的误差的平方和 
其中1/2是为了后面计算方便,求导时会消掉 
所以我们目的就是找到θ使得J(θ)最小,这就是最小二乘法(最小平方),很容易理解

梯度下降(gradient descent) 
为了求解这个最优化问题,即找到θ使得J(θ)最小,可以有很多方法 
先介绍梯度下降法 
这是一种迭代方法,先随意选取初始θ,比如θ=0,然后不断的以梯度的方向修正θ,最终使J(θ)收敛到最小 
当然梯度下降找到的最优是局部最优,也就是说选取不同的初值,可能会找到不同的局部最优点 
但是对于最小二乘的损失函数模型,比较简单只有一个最优点,所以局部最优即全局最优

对于某个参数的梯度,其实就是J(θ)对该参数求导的结果 
所以对于某个参数每次调整的公式如下, 
                               image  

α is called the learning rate,代表下降幅度,步长,小会导致收敛慢,大会导致错过最优点 
所以公式含义就是,每次在梯度方向下降一步

下面继续推导,假设训练集里面只有一个样本点,那么梯度推导为, 
                         image 
就是求导过程,但是实际训练集中会有m个样本点,所以最终公式为, 
                     image 
因为θ中有多个参数,所以每次迭代对于每个参数都需要进行梯度下降,直到J(θ)收敛到最小值 
这个方法称为batch gradient descent,因为每次计算梯度都需要遍历所有的样本点 
这是因为梯度是J(θ)的导数,而J(θ)是需要考虑所有样本的误差和 
这个方法问题就是,扩展性问题,当样本点很大的时候,基本就没法算了

所以提出一种stochastic gradient descent(随机梯度下降) 
想法很简单,即每次只考虑一个样本点,而不是所有样本点 
那么公式就变为, 
                            image  

其实意思就是,每次迭代只是考虑让该样本点的J(θ)趋向最小,而不管其他的样本点 
这样算法会很快,但是收敛的过程会比较曲折 
整体效果,还是可以will be reasonably good approximations to the true minimum 
所以适合用于较大训练集的case

Normal Equations :
前面说了如何用梯度下降来解线性回归问题 
其实对于线性回归,也可以不用这种迭代最优的方式来求解 
因为其实可以通过normal equations直接算出θ,即具有解析解

首先对于训练集,可以写成下面的向量形式

                          image image

由于 image ,所以 
                         image  

并且 image ,故有 
                           image

可以看到经过一系列的推导,J(θ)有了新的表达形式 
那么J(θ)的梯度,即求导,可以得到 
                           image    
而J(θ)最小时,一定是梯度为0时,即可以推出normal equations 
                           image 
所以使J(θ)最小的θ的值可以直接求出, 
                           image

可以参考,Normal Equations


相关文章推荐

【转载】Andrew Ng机器学习公开课笔记 — 线性回归和梯度下降

1、线性回归(Linear Regression) 先看个例子,比如,想用面积和卧室个数来预测房屋的价格 训练集如下 首先,我们假设为线性模型,那么hypotheses定义为 , 其...

线性回归、梯度下降 - Andrew Ng机器学习公开课笔记1.1

实例     首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积、卧室数量和房屋的交易价格,如下表:          假如有一个房子要卖,我们希望通过上表中的数据估算...

机器学习公开课-笔记2-线性回归、梯度下降和正规方程组

回归分析: 是研究一个变量关于另一个(或一些)变量的具体依赖关系的计算方法和理论。 一些符号 m: 训练数据的大小 x: 输入变量,是向量 y: 输出变量,是实数 (x,y)...

Stanford机器学习课程(Andrew Ng) Week 1 Parameter Learning --- 线性回归中的梯度下降法

本节将梯度下降与代价函数结合,并拟合到线性回归的函数中 这是我们上两节课得到的函数,包括: 梯度下降的公式 用于拟合的线性假设和h(x) 平方误差代价函数 J(θ0 , θ1...

Andrew Ng机器学习笔记+Weka相关算法实现(一)梯度下降与回归方法

最近在看Andrew Ng的机器学习课程,将学到的东西在此做个总结,包括梯度下降、随机梯度下降、最小二乘法、局部加权回归、极大似然原理、logistic regression、牛顿方法、广义线性模型、...

斯坦福大学公开课机器学习课程(Andrew Ng)二监督学习应用 梯度下降

监督学习应用 梯度下降

【斯坦福公开课-机器学习】2.监督学习应用-梯度下降(吴恩达 Andrew Ng)

线性回归linear regression 梯度下降gradient descent 正规方程组the normal equations 线性代数linear algebra 符号Notation 例...

斯坦福大学机器学习笔记--第一周(5.线性回归的梯度下降)

一.Gradient Descent For Linear Regression(线性回归的梯度下降) 在前面我们谈到了梯度下降算法是很常用的算法,经常被用在线性回归模型、平方误差代价函数上...
  • tiweeny
  • tiweeny
  • 2017年06月24日 23:27
  • 147

斯坦福机器学习: 网易公开课系列笔记(二)——线性回归、梯度下降算法和最小二乘公式

课程一共分为三个板块,分别讲述了监督学习、非监督学习、增强学习的一些模型和相关算法。那么什么是监督学习?非监督学习?强化学习呢?      我们可以这样理解,假如我们对某个地区的鸟类进行分类,为了简便...

机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)

最近在Coursera上看吴大神的Machine Learning,感觉讲的真的很棒。所以觉得应该要好好做做笔记,一方面是加强自己对ML中一些方法的掌握程度和理解,另一方面也能方便自己或者同样爱好ML...
  • Artprog
  • Artprog
  • 2016年04月09日 14:33
  • 4097
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Andrew Ng机器学习公开课笔记 — 线性回归和梯度下降
举报原因:
原因补充:

(最多只允许输入30个字)