假设函数
Hθ(x )=θ0+θ1X1+θ2X2+θ3X3+⋯+θñXñ
使用矩阵乘法的定义,多变量假设函数可以简单表示为
hθ(x)=[θ0 θ1... θn]=θTx
为了方便起见,将x0设置为1
成本函数
J(θ)=1/2m(hθ(x(i))-y(i))^2
多变量的梯度下降
重复直至收敛:
:=
−
(
(
)−
)*
in other words:
repeat until convergence:{
:=
−
(
(
)−
)*
for j:=0...n
}
最终 梯度下降矩阵表示法为:
θ:=θ−(Xθ−
)
特征规范化
将特征值放到大致相同的范围加速梯度下降,适用于轮廓图不圆的情况。
1特征缩放
其中si为特征变化范围
2均值归一化
其中
为该特征变量的平均值
梯度下降提示
1调试梯度下降
绘制具有迭代次数的图。如果J(θ)增加,α需要减小,α过大的情况导致无法收敛。
2自动收敛检测
如果J(θ)在一次迭代中减小小于E,则收敛,E为一些小zh值,10^-3
如果学习率α足够小,J(θ)将在每次迭代时减小。
正规方程
是在没有迭代的情况下找到最佳的值。
点击链接获取证明过程:
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函数
不可逆,主要的原因有两点:
冗余特征,其中两个特征密切相关(线性相关)
特征太多(m<=n),删除一些特征
多项式回归
我们可以通过不同方式的假设改进我们的特征和ji假设函数形式。
将多项式回归变为线性回归
l可以令x1^2=x2 将多项式改变 特征变为x2 其的取值范围也变了,利用x1^2进行计算。