第二周-多元线性回归

Coursera机器学习课程

Posted by RavenZhao on September 29, 2018

第二周 多元线性回归

多元线性回归

  • 多元线性回归假设:hθ(x)=θ0+θ1x1+θ2x2++θnxn
    • 定义x0=1
    • x=[x0\x1\x2vdots\xn]
    • θ=[θ0theta1theta2vdotsthetan]
    • hθ(x)=θTx
    • 代价函数J(θ)=12mmi=1(hθ(xi)yi)2
    • 梯度下降:θj:=θjα\part\partθjJ(θ)
  • 特征缩放(feature scaling)
    • 将不同的特征的取值调整到1xi1内,可以使梯度下降更快收敛;
    • 一般情况下,将一个特征值的范围调整到[-3,+3]之间,比较合适。
  • 归一化(Mean normalization)
    • xi=xiμiximaxximin
  • 调整学习速率α
    • α过小,收敛速率很慢
    • α过大,代价函数可能无法收敛。

正规方程

  • 用正规方程直接求解线性回归参数θ的最优值。

    • 梯度下降法使用迭代方式计算代价函数的全局最小值。
  • 假设J(θ)=aθ2+bθ+c

    • \part\partθiJ(θ)=0
    • θ=(XTX)1XTy为能使代价函数最小化的θ
  • 假设样本包含m个样本(x(1),y(1)),(x(2),y(2)),,(x(m),y(m)),每个样本包含n个特征:x(i)=[x(i)0 x(i)1  x(i)n]Rn+1

    • 设计矩阵(design matrix)X=[x(1)T x(2)T  x(m)T],为一个m×(n+1)矩阵

    • 如果x(i)=[1 x(i)1],则X=[1x(1)1 1x(2)1  1x(m)1]

    • Octave代码计算(XTX)1XTy为:

        pinv(X'*X)*X'*y
      
  • 采用正规方程法可以不对特征进行归一化。

参数求解方法 优点 缺点
梯度下降法 特征数量n非常庞大时也适用 需要选择α,迭代次数很多
正规方程法 不需要选择α,无需迭代 需要计算(XTX)1,当特征数量n很大(n10000)时计算缓慢
  • 正规方程的不可逆性
    • 如果XTX是不可逆矩阵,查看是否存在冗余特征,将其删除。
    • 可能特征数量太多,删除部分。