0x00 前言
在机器学习中,过拟合是一个十分重要的概念,围绕它的问题夜十分令人酸爽。
下面的的一些文字将会围绕过拟合问题进行分析,公式很少,我尝试通过感官上的方式来解释清楚。
整个行文如下:
- 首先要明白什么是损失函数?我们拿它来做什么?
- 其次来分析一下什么什么是过拟合?顺便补充一下欠拟合是什么?
- 过拟合有很多种解决方式,我们只取其中的正则化的方式做一个小的讲解。
0x01 损失函数
guonihe1.png损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。
其实我们在搞模型的时候,很大程度上是为了让损失函数最小。
0x02 过拟合和欠拟合
什么是拟合:所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1, λ2,…,λn),使得该函数与已知点集的差别(最小二乘意义)最小。
欠拟合:或者叫作叫做高偏差(bias)。
欠拟合的原因:模型复杂度过低,不能很好的拟合所有的数据,训练误差大;
避免欠拟合:增加模型复杂度,如采用高阶模型(预测)或者引入更多特征(分类)等
。
过拟合:也叫高方差(variance)。
过拟合的原因:模型复杂度过高,训练数据过少,训练误差小,测试误差大;
避免过拟合:降低模型复杂度,如加上正则惩罚项,如L1,L2,增加训练数据等。
0x03 正则化
正则化是避免过拟合的一种主要方法。
使用正则化的方法非常有效,当我们有很多特征变量时,其中每一个变量都能对预测产生一点影响,而且其中每一个变量都是有用的,因此我们不希望把它们删掉,这就导致了正则化概念的发生。
guonihe2.png如图,图中的公式R(w)就是我们要加的惩罚项。现在我们的任务变成了如何让等式左边的L变得更小。为了让它更小,我们需要:1.损失函数更小;2.惩罚项更小。为了让惩罚项更小,我们需要更小的参数。
guonihe3.png0x04 总结
L1和L2的讲解请参考:http://t.hengwei.me/post/%E6%B5%85%E8%B0%88l0l1l2%E8%8C%83%E6%95%B0%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8.html
网友评论