1.特征缩放
1.1 Feature Scaling 特征缩放:将所有特征的范围缩放到大致相同的范围。对于某一个特征来说,使用下面的式子进行特征缩放x = x /(x的最大值 - x的最小值)。
1.2 Mean normalization 均值归一化:使得某一个特征x的均值为零的特征范围缩放。对于某一个特征x来说,使用下面的式子进行均值归一化:x = (x - x的均值) / (x的最大值 - x的最小值)或者x = (x - x的均值) / (x的标准差)
1.3 特征缩放的作用
但是,特征缩放并不能改善计算的代价(computational cost)。
2.learning rate对梯度下降算法的影响
2.1 判断梯度下降算法的有效性
随着迭代次数的增加,J(θ)的值应该会越来越小,所以,可以将不同迭代次数的J(θ)画出来,横坐标为迭代次数,纵坐标为J(θ)的值,如下图。如果随着迭代次数的增加,J(θ)的值越来越小,则梯度下降算法是有效的。
如果J(θ)出现随着迭代次数的增加而增加或者振荡时,梯度下降算法失效,主要原因是选择的学习速率α太大。出现这种失效的情况的时候,需要通过减少α值来使得J(θ)能够收敛。
综上,对于合适的α,在进行每一次迭代的时候,J(θ)都会下降;
对于太小的α,J(θ)收敛的速度会比较慢;
对于太大的α,在进行每一次迭代的时候,J(θ)会出现上升,或者振荡,这种时候应该选择较小的α。
3 Normal Equation VS Gradient Descent
Normal Equation就是直接求解cost function的导数为0时的参数的值来求解最优解,对于线性回归问题来说,梯度下降和Normal Equation的优缺点如下。
对于复杂的cost function来说,直接求解导数为0的参数值有时会很困难,所以,这个时候,可以采用梯度下降算法等其他求解最优解的方法,而不采用直接求解导数值为0的参数的方法。