机器学习基础

机器学习基础

机器学习的主要挑战是我们的算法必须能够在先前未观测到的新输入上表现良好,而不只是在训练集上表现良好。
在先前未观测到的输入上表现良好的能力被称为泛化
误差分成 训练误差测试误差(也叫泛化误差

先思考一个问题?
在对训练集进行学习时,我们只能观测到训练集时,也只能得到训练误差,可是说白了我们真正关心的是测试误差(因为我们要用学习到的模型去判断新的数据),那么机器学习中为什么可以通过最小化训练误差(损失函数)来训练模型呢?
难道训练误差和测试误差在这个角度上意义是一样的吗?

统计学习理论 可以回答这个问题。
训练集和测试集数据通过数据集上被称为数据生成过程的概率分布生成,通常,我们假设数据都是由符合独立同分布假设的,每一个数据集中的样本都是彼此相互独立的,并且训练集和测试集是同分布的,采样自相同的分布。
在这个概率框架和独立同分布假设的情况下,训练误差和测试误差的期望是一样的(这就回答了上面我们提出的那个问题)

欠拟合 和过拟合:
1)降低训练误差
2)缩小训练误差和测试误差的差距
这两个因素对应机器学习的两个挑战:欠拟合过拟合
欠拟合是指模型不能在训练集上获得足够低的误差,
过拟合是指训练误差和测试误差之间的差距过大。

容量:
通过调整模型的容量,我们可以控制模型是否偏向于过拟合和欠拟合。
模型的容量是指其拟合各种函数的能力。容量低的模型可能很难拟合训练集。容量高的模型可能会过拟合,因为记住了不适用于测试集的训练集性质。
通过改变输入特征的数目和加入这些特征对应的参数可以改变模型的容量。

**奥卡姆剃刀原理:**在同样能够解释已知观测现象的假设中,我们应该挑选最简单的那个。
统计学习理论提供了量化模型容量的不同方法。 VC维是最有名的。
**VC维度量二元分类器的的容量。VC定义为该分类器能够分类的训练样本的最大数目。
**
**正则化:**算法的效果不仅很大程度上受影响于假设空间的函数数量,也取决于这些函数的具体形式。
正则化是指修改学习算法,使其降低泛化误差而非训练误差。

参数范数惩罚:
许多正则化方法通过对目标函数J 添加一个参数范数惩罚Ω(θ),限制模型的学习能力。正则化后的目标函数记作:
J ′ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) J'(θ;X,y)=J(θ;X,y) + αΩ(θ) J(θ;X,y)=J(θ;X,y)+αΩ(θ)
L2范数可以让权重衰减,L1范数可以使权重稀疏化(用于特征选择,很多特征的权重变为零)

偏差和方差:

偏差(bias):描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据

方差(variance):描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散

重点:机器学习算法的泛化性能和偏差和方差的关系?

“偏差和方差分解” 是解释学习算法泛化性能的一种重要工具。偏差和方差分解试图对机器学习算法的期望泛化错误率进行拆解。

算法在不同的训练集上学得的结果很可能不同,即便这些训练集来自于同一个分布。
对测试样本x,令 y D 为 x 在 数 据 集 中 的 标 记 , y 为 x 的 真 实 标 记 , f ( x ; D ) 为 训 练 集 D 上 学 的 模 型 f 在 x 上 的 预 测 输 出 y_D为x在数据集中的标记,y为x的真实标记,f(x;D)为训练集D上学的模型f在x上的预测输出 yDxyxf(x;D)Dfx
以回归任务为例,学习算法的期望预测为: f ′ ( x ) = E D [ f ( x : D ) ] f'(x)=E_D[f(x:D)] f(x)=ED[f(x:D)]
使用样本数相同不同训练集产生的方差为:
v a r ( x ) = E D [ ( f ( x : D ) − f ′ ( x ) ) 2 ] var(x)=E_D[(f(x:D)-f'(x))^2] var(x)=ED[(f(x:D)f(x))2]
噪声为 ε 2 = E D [ ( y D − y ) 2 ] ε^2=E_D[(y_D-y)^2] ε2=ED[(yDy)2]
期望输出与真实标记的差别称为偏差(bias) b i a s 2 ( x ) = ( f ′ ( x ) − y ) 2 bias^2(x)=(f'(x)-y)^2 bias2(x)=(f(x)y)2
对算法的期望泛化误差进行分解:
E ( f ( x : D ) = E D [ ( f ( x ; D ) − y D ) 2 ] = b i a s 2 ( x ) + v a r ( x ) + ε 2 E(f(x:D)=E_D[(f(x;D)-y_D)^2] = bias^2(x)+var(x)+ε^2 E(f(x:D)=ED[(f(x;D)yD)2]=bias2(x)+var(x)+ε2(推导过程略)
即泛化误差可以分解为:偏差、方差和噪声之和。

其中偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力

方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。

噪声则表达了当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度。

偏差与方差分解表明:泛化性能是由学习算法的能力、数据充分性和学习任务本身的难度所共同决定的。

对于给定的学习任务,为了取得较好的泛化性能,则需使偏差较小,即能够充分拟合数据,并是方差较小,即使得数据扰动产生的影响小。

一般来说,偏差和方差是有冲突的,这称为偏差—方差窘境。
假如学习算法训练不足时,此时学习器的拟合能力不够强,此时数据的扰动不会对结果产生很大的影响(可以想象成由于训练的程度不够,此时学习器指学习到了一些所有的数据都有的一些特征),这个时候偏差主导了算法的泛化能力。随着训练的进行,学习器的拟合能力逐渐增强,偏差差逐渐减小,但此时不同通过数据学习得到的学习器就可能会有较大的方差,即此时的方差会主导模型的泛化能力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值