注:本文已迁移至:http://blog.csdn.net/JinbaoSite/article/details/66530379
四、多变量线性回归(Linear Regression with Multiple Variables)
4.1 多变量线性回归模型
(1)
Hypothesis
:
设定 x0=1 ,那么
(2) Parameters :
(3) CostFunction :
4.2 多变量线性回归(Gradient Descent For Multiple Variables)
跟单变量线性回归类似:
简化得:
4.3 特征缩放(Feature Scaling)
1、特征缩放:如果有多个变量的值在一个相近的范围内,那么我们可以将它们缩放在一个更小的范围内,将使得梯度下降算法更快地收敛。
2、特征缩放的方法:
2、例子
左边比右边需要更多的步数来到达最低点。
3、通常情况下,我们进行特征缩放的时候,尝试将所有特征的尺度都尽量缩放在-1到1之间。如果不在-1到1之间也是可以,并没有明确的要求,但不要太大或者太小了。
4.4 均值归一化(mean normalization)
均值归一化是数值一般化(Feature Normalization)的另一种方式,原理和作用跟特征缩放一致。
ui
:特征变量的平均值
si
:特征变量的最大值-最小值
4.5 学习率 α
如果我们的学习率
α
选择合适的话,我们会得到下面以梯度下降的迭代次数为横坐标的曲线图
如果学习率
α
太大,那么结果可能是下面两种情况,我们这个时候需要选择更小一点的学习率
α
。
所以,梯度下降算法的每次迭代收到学习率的影响,如果学习率
α
过小,则达到收敛所需的迭代次数会非常高,如果学习率
α
过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。
4.6 多项式回归(Polynomial Regression)
线性回归并不适用于所有数据,有时候我们需要曲线来适应我们的数据。
假如有一个三次方模型
hθ(x)=θ0+θ1x1+θ2x21+θ3x31
,为了便于使用线性回归来解决,我们做如下变换
这个时候特征缩放就很有必要了。
五、正规方程(Normal Equation)
5.1 正规方程
对于方程
J(θ0,θ1,⋯,θn)=12m∑i=1m(hθ(x(i))−y(i))2
为了求
J(θ0,θ1,⋯,θn)
最小值,我们利用数学方法来求解,对所有的变量求偏导数,令偏导数
∂J(θ)∂θj=0
,求出
(θ0,θ1,⋯,θn)
使得
J(θ0,θ1,⋯,θn)
最小。
求解结果为
5.2 梯度下降与正规方程比较
梯度下降 | 正规方程 |
---|---|
需要选择学习率 α | 不需要 |
需要多次迭代 | 一次运算得出 |
当特征数量n大时也能很好使用 | 需要计算出 (XTX)−1 ,如果特征数量n较大则运算代价大,通常来说当n小于10000时还是可以接受的 |
适用于各种类型的模型 | 只适用于线性模型,不适合逻辑回归模型等其他模型 |