机器学习之过拟合、正则、特征值和特征向量

一、过拟合

在这里插入图片描述
    在讨论什么是过拟合之前,我们先讨论一下什么是拟合:曲线拟合fit theory),俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合 (fitting)(如上图所示)。
    接下来我们讨论什么是过拟合:
    在统计学中,过拟合(英语:overfitting,或称过度拟合)现象是指过于紧密或精确地匹配特定数据集的结果,以致于无法拟合其他数据或预测未来的观察结果(如下图右边部分)。对比于可获取的数据总量来说,一个荒谬的模型只要足够复杂,是可以完美地适应数据。过拟合一般可以视为违反奥坎剃刀原则(若无必要,勿增实体)。
    相对于过拟合是指,使用过多参数,以致太适应数据而非一般情况,另一种常见的现象是使用太少参数,以致于不适应数据,这则称为乏适(英语:underfitting,或称:拟合不足)现象(如下图左边部分)。
    两者的区别:欠拟合在训练集和测试集上的性能都较差,而过拟合往往能较好地学习训练集数据的性质,而在测试集上的性能较差。在神经网络训练的过程中,欠拟合主要表现为输出结果的高偏差,而过拟合主要表现为输出结果的高方差。
    下图中间的部分叫做恰拟合,就是拟合的刚刚好。
在这里插入图片描述
    在了解完什么是欠拟合、恰拟合、过拟合之后,我们来讨论一下——“产生过拟合的原因?”

原因

1. 建模样本抽取错误或建模时的“逻辑假设”到了模型应用时已经不能成立了。
2. 样本里的噪音数据干扰过大或参数太多、模型复杂度高。
3. 决策树模型
    如果我们对于决策树的生长没有合理的限制和修剪的话,决策树的自由生长有可能每片叶子里只包含单纯的事件数据(event)或非事件数据(no event),可以想象,这种决策树当然可以完美匹配(拟合)训练数据,但是一旦应用到新的业务真实数据时,效果是一塌糊涂。
4. 神经网络模型
    a.由于对样本数据,可能存在隐单元的表示不唯一,即产生的分类的决策面不唯一。随着学习的进行,BP算法使权值可能收敛过于复杂的决策面,并至极致。
    b.权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

解决方法
  • 如交叉验证
    交叉验证,有时亦称循环估计, 是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析,而其它子集则用来做后续对此分析的确认及验证。一开始的子集被称为训练集。而其它的子集则被称为验证集或测试集。交叉验证的目标是在训练阶段定义一组用于“测试”模型的数据集,以便减少像过拟合的问题,得到该模型将如何衍生到一个独立的数据集的提示。常见的交叉验证形式:Holdout 验证、k折交叉验证、留一验证。
  • 提早停止 (Early stopping)
    在机器学习中,提早停止是一种正则化形式,用于在使用迭代方法(例如梯度下降)训练学习者时避免过拟合。此类方法会更新学习者,以使其每次迭代都更适合训练数据。在某种程度上,这可以提高学习者在训练集之外的数据上的表现。但是,在那之后,要提高学习者对训练数据的适应性会以增加泛化误差为代价。提前停止规则提供了关于学习者开始过度适应之前可以运行多少次迭代的指导。早期停止规则已在许多不同的机器学习方法中采用,具有不同的理论基础。
  • 贝斯信息量准则
    在统计中,贝叶斯信息准则(BIC)或Schwarz信息准则(也称为SICSBCSBIC)是用于在有限模型集之间进行模型选择的准则。BIC最低的模型是首选。它部分基于似然函数,并且与Akaike信息标准(AIC)密切相关。
    拟合模型时,可以通过添加参数来增加可能性,但这样做可能会导致过度拟合。BICAIC都试图通过对模型中的参数数量引入惩罚项来解决此问题。BIC中的惩罚期限大于AIC中的惩罚期限。
  • 赤池信息量准则
    赤池信息量准则(英语:Akaike information criterion,简称AIC)是评估统计模型的复杂度和衡量统计模型“拟合”资料之优良性(英语:Goodness of Fit,白话:合身的程度)的一种标准,是由日本统计学家赤池弘次创立和发展的。赤池信息量准则建立在信息熵的概念基础上。
  • 添加正则项
    L1正则更加容易产生稀疏解、L2正则倾向于让参数w趋向于0.

二、L1和L2正则

    首先我们要先了解一下什么是正则化(Regularization),从使用正则化解决了一个什么问题的角度来看:正则化是为了防止过拟合, 进而增强泛化能力。用白话文转义,泛化误差generalization error)= 测试误差test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好。
在这里插入图片描述

    如上图,红色这条“想象力”过于丰富上下横跳的曲线就是过拟合情形。结合上图和正则化的英文
