在房价模型的例子中,我们提取房子的长度(frontage)和宽度(depth)作为特征之一。并得到初步的特征方程:
然而我们知道,房屋面积可以表示为:。用土地面积作为独立特征可以更好地预测价格,所以我们将作为新的特征提取出来并定义新的特征方程:
(大家可能会觉得变量太多。其实现在只是建立了一个初步的模型,在之后使用决策树、正则化等算法可以减少特征数量)
首先从吴恩达老师给的例子开始讲解:
?以房价为例:
假设房子价格只受占地面积()和卧室数量()影响,我们可以得到如下模型:
假设已知一组数据 {House:?=2000,?=5,price=$500k} :
对应到表格和坐标轴上我们可以得到以下信息:
图注:
????????假设我们按照真实场景将卧室数量的取值范围定为(0,5),而占地面积的取值范围定为(300,2000);我们会发现,得到的图以及对应的损失函数图如下图中第一行所示。梯度下降法会如同图中的箭头一般来回弹跳缓慢地指向最低点。
? ? ? ? 如果我们缩放特征(直观来看就是改变和的取值范围)我们发现将如第二行一样,数据集的点在坐标系上分布均匀,而损失函数图也如同正同心圆,不那么高瘦或矮胖。梯度下降法可以找到一条更加直接的通向最低点的路径。
? 结论:由此我们得到了特征缩放是通过根据一定规则重新缩放特征变量(如和),使它们都具有可比较的取值范围,由此提高梯度下降运行的速度。
归一化:一种数据预处理技术,旨在将数值型数据缩放到特定的范围内,通常是[0, 1]或者[-1, 1]。归一化的目的是消除不同特征之间的量纲差异,使得不同特征之间具有可比性,有利于机器学习模型的训练和收敛。
Z-score均值归一化公式:(假设有多个因素,每个因素对应一个数据集)
()
其中,( ?) 是原始数据,( ) 是原始数据的均值,( ) 是原始数据的标准差。
同样以上面房价模型为例子:
?????????假设数据样本计算出的bedrooms的均值为1.4,size的均值为450;则得到下图中的特征因素(feature)的新范围和图像:
使用归一化的情景:
归一化的目标是将特征的范围限制在(-1,1),(-3,3),(-0.3,0.3)这样的范围。像是范围太小或太大的特征就需要进行重新缩放。