码迷,mamicode.com
首页 > 其他好文 > 详细

Stanford公开课机器学习---2.单变量线性回归(Linear Regression with One Variable)

时间:2015-05-25 11:31:53      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:公开课   machine-learning   梯度下降   代价函数   线性回归   

单变量线性回归(Linear Regression with One Variable)


2.1 模型表达(Model Representation)

  • m 代表训练集中实例的数量
  • x 代表特征/输入变量
  • y 代表目标变量/输出变量
  • (x,y) 代表训练集中的实例
  • (x(i),y(i) ) 代表第 i 个观察实例
  • h 代表学习算法的解决方案或函数也称为假设(hypothesis)

技术分享

单变量线性回归:只含有一个特征/输入变量 x

hθ=θ0+θ1x


2.2 代价函数(Cost Function)

目标便是选择出可以使得建模误差的平方和能够最小的模型参数,使得代价函数J(θ0,θ1)最小

J(θ0,θ1)=12m1m(hθ(x(i))?y(i))2

J(θ0,θ1)形成的图像:Bowl-shaped弓形函数,又叫convex function 凸函数:

技术分享

  1. θ0=0 时:
    J(θ1)随着θ1的改变而改变

技术分享

  1. θ0θ1都存在:
    二维上用不同颜色的等高线把Bowl-shaped弓形函数映射为如下右图

技术分享


2.3 梯度下降(Gradient Descent)

  • 开始:随机选择一个参数的组合(θ0,θ1,…,θn)
  • 一直改变(θ0,θ1,…,θn)来减小代价函数J(θ0,θ1)
    直到到一个 局部最小值(local minimum)

    技术分享

因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是 全局最小值(global minimum)
选择不同的初始参数组合,可能会找到不同的局部最小值(如下图)。

技术分享

批量梯度下降(batch gradient descent):下降的每一步都使用所有的训练样本。

技术分享

要同时更新θ0θ1:

技术分享

公式 含义
??θjJ(θ0,θ1) 1.该点的切线斜率(slope):决定下降方向
α 2.学习率(learning rate):决定了下降方向向下迈出的步子有多大。

  1. 切线斜率(slope):可正可负(下降方向)

技术分享

2.学习率(learning rate)
α过小:下降过慢
α过大:过学习,可能不能找到局部最小值或不能收敛

技术分享

因为随着下降过程,越来越接近局部最小值(此处斜率为0),斜率(梯度)逐渐减小,所以无需减小α,下降步子也会随斜率减小。如下图:

技术分享


2.4 对线性回归运用梯度下降法

把梯度下降法用于对线性回归求代价函数的最小值:

技术分享

??θjJ(θ0,θ1)=??θj12m1m(hθ(x(i))?y(i))2

j=0时:

??θ0J(θ0,θ1)=1m1m(hθ(x(i))?y(i))

j=1时:

??θ1J(θ0,θ1)=1m1m(hθ(x(i))?y(i))?x(i)

得到此线性函数hθ(x)的梯度下降公式:

技术分享


2.5 测试

技术分享
技术分享
技术分享
技术分享

Stanford公开课机器学习---2.单变量线性回归(Linear Regression with One Variable)

标签:公开课   machine-learning   梯度下降   代价函数   线性回归   

原文地址:http://blog.csdn.net/muzilanlan/article/details/45918367

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!