吴恩达机器学习day3
·
一、多元线性回归
1.概念
还记得本来那个预测房价的例子吗?之前是只用房子的面积来预测房价,但是现实中肯定还有很多影响因素,会有更多的特征,x就不止一个了

2.向量化
将参数向量化,不仅能简洁代码,就连运行速度也快了不少
如果用普通的标量方式,多个特征计算需要一个一个取值,一个一个算。
但是用向量的话,计算机能够同时获得多个值,并且利用好GPU并行性能好的特点,大大提高计算速度。

当特征变多了,计算梯度的方法也有所不同,需要通过迭代对每个维度的w进行求导。
有时候在后台会用正规方程来实现求解,直接计算导数为0的点的值,不需要迭代求解(首先求出函数的梯度,令梯度等于0向量,求出驻点)
但是更多问题中,往往梯度下降,一步步迭代求解的方法表现更好。
二、特征缩放
1.概念
还是那个例子,房子的面积w1和卧室的数量w2都会影响房价,其中房子的面积取值范围很大,而卧室的数量取值范围却很小,这会导致呈现的等高线扁扁长长的。
因为w1太长了,w1走很多才往最优解逼近一点;w2太短了,而w1和w2都乘上学习率lr,因此它们是在同数量级微小变化调整,所以w2变的就会显得多,显得左右横跳

也就是说,如果不同特征的取值范围相差特别多,那么这会降低梯度下降的速度。
如果通过特征缩放,使得它们的取值范围相似,就能够解决这个问题。
2.做法
假设房子的大小x1范围是300到2000英尺
- 第一种方法,除以最大值,300<x1<2000,缩放后0.15<x1<1。
- 第二种方法,归一化,能够让处理后的值在0附近,有正有负,公式如下:

- z-score归一化,就是概率论里面的标准化,这样处理后的数据就符合标准正态分布,公式如下:

特征缩放能够使得梯度下降运行得更快,并且几乎没有任何坏处,因此被广泛使用。
更多推荐
所有评论(0)