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

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

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


2.1 模型表达(Model Representation)

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

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

单变量线性回归:只含有一个特征/输入变量 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 凸函数:

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

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

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

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

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


2.3 梯度下降(Gradient Descent)

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

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

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

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

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

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

要同时更新θ0θ1:

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

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

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

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

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

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

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

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


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

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

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

θ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)的梯度下降公式:

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


2.5 测试

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