当前位置:网站首页>机器学习强基计划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

直观地,偏差和方差是一对矛盾的关系,称为偏差-方差窘境,我们要找的最优模型就是两个指标的折中。
边栏推荐
- JS - modify the key name of the object in the array
- The blogs of excellent programmers at home and abroad are all here, please check it
- Nodejs: mongodb simple fuzzy + paging query instance
- nodejs:检测并安装npm模块,如果已安装则跳过
- 02.1.2. logic type bool
- const与指针的组合使用
- Table data processing software, what else besides excel?
- 网络文件系统服务(NFS)
- Jianzhi offer 09. realize queue with two stacks
- Use the common union and pointer to test the size end
猜你喜欢

10_ UE4 advanced_ Add fall and cast actions

Yan reports an error: exception message: /bin/bash: line 0: fg: no job control

适合中小企业的进销存软件,搞定5大难题

零代码 | 轻松实现数据仓库建模,搭建BI看板

21. Merge two ordered linked lists

盘点:6本书教会你职场晋升必备技能

Do data analysis, do you still not understand RFM analysis method (model)?

Zero code | easily realize data warehouse modeling and build Bi Kanban

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

leetcode:981. 基于时间的键值存储【迭代for的陷阱:on】
随机推荐
这里有一份超实用Excel快捷键合集(常用+八大类汇总)
platform驱动平台下,关于probe函数中,形参dev的“dev->dev.of_node;”的理解
Zero code | easily realize data warehouse modeling and build Bi Kanban
C language to convert float data into BCD data
PHP发送移动MAS短信乱码的解决方法
Blue Bridge Cup embedded Hal library systick
理解Oracle的几个概念
Related concepts of several databases
构建快捷开发IDE:VisualSVN+Sublime+Visual Studio 2013+QuickEasyFTPServer
哈希表的相关知识点
ctf技能树----文件上传
读懂这6本书,学习MySQL更轻松
CGAL compilation error
盘点:令人心动的数据可视化图表
Under the platform driven platform, the "dev- > dev.of_node" of the formal parameter dev in the probe function Understanding of
使用共用体union及指针测试大小端
Problems needing attention when VC links static libraries
Header library file
Do data analysis, do you still not understand RFM analysis method (model)?
学会这些分析方法及模型,遇到问题不再没思路