多元梯度下降
定义
- 房价的线性模型中,原来只有一个房子面积为特征值,此时会有房子层数,卧室数量,使用年数等变量
- 因此在预测函数中的变量也就相应的增加,但是总的计算过程不会变,仅仅是在迭代的过程中每一步要计算的θ_i值的个数增加。
- 也正是这样,当特征量很多时,使用梯度下降算法求θ_i仍然是一个很不错的选择。
特征缩放
- 当x_i的值差距特别大时,建议进行特征缩放,因为这时可能会花费较长的时间,甚至于反复震荡,难以收敛。
- 最理想的状态是-1<x_i<1,在这个范围左右都可以接受,例如-2<x_i<+1.5,这也是能够接受的范围,但是若是-100<x_i<+100,这就明显区别于前者了。
学习率
- 学习率正确时,代价函数的值在每次迭代下是逐步下降的。
- 我们可以通过绘制代价函数的值与迭代次数的函数来判断学习率α的大小是否合适,同时判断自己的代价函数能否收敛得到最终的θ_i。
正规方程
- 其本质是将原来的函数矩阵化,通过矩阵运算直接得到所有值,在从中选择最优解。
- 将所有的数据都放入一个矩阵X中,第一列全是1,和梯度下降里一样,x_0 = 1,保证矩阵运算能够成立,将结果放到矩阵Y中。θ_i的值就在这个结果矩阵里。
- 具体的推导过程大家可以自己去查,俺也是不太懂。
- 但是正规矩阵的优点就是不需要多次运行,不需要迭代,也不用选择学习率,很直接很暴力,但是面对特征值很多的问题,他的计算量就比较大,运行时间较长,故现阶段大家还是喜欢选择梯度下降的方法。