梯度下降(逻辑回归)
总结:拟合功能的函数(分类/回归)——>成本函数——>针对成本函数的优化函数
解决过拟合问题
欠拟合:
欠拟合是指模型不能在训练集上获得足够低的误差。换句换说,就是模型复杂度低,模型在训练集上就表现很差,没法学习到数据背后的规律。
过拟合:
过拟合是指训练误差和测试误差之间的差距太大。换句换说,就是模型复杂度高于实际问题,模型在训练集上表现很好,但在测试集上却表现很差。模型对训练集"死记硬背"(记住了不适用于测试集的训练集性质或特点),没有理解数据背后的规律,泛化能力差。
过拟合原因:
造成原因主要有以下几种:
- 训练数据集样本单一,样本不足。如果训练样本只有负样本,然后那生成的模型去预测正样本,这肯定预测不准。所以训练样本要尽可能的全面,覆盖所有的数据类型;
- 训练数据中噪声干扰过大。噪声指训练数据中的干扰数据。过多的干扰会导致记录了很多噪声特征,忽略了真实输入和输出之间的关系;
- 模型过于复杂。模型太复杂,已经能够“死记硬背”记下了训练数据的信息,但是遇到没有见过的数据的时候不能够变通,泛化能力太差。我们希望模型对不同的模型都有稳定的输出。模型太复杂是过拟合的重要因素。
解决过拟合的办法:
- 收集更多的训练数据;
- 使用更少的特征
- 正则化
正则化
正则化是用来防止模型过拟合而采取的手段。我们对代价函数增加一个限制条件,限制其较高次的参数大小不能过大。
y
=
28
x
1
+
11
x
2
2
+
222
x
3
3
−
174
x
4
4
y=28x_1+11x_2^2+222x_3^3-174x_4^4
y=28x1+11x22+222x33−174x44
对于这个公式来说就是减少最高项
x
3
4
x_3^4
x34的参数值,而不必要求这个参数的设置为0。
所以正则化的作用是,它可以让你保留所有特征,但它们只是防止特征产生过大的影响,因为这有时会导致过度拟合。
例如把上面的式子变成:
y
=
13
x
1
+
0.23
x
2
2
+
0.000014
x
3
3
−
0.0001
x
4
4
y=13x_1+0.23x_2^2+0.000014x_3^3-0.0001x_4^4
y=13x1+0.23x22+0.000014x33−0.0001x44
w向量的最终收敛结果本质上就是代价函数的极小值点,增加了后面的大系数二次项后为了使得代价函数取值较小就只能把相应的w值减小了,最终呈现的结果就是w变小了。
用于线性回归的正则方法
实际上就是因为成本函数做了一个加上正则项的处理,所有梯度下降的偏导函数对于w的偏导做了更新 。