Regularizaiton-Regular-Regularize,直译应该是:规则化(加个“化”字变动词,自豪一下中文还是强)。什么是规则?你妈喊你6点前回家吃饭,这就是规则,一个限制。同理,在这里,规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀。正则化,看起来,挺不好理解的,追其根源,还是“正则”这两字在中文中实在没有一个直观的对应,如果能翻译成规则化,更好理解。但我们一定要明白,搞学术,概念名词的准确是十分重要,对于一个重要唯一确定的概念,为它安上一个不会产生歧义的名词是必须的,正则化的名称没毛病,只是从如何理解的角度,要灵活和类比。link

    机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作 l 1 \mathscr{l}_1 l1-norm和 l 2 \mathscr{l}_2 l2-norm中文称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数。
    L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。
L1正则化 J ( θ ) = 1 2 m ∑ i = 1 m [ ( h θ ( x i ) − y i ) 2 + λ ∑ j = 1 n ∣ θ j ∣ ] J(\theta) = \frac{1}{2m}\sum_{i=1}^m[(h_\theta(x_i) - y_i)^2 + \lambda\sum_{j=1}^n|\theta_j|] J(θ)=2m1i=1m[(hθ(xi)yi)2+λj=1nθj]L2正则化 J ( θ ) = 1 2 m ∑ i = 1 m [ ( h θ ( x i ) − y i ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta) = \frac{1}{2m}\sum_{i=1}^m[(h_\theta(x_i) - y_i)^2 + \lambda\sum_{j=1}^n\theta_j^2] J(θ)=2m1i=1m[(hθ(xi)yi)2+λj=1nθj2]
Lasso回归的损失函数 min ⁡ w 1 2 n s a m p l e s ∥ X w − y ∥ 2 2 + α ∥ w ∥ 1 \min \limits_w\frac{1}{2n_{samples}}\begin{Vmatrix} X_w -y \end{Vmatrix}_2^2 + \alpha\begin{Vmatrix} w \end{Vmatrix}_1 wmin2nsamples1Xwy22+αw1Ridge回归的损失函数 min ⁡ w ∥ X w − y ∥ 2 2 + α ∥ w ∥ 2 2 \min \limits_w\begin{Vmatrix} X_w -y \end{Vmatrix}_2^2 + \alpha\begin{Vmatrix} w \end{Vmatrix}_2^2 wminXwy22+αw22

    一般回归分析中回归 w w w表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下:

1.公式表述
L1正则化是指权值向量 w w w中各个元素的绝对值之和,通常表示为 ∥ w ∥ 1 \begin{Vmatrix} w \end{Vmatrix}_1 w1
L2正则化是指权值向量 w w w中各个元素的平方和然后再求平方根,通常表示为 ∥ w ∥ 2 2 \begin{Vmatrix} w \end{Vmatrix}_2^2 w22
2.性质描述
L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择。
L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合。

L1和L2正则化的区别

在这里插入图片描述

    可以直观的理解为(帮助理解正则化),我们的目标函数(误差函数)就是求蓝圈+红圈的和的最小值(回想等高线的概念并参照3式),而这个值通在很多情况下是两个曲面相交的地方。
    可以看到二次正则项的优势,处处可导,方便计算,限制模型的复杂度,即w中M的大小,M是模型的阶次,M越大意味着需要决定的权重越多,所以模型越复杂。在多项式模型多,直观理解是每一个不同幂次的x前的系数,0(或很小的值)越多,模型越简单。这就从数学角度解释了,为什么正则化(规则化)可以限制模型的复杂度,进而避免过拟合 。
    不知道有没有人发现一次正则项的优势, w ∗ w^* w的位置恰好是 w1=0的位置,意味着从另一种角度来说,使用一次正则项可以降低维度(降低模型复杂度,防止过拟合)二次正则项也做到了这一点,但是一次正则项做的更加彻底,更稀疏。不幸的是,一次正则项有拐点,不是处处可微,给计算带来了难度,很多厉害的论文都是巧妙的使用了一次正则项写出来的,效果十分强大。link

三、特征值和特征向量

    接触机器学习,就不得不了解数据的特征。特征指的是从原始数据提取的单个属性,一般是一个数。原始数据必须转化成一个特征向量才可以进一步分析。它们类似于统计中的自变量。特征向量所属的向量空间称为特征空间
    在数学上,特别是线性代数中,对于一个给定的方阵 A A A,它的特征向量(eigenvector,也译固有向量本征向量 v v v经过这个线性变换之后,得到的新向量仍然与原来的 v v v保持在同一条直线上,但其长度或方向也许会改变。 A v = λ v Av = \lambda v Av=λv λ \lambda λ 为标量,即特征向量的长度在该线性变换下缩放的比例,称 λ \lambda λ 为其特征值本征值)。了解更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值