当前位置:网站首页>机器学习强基计划0-5:为什么学习的本质是泛化能力?
机器学习强基计划0-5:为什么学习的本质是泛化能力?
2022-07-28 10:45:00 【Mr.Winter`】
0 写在前面
机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量机、贝叶斯与马尔科夫决策、强化学习等。
详情:机器学习强基计划
在数据集核心知识串讲,构造方法解析中我们提到模型适用于样本空间中新样本的能力称为泛化(generalization),本节我们重点讨论一下机器学习模型中的泛化为什么这么重要。
1 拟合问题
机器学习算法的目标是在已知训练误差和测试误差的前提下,尽可能拟合真实规律以减小泛化误差。在拟合过程中主要有两种现象:
- 欠拟合(underfitting):指学习算法缺乏对采样数据规律的认识导致训练误差和泛化误差都较大的现象,欠拟合容易通过增加学习强度克服;
- 过拟合(overfitting):指学习算法对采样数据规律过度拟合导致将数据集个性化特征当做一般性特征,从而造成训练误差小但泛化误差大的现象。
过拟合是机器学习领域的“一生之敌”,简单来说,过拟合相当于学习器学魔怔了,只会死读书,做课本上的题(我们给定的训练集),到考场上遇到新的题目(测试集或新样本)就懵逼了。这样的学习器有用吗?那自然是没用的,我们需要的是用有限样本预测尽可能多未知样本的学习器。
那过拟合能解决吗?答案是:过拟合无法克服只能缓解
原因是机器学习算法面对的通常是NP类问题——在多项式时间内无法求解的问题。若能够克服过拟合,则通过对训练误差的最小化就可在多项式时间内计算NP类问题的最优解,换句话说机器学习就解决了世纪难题,证明了P=NP,而学界趋向于P≠NP的论断,因此认为过拟合无法克服。

2 泛化能力
过拟合的反面就是泛化——模型适用于样本空间中新样本的能力。
不管是人的学习还是机器的学习,其最高境界是什么?透过现象看本质,把握规律。
举例:物体的运动各式各样,纷繁复杂,我们总结出了牛顿三大定律,这就是我们从物体运动中学到的模型,它拥有非常强大的预测能力,在低速领域任何物体的运动预测都可以利用牛顿定律。
这个就是泛化,牛顿定律很好适应了新样本。在这个例子中,如果没有总结出牛顿定律,而是针对每个物体的每种运动都做一套特异性的模型,那就是过拟合,因为再来一个从未见过的模型,或者从未见过的运动,我们必须为它再重新总结模型。
所以,学习的本质是在总结规律,而不是复制数据,这就是泛化思想的重要所在,没有泛化性的指导,任凭模型过拟合,将导致无数学术垃圾的产生。
3 偏差-方差窘境
衡量泛化性能的指标称为泛化误差,泛化误差可视为偏差、方差和噪声的组合,证明如下。
对一个给定训练集 X X X会产生一个模型 f X f_X fX,而机器学习模型需要多次使用相同规模的不同训练集进行训练,并取平均性能:
f ˉ ( x ) = E X [ f X ( x ) ] \bar{f}\left( \boldsymbol{x} \right) =\mathbb{E} _X\left[ f_X\left( \boldsymbol{x} \right) \right] fˉ(x)=EX[fX(x)]
由于泛化误差无法直接求取,通常将测试误差近似视为泛化误差(这里采用均方误差):
e r r g = E X [ ( f X ( x ) − y X ) 2 ] err_g=\mathbb{E} _X\left[ \left( f_X\left( \boldsymbol{x} \right) -y_X \right) ^2 \right] errg=EX[(fX(x)−yX)2]
其中 y X y_X yX是测试样本 x x x在测试集中的标签。进一步:
e r r g = E X [ ( f X ( x ) − f ˉ ( x ) + f ˉ ( x ) − y X ) 2 ] = E X [ ( f X ( x ) − f ˉ ( x ) ) 2 ] + E X [ ( f ˉ ( x ) − y X ) 2 ] + 2 E X [ ( f ˉ ( x ) − y X ) ( f X ( x ) − f ˉ ( x ) ) ] \begin{aligned} err_g=\mathbb{E} _X\left[ \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) +\bar{f}\left( \boldsymbol{x} \right) -y_X \right) ^2 \right] \\ =\mathbb{E} _X\left[ \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) \right) ^2 \right] +\mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y_X \right) ^2 \right] +2\mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y_X \right) \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) \right) \right] \end{aligned} errg=EX[(fX(x)−fˉ(x)+fˉ(x)−yX)2]=EX[(fX(x)−fˉ(x))2]+EX[(fˉ(x)−yX)2]+2EX[(fˉ(x)−yX)(fX(x)−fˉ(x))]
其中交叉项
E X [ ( f ˉ ( x ) − y X ) ( f X ( x ) − f ˉ ( x ) ) ] = E X [ f ˉ ( x ) f X ( x ) − f ˉ 2 ( x ) − f X ( x ) y X + f ˉ ( x ) y X ] = f ˉ ( x ) E X [ f X ( x ) ] − f ˉ 2 ( x ) − E X [ f X ( x ) y X ] + f ˉ ( x ) E X [ y X ] = 独立于训练模型 f 测试样本标签 y X f ˉ 2 ( x ) − f ˉ 2 ( x ) − E X [ f X ( x ) ] E X [ y X ] + f ˉ ( x ) E X [ y X ] = 0 \begin{aligned} \mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y_X \right) \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) \right) \right] =\mathbb{E} _X\left[ \bar{f}\left( \boldsymbol{x} \right) f_X\left( \boldsymbol{x} \right) -\bar{f}^2\left( \boldsymbol{x} \right) -f_X\left( \boldsymbol{x} \right) y_X+\bar{f}\left( \boldsymbol{x} \right) y_X \right] \\=\bar{f}\left( \boldsymbol{x} \right) \mathbb{E} _X\left[ f_X\left( \boldsymbol{x} \right) \right] -\bar{f}^2\left( \boldsymbol{x} \right) -\mathbb{E} _X\left[ f_X\left( \boldsymbol{x} \right) y_X \right] +\bar{f}\left( \boldsymbol{x} \right) \mathbb{E} _X\left[ y_X \right] \\{\xlongequal[\text{独立于训练模型}f]{\text{测试样本标签}y_X}}\bar{f}^2\left( \boldsymbol{x} \right) -\bar{f}^2\left( \boldsymbol{x} \right) -\mathbb{E} _X\left[ f_X\left( \boldsymbol{x} \right) \right] \mathbb{E} _X\left[ y_X \right] +\bar{f}\left( \boldsymbol{x} \right) \mathbb{E} _X\left[ y_X \right] \\=0 \end{aligned} EX[(fˉ(x)−yX)(fX(x)−fˉ(x))]=EX[fˉ(x)fX(x)−fˉ2(x)−fX(x)yX+fˉ(x)yX]=fˉ(x)EX[fX(x)]−fˉ2(x)−EX[fX(x)yX]+fˉ(x)EX[yX]测试样本标签yX独立于训练模型ffˉ2(x)−fˉ2(x)−EX[fX(x)]EX[yX]+fˉ(x)EX[yX]=0
引入测试样本的真实标记 y y y,从而
e r r g = E X [ ( f X ( x ) − f ˉ ( x ) ) 2 ] + E X [ ( f ˉ ( x ) − y + y − y X ) 2 ] = E X [ ( f X ( x ) − f ˉ ( x ) ) 2 ] + E X [ ( f ˉ ( x ) − y ) 2 ] + E X [ ( y − y X ) 2 ] + 2 E X [ ( f ˉ ( x ) − y ) ( y − y X ) ] err_g=\mathbb{E} _X\left[ \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) \right) ^2 \right] +\mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y+y-y_X \right) ^2 \right] \\=\mathbb{E} _X\left[ \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) \right) ^2 \right] +\mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y \right) ^2 \right] +\mathbb{E} _X\left[ \left( y-y_X \right) ^2 \right] +2\mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y \right) \left( y-y_X \right) \right] errg=EX[(fX(x)−fˉ(x))2]+EX[(fˉ(x)−y+y−yX)2]=EX[(fX(x)−fˉ(x))2]+EX[(fˉ(x)−y)2]+EX[(y−yX)2]+2EX[(fˉ(x)−y)(y−yX)]
其中交叉项
E X [ ( f ˉ ( x ) − y ) ( y − y X ) ] [ = 独立于训练模型 f 测试样本标签 y X E X [ f ˉ ( x ) − y ] E X [ y − y X ] = 假设噪声期望为 0 0 \mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y \right) \left( y-y_X \right) \right] {[ \xlongequal[\text{独立于训练模型}f]{\text{测试样本标签}y_X}}\mathbb{E} _X\left[ \bar{f}\left( \boldsymbol{x} \right) -y \right] \mathbb{E} _X\left[ y-y_X \right] \\{ \xlongequal[]{\text{假设噪声期望为}0}}0 EX[(fˉ(x)−y)(y−yX)][测试样本标签yX独立于训练模型fEX[fˉ(x)−y]EX[y−yX]假设噪声期望为00
记模型在不同训练集下的方差 v a r ( x ) = E X [ ( f X ( x ) − f ˉ ( x ) ) 2 ] var\left( \boldsymbol{x} \right) =\mathbb{E} _X\left[ \left( f_X\left( \boldsymbol{x} \right) -\bar{f}\left( \boldsymbol{x} \right) \right) ^2 \right] var(x)=EX[(fX(x)−fˉ(x))2]、模型偏差期望 b i a s 2 ( x ) = E X [ ( f ˉ ( x ) − y ) 2 ] bias^2\left( \boldsymbol{x} \right) =\mathbb{E} _X\left[ \left( \bar{f}\left( \boldsymbol{x} \right) -y \right) ^2 \right] bias2(x)=EX[(fˉ(x)−y)2]、数据集噪声期望为 ε 2 = E X [ ( y − y X ) 2 ] \varepsilon ^2=\mathbb{E} _X\left[ \left( y-y_X \right) ^2 \right] ε2=EX[(y−yX)2]
e r r g = v a r ( x ) + b i a s 2 ( x ) + ε 2 { err_g=var\left( \boldsymbol{x} \right) +bias^2\left( \boldsymbol{x} \right) +\varepsilon ^2} errg=var(x)+bias2(x)+ε2

直观地,偏差和方差是一对矛盾的关系,称为偏差-方差窘境,我们要找的最优模型就是两个指标的折中。
边栏推荐
- Preliminary understanding of float
- Clo********e: project management notes
- Installation points and precautions of split angle probe
- Ec20/ec25 4G module at instruction development summary
- JDBC各个类的解释
- RHEL 6.4 installing SVN and Apache
- Yan reported an error: could not find any valid local directory for nmprivate/
- RHEL 6.4 安装svn和apache
- Learn how to do e-commerce data analysis (with operation analysis index framework)
- BOM part attributes and understanding
猜你喜欢

float浮动初步理解

3. MapReduce explanation and source code analysis

leetcode:1300. 转变数组后最接近目标值的数组和【二分】

分体式测斜探头安装要点及注意事项

Advance.ai sailing guide helps enterprises sail to Indonesia and grasp half of the Southeast Asian market

盘点:144个免费学习网站,全网最全资源合集

剑指 Offer 35. 复杂链表的复制

5. Implement MapReduce program on window side to complete wordcount function

盘点:令人心动的数据可视化图表

Redis-day01 common sense supplement and redis introduction
随机推荐
用手机对电脑进行远程关机
表格数据处理软件,除了Excel还有什么?
Usage of memory operation functions memcpy() and memmove()
21. Merge two ordered linked lists
_ HUGE and __ IMP__ HUGE in “math.h“
Under the platform driven platform, the "dev- > dev.of_node" of the formal parameter dev in the probe function Understanding of
Problems needing attention when VC links static libraries
Nodejs: mongodb simple fuzzy + paging query instance
19. Delete the penultimate node of the linked list
蓝桥杯嵌入式-HAL库-USART_TX
02.1.2. logic type bool
const与指针的组合使用
适合中小企业的进销存软件,搞定5大难题
CGAL compilation error
Yan reported an error: could not find any valid local directory for nmprivate/
float浮动初步理解
FHWY工作日进度表
几个数据库的相关概念
If you don't climb mountains, you don't know the height of the sky; If you don't face deep streams, you don't know the thickness of the earth
Status Notice ¶