这是梯度下降的最后一讲了,之前的四讲结合定义、几何意义、单变量、多变量线性回归全面的阐述了梯度下降。这一讲说一下特征缩放,也就是数据标准化。那为什么有特征缩放这一说呢,其实就是为了提高梯度下降收敛的速度。
所谓的特征缩放,就是在我们面对多维特征问题的时候,要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。
以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为0-2000平方英尺,而房间数量的值则是0-5。
注意看上面的表格,房屋面积及卧室数量两个特征在数值上差异巨大,如果直接将该样本送入训练,则代价函数的轮廓会是“扁长的”,在找到最优解前,梯度下降的过程不仅是曲折的,也是非常耗时的。
以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。
该问题的出现是因为我们没有同等程度的看待各个特征,即我们没有将各个特征量化到统一的区间。数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是两种常用的归一化方法:
进行了特征缩放以后,代价函数的轮廓会是“偏圆”的,梯度下降过程更加笔直,收敛更快性能因此也得到提升
祝您的机器学习之旅愉快!
本文参考资料:斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义;
领取专属 10元无门槛券
私享最新 技术干货