多特征量
多特征量表示
- = 表示特征量的数目
- = 第 个训练样本的输入特征量
- = 第 个训练样本的第 个特征量
多特征量的假设函数
为方便表示,将 的值设为1,所以现在的特征量 是一个从0开始标记的 维的向量:
同时把参数看作一个向量:
所以假设 ,现在可以写成:
等同于:
多特征的梯度下降
假设函数(Hypothesis):
参数(Parameters):
代价函数(Cost Function):
梯度下降算法(Gradient descent):
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 ...
特征的选择和多项式回归
特征的选择
特征的选择取决于从什么样的角度去审视一个特定的问题,有时通过定义新的特征,会得到一个更好的模型。
多项式回归
如下住房价格的数据集:
为了拟合它,可能会有多个不同的模型去选择。
网友评论