
多特征量
多特征量表示
-
= 表示特征量的数目
-
= 第
个训练样本的输入特征量
-
= 第
个训练样本的第
个特征量
多特征量的假设函数
为方便表示,将 的值设为1,所以现在的特征量
是一个从0开始标记的
维的向量:
同时把参数看作一个向量:
所以假设 ,现在可以写成:
等同于:
多特征的梯度下降
假设函数(Hypothesis):
参数(Parameters):
代价函数(Cost Function):
梯度下降算法(Gradient descent):

特征n=1时 | 特征n>=1时 |
---|---|
![]() |
![]() |
梯度下降使用技巧1:特征缩放(Feature Scaling)和均值归一化(Mean Normalization)
特征缩放(Feature Scaling)
梯度下降算法中,在有多个特征的情况下,如果能确保这些不同的特征都处在一个相近的范围,这样梯度下降算法就能很快的收敛。
进行特征缩放时,通常的目的时将特征的取值约束到 -1 到 +1 的范围内。
|
|
---|---|
![]() |
![]() |
均值归一化(Mean Normalization)
的意思是在训练集中特征
的平均值,而
是该特征值的范围。(最大值 - 最小值)
梯度下降实用技巧2:学习速率(Learning Rate)
- 如何调试(Debugging):如何确定梯度下降是正常工作的。
- 如何选择学习速率
:如何选择这个参数保证梯度下降正常工作。
收敛判断
梯度下降算法所做的事情就是找到一个 值,并希望它能最小化代价函数
。
通常会在梯度下降算法运行时,绘出代价函数 的值。这里
轴是表示梯度下降算法的迭代步数:

如果梯度下降算法正常工作,那么每一步迭代之后 都应该下降。
如何选择
- 如果学习速率
太小,会遇到收敛速度慢的问题。
- 如果学习速率
太大,代价函数
可能不会在每次迭代都下降,甚至可能不收敛。
事实在为梯度下降算法选择合适的学习速率时,大致按 3 的倍数来取值。例如:0.001,0.003,0.01,0.03 ...
特征的选择和多项式回归
特征的选择
特征的选择取决于从什么样的角度去审视一个特定的问题,有时通过定义新的特征,会得到一个更好的模型。
多项式回归
如下住房价格的数据集:

为了拟合它,可能会有多个不同的模型去选择。


网友评论