搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
python随机森林实现反欺诈案例(真实案例完整流程)_随机森林模型完整实例
2
自动驾驶执行层 - 线控底盘基础原理(非常详细)
3
电气simulink常用模块_16种常用模块电路分析,电气工程师的必备
4
VUE 好看的登录页面-动态视频背景_好看的vue登录页面
5
[Java·算法·简单] LeetCode 283. 移动零
6
如何与ChatGPT交流来帮助自己
7
入坑deepfake(一) 安装及环境配置_deepfake studio
8
【面试精讲】Java动态代理是如何实现的?JDK Proxy 和 CGLib 有什么区别?_动态代理jdk和cglib实现
9
软件开发之低代码平台实践_开发低代码
10
以太坊的36个基础概念_以太坊 36位
当前位置:
article
> 正文
损失函数-经验风险最小化-结构风险最小化_经验损失最小化算法的目标函数
作者:我家自动化 | 2024-04-02 10:49:38
赞
踩
经验损失最小化算法的目标函数
zz from
http://blog.sina.com.cn/s/blog_62b0682a0101e6lp.html
1、损失函数
最简单的理解就是,给定一个实例,训练的模型对它的预测结果错了,就要受到惩罚, 因此需要定义一个量度量预测错误的程度,而损失函数就是用来衡量错误的程度。常见的损失函数有如下几类(用
来表示损失函数):
假设输入是X,输出是f(X),真实值是Y。
(1)0-1损失函数(0-1 loss function)
(2)平方损失函数(quadratic loss function)
(3)绝对损失函数(absolute loss function)
(4)对数损失函数(logarithmic loss function)
2.传统的经验风险最小化
很容易看出来,损失函数越小,模型就越好,接下来用期望风险来描述模型在整个数据集上的损失,假设我们已经得到了数据的概率测度P(X,Y),那么就可以计算损失函数的期望即期望风险:
需要说明的是,这里假设数据集包含了所有可能的数据,即P(x,y)是已知的,显然这是不可能的,我们只能尽量多的获取数据集中的数据,但是不可能获得所有输入空间中的数据。有了期望风险学习的目标就确定了,即找到使期望风险最小的模型,但是就像前面说明的,全部数据的分布是未知的,那么求解期望风险的问题就是一个病态问题。那该怎么办呢,虽然我么不知道数据集的概率测度,但是我们拥有给定的一定的独立同分布的样本,因此,我们可以用模型f(x)在这个给定的样本集上的平均损失最小化来代替无法求得得期望风险最小化。
注意上面我们再一次提到了独立同分布,这样我们就不用考虑数据集的概率测度了,计算瞬间变简单了,当然,这肯定造成了一定的计算损失,但是结果还是可信的,可取的。
假设给定的数据集是:
则经验风险或经验损失函数为:
使用经验风险泛函最小的函数来逼近期望风险泛函最小的函数,这一原则成为经验风险最小化归纳原则(ERM原则)。
根据大数定律,当样本数趋于无穷大时,经验风险趋于期望风险。但是,在实际应用中,训练样本的个数是有限的,甚至还会很少,所以使用经验风险逼近期望风险的效果就不好了。
这里还涉及到一个学习理论的关键定理,该定理指出了ERM原则一致性的条件是必要的并且充分的取决于函数集中最坏的函数。这一块只要知道它指出了经验风险和期望风险的误差是有界的就行。
上面说到,对于小样本问题,经验风险效果并不理想,因为经验风险最小化容易带来过拟合现象。过拟合现象其实就是模型的选择太在意训练误差了,反而导致预测误差随着训练误差减小而增大,造成训练结果不理想。这里不再多说,可以到网上找一个多项式拟合的例子形象的理解。我也转了一篇关于过拟合的文章,解决过拟合问题是加入惩罚项或者增加数据。
3.结构风险最小化
为了解决经验风险最小化逼近引发的一系列问题,vpnik等几位大牛发展了现代的统计学习理论,提出了结构风险最小化,更加适合解决小样本问题,并且提出了寻找结构风险最小化的方法,这一套理论发展出了有名的分类器:基于VC维理论和结构风险最小化的支持向量机SVM,它能够更快更迅速的解决小样本问题,在大样本集上也有一些基于稀疏矩阵的改进方法,成为2000年来的研究热点之一。
首先要引入函数的VC维概念:
函数集Q(f)的VC维是指能够被集合中的函数以所有可能的
种方式分成两类的样本的最大数目h.另一个说法是:假如存在一个有h个样本的样本集能够被函数集中的函数按照所有可能的
方式分成两类,则称该函数集能把样本为h的样本集打散。VC维就是h的最大值,对于h+1,函数集就无法打乱了。对于线性函数,其VC维很简单,就是函数维数+1,。
定义N(f)代表函数集Q(f)中的函数能够把给定的样本分成多少种类,称H(f)=ln(N(f))为随机熵,描述了函数集在给定数据上的多样性,引入生长函数G(n)=ln(N(f)),则生长函数与VC维的关系为:
G(h)=hln2
G(h+1)小于(h+1)ln2
即生长函数或者是线性的,或者以对数为上界。如果函数集的生长函数是线性的,则函数集的VC维是无穷大的,因为函数集能够打散的数据集数目可以无限大,反之,如果生长函数是以参数h的对数函数为界,则函数集的VC维就是h。
VC衡量了一个函数集的复杂程度,VC维越大,函数集越复杂,虽然函数打散的样本数增加了,但是计算函数的复杂度却增加了,反而不能得到好的结果(引起过拟合),VC维越小,函数集越简单,求解速度快而且方便。支持向量机只关注对偶公示中参数不为0的支持向量的那些样本,因此VC维很小。奥卡姆剃刀原理:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。
引入VC维之后我们再去看看上面红色的部分,即经验风险和期望风险的误差是依概率有界的,通过一系列复杂的公示推导我们得到如下公式:
n为样本数,h为VC维
不等式右边第一项为经验风险,第二项为置信风险,是一个减函数,整个公示反映了经验风险和真实误差的差距上界,表征了根据经验风险最小化原则得到的模型的泛化能力。称为泛化误差上界。
上述公示表明:当样本数较大时,n/h很大,置信范围就会很小,经验风险最小化接近实际最优解,而当n/h比较小时,置信范围就会很大,经验风险最小化泛化能力就差。
结构风险=经验风险+置信风险,这部分会在SVM那一块仔细介绍。
在李航的书中讲到了模型选择两种典型方法,这里简单介绍一下:
a.正则化
正则化是结构风险最小化策略的实现,在经验风险上加一个正则化项,该项与模型复杂度相关或者模型VC维相关,复杂度越大,正则化值就越大。常用的正则化项有模型参数的范数等。
b.交叉验证
交叉验证的思想就是将训练数据集随机划分成若干个块,这些块称为训练集和验证集,训练集用于训练模型,验证集用于评判训练明星的好坏,在每一块上找到风险最小化函数,然后综合再把结果综合起来考虑。常见的交叉验证包括1/3和2/3划分,k-则交叉验证以及留一法。第一种方法取数据集的2/3进行训练,剩余1/3进行验证,第二种方法取k-1份训练,剩下一份验证,将可能的K种组合都做一次,因此共需要训练k次模型,留一法是k则交叉验证的极端情况,即K=N。
最后注意一下生成模型和判别模型的区别
生成模型更像是找到数据的组织形式,而判别模型是用实现固定好的模型模拟数据。
生成模型由数据学习到联合分布,然后求解条件概率分布,因此学习速度快且能更快的收敛到真实模型。
判别模型直接学习决策函数或条件概率,侧重于预测,因此准确率高。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家自动化/article/detail/351919
推荐阅读
article
神经网络
的
Python
实现(一)了解
神经网络
_
神经网络
实验
基于
numpy
设计一个包含
输入
层
、隐含
层
和...
网络上深度学习相关博客教程质量参差不齐,很多细节很少有文章提到,所以本着夯实深度学习基础
的
想法写下此系列博文。本文会从神...
赞
踩
article
NetworkX
入门教程...
NetworkX
入门教程
NetworkX
:Python处理图数据的包_networkxnetworkx ...
赞
踩
article
hanlp
训练模型_五款
中文
分词
工具在线PK:
Jieba
,
SnowNLP
, PkuSeg, T...
最近玩公众号会话停不下来:玩转腾讯词向量:Game of Words(词语的加减游戏),准备把NLP相关的模块搬到线上,...
赞
踩
article
【
论文
】
BERT
_
bert
原文...
【
论文
】acob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutan...
赞
踩
article
基于
RESNET
网络实现
tensorrt
转
换教程(
onnx
转
engine
和
wts
转
engine
)...
近日很想验证使用pytorch训练模型
转
tensorrt
各种关系,更深理解
基于
C++ API接口
engine
加速理论(P...
赞
踩
article
pytorch
模型
参数
迁移
(三种
方法
)_
pytorch
模型
迁移
有
哪几种
方法
?...
https://blog.csdn.net/guyuealian/article/details/94181896?ut...
赞
踩
article
json
的
三种
解析
方式_
json
解析
...
一、什么是JSONJSON是一种取代XML
的
数据结构,和xml相比,它更小巧但描述能力却不差,由于它
的
小巧所以网络传输数...
赞
踩
article
【漏洞分析】浅析
android
手游
lua
脚本
的
加密与
解密
(二)...
反编译本人用到
的
是
lua
jit-decomp,这里需要注意,
lua
jit-decomp默认
的
lua
版本为5.1,
lua
j...
赞
踩
article
百度
翻译
api
(接口)--使用
post
请求
--
java
后台--只需三步_
百度
翻译
api
post
方式...
一:前言这篇文章主要是讲给需要用
百度
翻译
api
做产品的人,下面肯定不会将怎么申请
百度
翻译
api
,怎么用,因为这一些你在网...
赞
踩
article
【
科普
贴】
LDO
电源
详解
...
LDO
:全称是(Low Dropout Regulator)低压差线性稳压器。其中核心部件是工作在线性区域的调整管。如下...
赞
踩
article
triton
模型部署_
triton
部署
tensorflow
模型...
Triton Inference server是Nvidia开源的模型部署服务的框架。源码地址:https://gith...
赞
踩
article
【软件安装】py
torch
出现 ‘
torch
.
nn
‘ has no
attribute
‘Mult...
在使用新版本py
torch
执行老版本代码时,或使用
torch
keras 时,有事会出现如下错误:AttributeE...
赞
踩
article
NLP
项目8-
命名
实体
识别
_
命名
实体
识别
attention
可视化...
NLP
项目8-
命名
实体
识别
_
命名
实体
识别
attention
可视化
命名
实体
识别
attention
可视化 ...
赞
踩
article
理解
Java
虚拟机
——
JVM
_
java
jvm...
本篇文章主要介绍
Java
虚拟机
(
JVM
),主要以内存区域如何划分,什么是类加载,垃圾回收机制展开,讲解了
JVM
执行流程,...
赞
踩
article
ICLR
2021 |
腾讯
AI
Lab
入选论文解读...
本文转载自
腾讯
AI
实验室。
ICLR
(International Conference on Learning Repre...
赞
踩
article
Visual
studio
的
安装
教程
2022
最新版(图文详细)新手小白C语言软件
的
安装
_
visual
...
Visual
Studio如何下载,
安装
步骤,怎么
安装
1、
Visual
Studio下载地址2、工作负荷选择“使用C++...
赞
踩
article
DiT
: Self-
supervised
Pre-
training
for
Document
Ima...
DiT
,一种用于通用文档 AI 任务的文档图像的 Trans
for
mer 模型,该模型不依赖于任何人工标记的文档图像。创...
赞
踩
article
JSON
解析
(详细)...
1. 了解
JSON
简介:
JSON
(JavaScript Object Notation),即JS对象简谱 , 是一种轻量...
赞
踩
article
Centos
搭建
hadoop
集群_contos
hadoop
集群搭建...
搭建
hadoop
之前保证已经配置好集群机器间免密登录并搭建好zookeeper1.解压
hadoop
-3.0.0.tar....
赞
踩
article
《深入理解
Java
虚拟机
》2:
垃圾
收集器
与内存分配策略_jvm
from
space
to spac...
一、常见问题如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区...
赞
踩
相关标签
Deep Learning
神经网络
python
感知机
深度学习
编程语言
图论
hanlp 训练模型
bert
自然语言处理
迁移学习
json
javascript
android
lua
开发语言
硬件架构
嵌入式硬件
硬件工程
人工智能
算法