开发者学堂课程【机器学习算法 :误差反向传播算法-3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7242
误差反向传播算法-3
内容介绍
一.经验风险 vs 风险函数
二. 经验风险的问题
三.结构风险
一.经验风险 vs 风险函数
1.经验风险(EmpiricalRisk):
损失函数度量了单个样本的预测结果,要想衡量整个训练集的预测值与真实值的差异,将整个训练集所有记录均进行一次预测,求取损失函数,将所有值累加,即为经验风险。经验风险越小说明模型 f(x) 对训练集的拟合程度越好。
公式为:
2、风险函数(Risk Function):
又称期望损失、期望风险。所有数据集(包括训练集和预测集,遵循联合分布 P(XY))的损失函数的期望值。
公式为:
3.经验风险 vs 期望风险:
(1)期望风险是模型对全局(所有数据集)的效果;经验风险是模型对局部(训练集)的效果
(2)期望风险往往无法计算,即联合分布P(XY)通常是未知的;经验风险可以计算
(3)当训练集足够大时,经验风险可以替代期望风险,即局部最优代替全局最优
4.分析
对于已知的数据按照现有的模型估计预测值与真实值的差异即为经验风险。期望风险是对训练集和预测集即将产生的风险进行预测的结果,经验集是对已知的训练集的效果。期望风险一般是发生了才会有结果,经验风险可以计算,因为已经拥有训练集。
如果能够计算期望风险,那么期望风险对于判断是最佳选择,就可以找到全局最优的模型,但这种情况基本不可能,所以要用经验风险替代期望风险,用经验风险去判断预估全局数据的作用效果。经验风险是对已有的样本进行计算,已有的样本是局部数据,也就是目前能够得到的数据,即可得到局部最优。但训练集大到一定程度那么局部最优就会接近全局最优。
二. 经验风险的问题
在样本较小时,仅关注经验风险,很容易导致过拟合。
1. 过拟合:
对当前样本数据效果较好,经验风险比较低,但碰到新的数据集时预测效果比较差,这种效果叫过拟合。
样本点 一次模型拟合
二次模型拟合 四次模型拟合
六次模型拟合
计算工具 excel 表格,r 语言,阿里云平台
- 一次模型: y=1.0429x+0.2571
- 二次模型: y=-0.0524x2+ 1.4619x-0.3714
- 四次模型: y=0.0886x4-1.3904x3+ 7.275x2-13.303x+8.6571
- 六次模型: y=-0.0289x6+0.73x5-7.1972x4+34.933x3-86.574x2+103.14x-43.8
2. 说明:
一次模型的拟合中有很多点并没有在所表示的线中,表示经验风险不是0。
二次模型的经验风险会比一次模型的经验风险小。四次模型的每一个点比较接近图中的线。六次模型会完美拟合每一个点。经验风险最小时是六次模型。
3. 经验风险低模型一定会好吗?
在样本集中可以看出六次模型的经验风险最小,在预测集中六次模型的经验风险最大,这就表示发生了严重的过拟合
三.结构风险
1.结构风险(Structural Risk):
在经验风险的基础上,增加一个正则化项(Regularizer)或者叫做惩罚项(Penalty Term),
公式为: ,
其中为一个大于0的系数,J(f)表示模型f(x)的复杂度。
风险值越大,模型拟合程度越差,风险值越小,模型拟合程度越好,结构风险相较于经验风险多加了一个正数,所以风险值更大,对于不同的结构惩罚项会不同。
2.结构风险 vs 经验风险:
(1)经验风险越小,模型决策函数越复杂,其包含的参数越多
(2)当经验风险函数小到一定程度就出现了过拟合现象
(3)防止过拟合现象的方式,就要降低决策函数的复杂度,让惩罚项J(f)最小化
(4)需要同时保证经验风险函数和模型决策函数的复杂度都达到最小化
(5)把两个式子融合成一个式子得到结构风险函数然后对这个结构风险函数进行最小化