过拟合及损失函数

一、过拟合:

过度的拟合了训练数据, 而没有考虑到泛化能力。
模型在训练集上表现很好,但是在交叉验证集上表现先好后差。 这也正是过拟合的特征!
发生过拟合的主要原因可以有以下三点:
(1) 数据有噪声
(2) 训练数据不足, 有限的训练数据
(3) 训练模型过度导致模型非常复杂

防止过拟合:
1、减少特征属性
防止过度训练,使训练集对真实数据有更多的容忍度
2、增大样本数量
增加更多的样本数据,使拟合更精确
3、使用正则化
加入惩罚性(权重),减少测试结果对整体结果的影响
4、引入随机量(集成学习)
使样本多样化

二、正则化:

一、概念

L1范数:
当p=1时,是L1范数,其表示某个向量中所有元素绝对值之和
L2范数:
当p=2时,是L2范数,表示某个向量中所有元素平方和再开根,即欧氏距离
对模型参数w的L1正则项为

Ω ( θ ) = | | w | | 1 = i | w i |

设带L1正则化的损失函数:
J = J 0 + α | | w | | 1

对模型参数w的L2正则项为
Ω ( θ ) = α | | w | | 2 2

即权重向量w中各个元素的平方和,α通常取1/2
设带L2正则化的损失函数:
J = J 0 + α | | w | | 2 2

上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?
稀疏矩阵指的是很多元素为0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是0. 通常机器学习中特征数量很多,在预测和分类,太多特征无从选择,用稀疏模型表示,只有少数特征对模型有贡献,系数是0的特征没有太大贡献

三、损失函数:

损失函数由损失项(loss term)和正则项(regularization term)组成:

通常机器学习每一个算法中都会有一个目标函数,算法的求解过程是通过对这个目标函数优化的过程。在分类或者回归问题中,通常使用损失函数(代价函数)作为其目标函数。损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的算法使用的损失函数不一样。
损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。通常表示为如下:

θ = a r g m i n 1 N i = 1 N L ( y i , f ( x i ; θ i ) ) + λ Φ ( θ )

1. 0-1损失函数和绝对值损失函数
0-1损失是指,预测值和目标值不相等为1,否则为0:
L ( Y , f ( X ) ) = { 1 , Y f ( X ) 0 , Y = f ( X )

感知机就是用的这种损失函数。但是由于相等这个条件太过严格,因此我们可以放宽条件,即满足 |Y−f(X)|< T时认为相等。

L ( Y , f ( X ) ) = { 1 , | Y f ( X ) | T 0 , | Y = f ( X ) | < T

绝对值损失函数为:
L ( Y , f ( X ) = | Y f ( X ) |

2. log对数损失函数
逻辑斯特回归的损失函数就是对数损失函数,在逻辑斯特回归的推导中,它假设样本服从伯努利分布(0-1)分布,然后求得满足该分布的似然函数,接着用对数求极值。逻辑斯特回归并没有求对数似然函数的最大值,而是把极大化当做一个思想,进而推导它的风险函数为最小化的负的似然函数。从损失函数的角度上,它就成为了log损失函数。
log损失函数的标准形式:
L ( Y , P ( Y | X ) ) = l o g P ( Y | X )

在极大似然估计中,通常都是先取对数再求导,再找极值点,这样做是方便计算极大似然估计。损失函数L(Y,P(Y|X))是指样本X在分类Y的情况下,使概率P(Y|X)达到最大值(利用已知的样本分布,找到最大概率导致这种分布的参数值)
3. 平方损失函数
最小二乘法是线性回归的一种方法,它将回归的问题转化为了凸优化的问题。最小二乘法的基本原则是:最优拟合曲线应该使得所有点到回归直线的距离和最小。通常用欧几里得距离进行距离的度量。平方损失的损失函数为:
L ( Y | f ( X ) ) = N ( Y f ( X ) ) 2

  1. 指数损失函数
    AdaBoost就是一指数损失函数为损失函数的。
    指数损失函数的标准形式:
    L ( Y | f ( X ) ) = e x p [ y f ( x ) ]
  2. Hinge损失函数
    Hinge损失函数和SVM是息息相关的。在线性支持向量机中,最优化问题可以等价于
    min w , b i N ( 1 y i ( w x i + b ) ) + λ | | w 2 | |

这个式子和如下的式子非常像:

1 m i = 1 m l ( w x i + b y i ) + | | w | | 2

其中l(wxi+byi)就是hinge损失函数,后面相当于L2正则项。
Hinge函数的标准形式:

L ( y ) = m a x ( 0 , 1 t y )

y是预测值,在-1到+1之间,t为目标值(-1或+1)。其含义为,y的值在-1和+1之间就可以了,并不鼓励|y|>1,即并不鼓励分类器过度自信,让某个正确分类的样本的距离分割线超过1并不会有任何奖励,从而使分类器可以更专注于整体的分类误差。

猜你喜欢

转载自blog.csdn.net/sinat_30353259/article/details/80991942