误差反向传播算法-3| 学习笔记

简介: 快速学习误差反向传播算法-3。

开发者学堂课程【机器学习算法 :误差反向传播算法-3】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7242


误差反向传播算法-3

 

内容介绍

一.经验风险 vs 风险函数

二. 经验风险的问题

三.结构风险

 

一.经验风险 vs 风险函数

1.经验风险(EmpiricalRisk):

损失函数度量了单个样本的预测结果,要想衡量整个训练集的预测值与真实值的差异,将整个训练集所有记录均进行一次预测,求取损失函数,将所有值累加,即为经验风险。经验风险越小说明模型 f(x) 对训练集的拟合程度越好。

公式为:image.png

2、风险函数(Risk Function):

又称期望损失、期望风险。所有数据集(包括训练集和预测集,遵循联合分布 P(XY))的损失函数的期望值。

公式为: 

image.png

3.经验风险 vs 期望风险:

(1)期望风险是模型对全局(所有数据集)的效果;经验风险是模型对局部(训练集)的效果

(2)期望风险往往无法计算,即联合分布P(XY)通常是未知的;经验风险可以计算

(3)当训练集足够大时,经验风险可以替代期望风险,即局部最优代替全局最优

4.分析

对于已知的数据按照现有的模型估计预测值与真实值的差异即为经验风险。期望风险是对训练集和预测集即将产生的风险进行预测的结果,经验集是对已知的训练集的效果。期望风险一般是发生了才会有结果,经验风险可以计算,因为已经拥有训练集。

如果能够计算期望风险,那么期望风险对于判断是最佳选择,就可以找到全局最优的模型,但这种情况基本不可能,所以要用经验风险替代期望风险,用经验风险去判断预估全局数据的作用效果。经验风险是对已有的样本进行计算,已有的样本是局部数据,也就是目前能够得到的数据,即可得到局部最优。但训练集大到一定程度那么局部最优就会接近全局最优。

 

二. 经验风险的问题

在样本较小时,仅关注经验风险,很容易导致过拟合。

1. 过拟合:

对当前样本数据效果较好,经验风险比较低,但碰到新的数据集时预测效果比较差,这种效果叫过拟合。

 

图片1.png    图片2.png     图片3.png

                            样本点                                                                         一次模型拟合

图片4.png图片6.png

                二次模型拟合                                 四次模型拟合            

图片6.png

             六次模型拟合

计算工具 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. 经验风险低模型一定会好吗?

图片7.png图片8.png

在样本集中可以看出六次模型的经验风险最小,在预测集中六次模型的经验风险最大,这就表示发生了严重的过拟合

 

三.结构风险

1.结构风险(Structural Risk):

在经验风险的基础上,增加一个正则化项(Regularizer)或者叫做惩罚项(Penalty Term),

公式为: image.png

其中image.png为一个大于0的系数,J(f)表示模型f(x)的复杂度。

风险值越大,模型拟合程度越差,风险值越小,模型拟合程度越好,结构风险相较于经验风险多加了一个正数,所以风险值更大,对于不同的结构惩罚项会不同。

2.结构风险 vs 经验风险:

(1)经验风险越小,模型决策函数越复杂,其包含的参数越多

(2)当经验风险函数小到一定程度就出现了过拟合现象

(3)防止过拟合现象的方式,就要降低决策函数的复杂度,让惩罚项J(f)最小化

(4)需要同时保证经验风险函数和模型决策函数的复杂度都达到最小化

(5)把两个式子融合成一个式子得到结构风险函数然后对这个结构风险函数进行最小化

