单变量线形回归

学习地址

训练集

  • 监督学习中会有一个数据集,这便是训练集。在卖房案例中已有房价便是数据集,工作便是如何从这个数据集中预测房价。

定义

  • m :训练样本的数量
  • x‘s:输入变量/特征
  • y‘s:输出变量(要预测的目标变量)
  • (x,y)表示一个训练样本
  • (x(i),y(i))表示第i个训练样本;i只是索引表示表格第i行,不是i次幂。

单变量线形回归

  • 单变量值指只有一个变量x,根据训练集->学习函数模型得出一个假设h(hypothesis),类似函数。x作为输入,得出y,这便是线形回归,卖房案例是一元线形回归–>单变量线形回归。

代价函数

  • Hypothesis: hθ(x)=θ01x
  • θi是参数Parameters,该如何选择参数的值来让假设函数表示的直线尽量与训练集中的数据点很好的拟合
  • 在线形回归中,我们要解决的是一个最小化的问题,使得h(x)与y尽量接近。
  • 令: J(θ01)=1/2/m*∑(hθ(x(i))-y(i))2,目标使J最小化,本质求 θ。
  • J(θ01)叫做平方误差代价函数,代价函数有很多,平方误差相对常用。

梯度下降(Gradient descent algorithm)

  • temp0=θ0-α(∂J(θ01)/∂θ0)
  • temp1=θ1-α(∂J(θ01)/∂θ1)
  • θ0=temp0, θ1=temp1
  • α叫做学习率,用来控制梯度下降时迈出多大的步子。
  • (∂J(θ01)/∂θi)是偏导数。
  • 注意θ0和θ1要同步更新
  • 重复直到收敛,α要动态变化,刚开始可以很大,后面慢慢减小接近最低点。

线形回归的梯度下降

  • 将梯度下降法应用到线形回归模型中
  • (∂J(θ01)/∂θi)是偏导数,具体如下:
  • 当i=0: (∂J(θ01)/∂θ0)=1/m*∑(hθ(x(i))-y(i))
  • 当i=1: (∂J(θ01)/∂θ1)=1/m*∑(hθ(x(i))-y(i))x(i))
  • 那么,上面的梯度下降算法就可以用偏导数替换了。

尚存疑问

  • 具体实现时如何试探性选择参数θ
  • 如何选择梯度下降出发点
  • 没有给出严格证明为什么能得到最优解?
  • 参数α如何自动更新