机器学习-Coursera-3多变量线性回归

假设函数

Hθ)=θ0+θ1X1+θ2X2+θ3X3+⋯+θñXñ

使用矩阵乘法的定义,多变量假设函数可以简单表示为

 

hθ(x)=[θ0 θ1... θn]\begin{bmatrix} \\ x0 \\ x1 \\ ... \\xn \end{bmatrix}=θTx

为了方便起见,将x0设置为1

成本函数

J(θ)=1/2m\sum_{i=1}^{m}(hθ(x(i))-y(i))^2    

多变量的梯度下降

重复直至收敛:

 

\Theta _{0}:=\Theta _{0}\alpha \frac{1}{m}\sum_{i=1}^{m}(h_{\Theta }(x^{(i)})−y^{(i)})*x_{0}^{(i)}

in other words:

repeat until convergence:{

\Theta _{j}:=\Theta _{j}\alpha \frac{1}{m}\sum_{i=1}^{m}(h_{\Theta }(x^{(i)})−y^{(i)})*x_{0}^{(i)}   for j:=0...n

}

最终 梯度下降矩阵表示法为:

θ:=θ−\frac{\alpha }{m}X^{T}​(Xθ−\vec{y}​)

特征规范化

将特征值放到大致相同的范围加速梯度下降,适用于轮廓图不圆的情况。

1特征缩放

x_{i}:=\frac{x_{i}}{s_{i}}  其中si为特征变化范围

-1\leqslant x_{i} \leqslant 1

2均值归一化

x_{i}:=\frac{x_{i}-\mu_{i}}{s_{i}}其中\mu _{i}为该特征变量的平均值

-0.5\leqslant x_{i}\leqslant 0.5

梯度下降提示

1调试梯度下降

绘制具有迭代次数的图。如果J(θ)增加,α需要减小,α过大的情况导致无法收敛。

2自动收敛检测

如果J(θ)在一次迭代中减小小于E,则收敛,E为一些小zh值,10^-3 

如果学习率α足够小,J(θ)将在每次迭代时减小。

正规方程

是在没有迭代的情况下找到最佳的\Theta值。

\Theta =(X^{T}X)^{-1}X^{T}y

点击链接获取证明过程:

https://en.wikipedia.org/wiki/Linear_least_squares_(mathematics)

http://eli.thegreenplace.net/2014/derivation-of-the-normal-equation-for-linear-regression

梯度下降算法和正规方程的比较           

梯度下降正规方程
需要选择α无需选择α
需要多次迭代无需多次迭代
O(n^2)O(n^3)
适合n较大情况n小时效果好

 其中n为特征的个数,当n超过10000时,可开始选择梯度下降算法。

正规方程不可逆性

在octave中使用pinv函数而非inv函数

X^{T}X不可逆,主要的原因有两点:

冗余特征,其中两个特征密切相关(线性相关)

特征太多(m<=n),删除一些特征

多项式回归

我们可以通过不同方式的假设改进我们的特征和ji假设函数形式。

将多项式回归变为线性回归

h_{\Theta }(x)=\Theta _{0}+\Theta _{1}x_{1}+\Theta _{2}x_{1}^{2}

l可以令x1^2=x2 将多项式改变 特征变为x2 其的取值范围也变了,利用x1^2进行计算。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值