A Tutorial on Energy-Based Learning
概
从能量的角度看一些函数, 这里就记录一下这些损失.
主要内容
\(E(Y, X)\)反映了\(X, Y\)的关系, 认为能量越低, 而且的关系越紧密, 从下图中可以发现, \(X, Y\)的组合多种多样.

通常情况下, 我们需要训练一个映射, 其参数为\(W\), 一个好的参数可以使得
\]
很小. 不过我们通常会选取一些损失函数, 来间接最小化上面的能量函数
\]
其中\(R(W)\)是正则化项. 自然, 损失函数至少需要满足其最优点是最小化损失函数的, 当然应该还有一些其他的条件.
如果\(\mathcal{Y}\)是离散的, 我们可以令
\]
相应的连续情况下
\]
即\(\bar{Y}\)是我们最不爽的点. 很自然, 我们希望损失函数将我们希望的点\(Y^i\)的能量降低, 而拔高我们讨厌的\(\bar{Y}^i\)的能量.

损失函数
Energy Loss
\]
Generalized Perceptron Loss
\]
Generalized Margin Loss
Hinge Loss
\]
Log Loss
\]
LVQ2 Loss
\]
虽然LVQ2 Loss和上面的非margin loss一样, 似乎是没margin的, 但是作者说最后二者有一个饱和的比例\(1+\delta\), 但是不是特别理解.
MCE Loss
\]
其中\(\sigma\)是sigmoid.
Square-Square Loss
\]
Square-Exponential
\]
Negative Log-Likelihood Loss
\]
其中
\]
Empirical Error Loss
\]
好的损失应该满足的一些条件
都是充分条件, 所以不满足也有可能是满足所需要的性质的.
条件1
对于样本\((X^i, Y^i)\), 如果预测满足
\]
则推断结果应当为\(Y^i\).
条件2
对于变量\(Y\)以及样本\((X^i, Y^i)\)和margin \(m\), 若
\]
则推断结果应当为\(Y^i\).
条件3
这个条件就用语言描述吧.

即, 要求\(HP_1\)与可行域\(R\)的交集中存在一解, 是的\((X^i, Y^i)\)在该点处的能量比\(HP_2\)与\(R\)交集的所有解的能量都要小, 其中
HP_2: E_C + m > E_I.
\]
\(E_C=E(W, Y^i, X^i)\), \(E_I=E(W, \bar{Y}^i, X^i)\).
下图给出了满足上述三个条件的损失及其对应的\(m\).

A Tutorial on Energy-Based Learning的更多相关文章
- A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python)
A Complete Tutorial on Tree Based Modeling from Scratch (in R & Python) MACHINE LEARNING PYTHON ...
- 强化学习之 免模型学习(model-free based learning)
强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...
- Tutorial on GoogleNet based image classification --- focus on Inception module and save/load models
Tutorial on GoogleNet based image classification 2018-06-26 15:50:29 本文旨在通过案例来学习 GoogleNet 及其 Incep ...
- Pros and Cons of Game Based Learning
https://www.gamedesigning.org/learn/game-based-learning/ I remember days gone by at elementary schoo ...
- Octave Tutorial(《Machine Learning》)之第一课《数据表示和存储》
Octave Tutorial 第一课 Computation&Operation 数据表示和存储 1.简单的四则运算,布尔运算,赋值运算(a && b,a || b,xor( ...
- Game Based Learning: Why Does it Work?
Forty years of research[i] says yes, games are effective learning tools. People learn from games, an ...
- Octave Tutorial(《Machine Learning》)之第五课《控制语句和方程及向量化》
第五课 控制语句和方程 For,while,if statements and functions (1)For loop v=zeros(10,1) %initial vectors for i=1 ...
- Octave Tutorial(《Machine Learning》)之第四课《绘图数据》
第四课 Plotting Data 绘图数据 t = [0,0.01,0.98]; y1 = sin(2*pi*4*t); y2 = cos(2*pi*4*t); plot(t,y1);(绘制图1) ...
- Octave Tutorial(《Machine Learning》)之第三课《数据计算》
第三课 Culculating Data 数据计算 矩阵计算 1.简单的四则运算 2.相乘除,乘方运算(元素位运算) ".*"为对应元素的相乘计算 "./"为对 ...
- Octave Tutorial(《Machine Learning》)之第二课《数据移动》
第二课 Moving Data 数据移动 常用内置函数 (1)加载文件 load 文件名.dat(或load('文件名.dat')) 接着输入文件名便可查看文件里的数据 (2)显示当前工作空间的所有变 ...
随机推荐
- Hadoop fs.copyToLocalFile错误
fs.copyToLocalFile(new Path("/study1/1.txt"), new Path("C:/Users/Administrator/Deskto ...
- [学习总结]5、Android的ViewGroup中事件的传递机制(二)
下面是第一篇的连接 Android的ViewGroup中事件的传递机制(一) 关于onInterceptTouchEvent和onTouchEvent的详细解释. 1 public class Mai ...
- feignclient发送get请求,传递参数为对象
feignclient发送get请求,传递参数为对象.此时不能使用在地址栏传递参数的方式,需要将参数放到请求体中. 第一步: 修改application.yml中配置feign发送请求使用apache ...
- angular关于select的留白问题
Angular select留白的问题 小白的总结,大神勿喷:需要转载请说明出处,如果有什么问题,欢迎留言 总结:出现留白说明你的ng-model的值在option的value中没有对应的值: 一.直 ...
- 利用代码覆盖率提高嵌入式软件的可靠性 - VectorCAST
简介 代码覆盖率是衡量软件测试完成情况的指标,通常基于测试过程中已检查的程序源代码比例 计算得出.代码覆盖率可以有效避免包含未测试代码的程序被发布. 代码覆盖率能不能提高软件的可靠性?答案是肯定的,代 ...
- Redis操作命令合集
目录 一.客户端命令 二.sql命令 一.客户端命令 #读取配置文件启动 redis-server redis.conf #关闭 Redis,Redis服务器将断开与客户端链接,产生持久化文件,平滑关 ...
- Hadoop分布式文件系统(HDFS)设计
Hadoop分布式文件系统是设计初衷是可靠的存储大数据集,并且使应用程序高带宽的流式处理存储的大数据集.在一个成千个server的大集群中,每个server不仅要管理存储的这些数据,而且可以执行应用程 ...
- HGAME2021 week4 pwn writeup
第四周只放出两道题,也不是很难. house_of_cosmos 没开pie,并且可以打got表. 在自写的输入函数存在漏洞.当a2==0时,因为时int类型,这里就会存在溢出.菜单题,但是没有输出功 ...
- 背水一战——CSP2021/NOIP2021 游记
洛谷 version 转载本文章的其他链接: 1(S00021 提供) 2(Ew_Cors 提供) \[\texttt{2021.9.10} \] 终于开坑了. 笑死,初赛根本还没开始复习,反正初赛也 ...
- Docker容器自动更新
前言: Watchtower 是一个可以实现自动化更新 Docker 基础镜像与容器的实用工具.它监视正在运行的容器以及相关的镜像,当检测到registry中的镜像与本地的镜像有差异时,它会拉取最新 ...