相关文章
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
11月前
|
机器学习/深度学习 算法 前端开发
图解前向、反向传播算法,一看就懂!
前向传播是神经网络中信息从输入层经过隐藏层传递到输出层的过程。每个神经元接收前一层的输出,通过加权求和和激活函数处理后传递给下一层,最终生成预测结果。此过程涉及输入信号、加权求和、激活函数应用等步骤。前向传播用于生成预测结果,在训练阶段与真实标签比较以计算损失函数,并在推理阶段直接生成预测值。反向传播则利用链式法则计算损失函数相对于权重的梯度,调整参数以减小误差,从而优化模型性能。两者结合实现神经网络的有效训练和预测。
|
机器学习/深度学习 人工智能 自然语言处理
深度学习还不如浅层网络?RL教父Sutton持续反向传播算法登Nature
【9月更文挑战第24天】近年来,深度学习在人工智能领域取得巨大成功,但在连续学习任务中面临“损失可塑性”问题,尤其在深度强化学习中更为突出。加拿大阿尔伯塔大学的研究人员提出了一种名为“持续反向传播”的算法,通过选择性地重新初始化网络中的低效用单元,保持模型的可塑性。该算法通过评估每个连接和权重的贡献效用来决定是否重新初始化隐藏单元,并引入成熟度阈值保护新单元。实验表明,该算法能显著提升连续学习任务的表现,尤其在深度强化学习领域效果明显。然而,算法也存在计算复杂性和成熟度阈值设置等问题。
280 2
WK
|
机器学习/深度学习 监控 算法
反向传播算法是如何工作的
反向传播算法通过最小化损失函数优化神经网络。首先,输入数据经由前向传播得到预测结果,并计算损失;接着,反向传播计算各参数的梯度,并利用梯度下降法更新权重和偏置。这一过程反复进行,直至满足停止条件。算法具备高效性、灵活性及可扩展性,能处理复杂模式识别与预测任务,适用于不同类型与规模的神经网络,显著提升了模型的预测准确性和泛化能力。
WK
555 3
|
机器学习/深度学习 算法
**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。
【6月更文挑战第28天】**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。数据从输入层流经隐藏层到输出层,计算预测值。接着,比较预测与真实值计算损失。然后,从输出层开始,利用链式法则反向计算误差和梯度,更新权重以减小损失。此过程迭代进行,直到损失收敛或达到训练次数,优化模型性能。反向传播实现了自动微分,使模型能适应训练数据并泛化到新数据。
316 2
|
机器学习/深度学习 人工智能 算法
反向传播算法
深度学习中,反向传播是神经网络训练的关键,它通过计算损失函数对参数的梯度来调整网络权重,减少预测与真实值的差距。该过程包括:1) 前向传播,输入数据通过网络;2) 计算损失,评估预测输出与实际值的偏差;3) 反向传播,利用链式法则计算所有参数的梯度;4) 参数更新,使用梯度下降法更新权重。这一循环不断迭代,提高模型性能。反向传播使得神经网络能适应复杂任务,推动了现代机器学习的发展。
|
机器学习/深度学习 算法 PyTorch
神经网络反向传播算法
神经网络中的反向传播算法是用于训练的关键步骤,通过计算损失函数梯度更新权重。它始于前向传播,即输入数据通过网络得出预测输出,接着计算预测与实际值的误差。反向传播利用链式法则从输出层开始逐层计算误差,更新每一层的权重和偏置。例如,一个包含隐藏层的网络,初始权重随机设定,通过反向传播计算损失函数梯度,如sigmoid激活函数的网络,调整权重以减小预测误差。在Python的PyTorch框架中,可以使用`nn.Linear`定义层,`optimizer`进行参数优化,通过`backward()`计算梯度,`step()`更新参数。
|
机器学习/深度学习 算法 BI
机器学习笔记(一) 感知机算法 之 原理篇
机器学习笔记(一) 感知机算法 之 原理篇
|
人工智能 算法 C++
c++算法学习笔记 (17) 质数
c++算法学习笔记 (17) 质数
|
人工智能 算法 C++
c++算法学习笔记 (18) 约数
c++算法学习笔记 (18) 约数

热门文章

最新文章