[Bayesian] “我是bayesian我怕谁”系列 - Boltzmann Distribution
使用Boltzmann distribution还是Gibbs distribution作为题目纠结了一阵子,选择前者可能只是因为听起来“高大上”一些。本章将会聊一些关于信息、能量这方面的东西,体会“交叉学科”的魅力。
In statistical mechanics and mathematics, a Boltzmann distribution (also called Gibbs distribution) is a probability distribution, probability measure, or frequency distribution of particles in a system over various possible states.
Hi 菜鸡,
神经网络的Boltzmann Machine;
期望传播中提及的Ising model;
强化学习中涉及的训练收敛问题;
够了么?问问自己有没有必要了解?
本系列文章乃自娱自乐,防止衰老;只“雪中送炭”,不提供”全套服务“。
Softmax与分子运动学
一个用于描述稳态系统的内部粒子状态的分布:
任何(宏观)物理系统的温度都是组成该系统的分子和原子的运动的结果。
对于大量粒子来说,处于一个特定的速度范围的粒子所占的比例却几乎不变,如果系统处于或接近处于平衡。---- 分布的期望是”稳定的“,是不是这么个感觉
麦克斯韦-玻尔兹曼分布具体说明了这个比例。
既然是个分布,概率密度函数的样子是:

百度百科:click me
写到这里,内心是湿润的,远古时期的物理奥赛底子竟然到今天还发挥着余热,啊哈哈哈哈哈……

Ni是单粒子微观状态i中的平均粒子数,
N是系统中的粒子总数,
Ei是microstate i的能量,
T是系统的平衡温度,
k是波尔兹曼常数。
再瞧:Softmax回归

可能你只是看到了”e族函数处处可导“的性质,想到了”归一化“这样的概念,但在另一个层次,有人可能会这样理解:
“神经网络Softmax的公式形式是分子运动学的热能公式的变种,output对应了能量输出,分类的物理意义对应的就是不同能量层级的分子的个数比,也就是成为某类的概率比。如此看来,NN的各个权值的意义,原来就是能量值。NN的收敛,就是能量的分配,系统entropy最大的过程。”
这,又是一个如同pca章节讲述的故事,是否点醒了菜鸡。
Cross Entropy与KL Divergence
Cross Entropy是求loss的一种方式,对于菜鸡起初难以理解,毕竟另一个“最小二乘”的loss计算方式理解起来会简单的多。
表面美,不一定内在美。
Cross Entropy的依据显然是信息论。
(1) X=x时的Entropy :

(2) 变量X的Entropy (the average amount of information) :

形式好看了些。

(3) 举个栗子
0-1离散分布,0的概率是θ,1的概率是(1 − θ),那么:
H(X) = −θ log θ − (1 − θ) log(1 − θ)
可见,当θ=0.5时,这样的变量X才拥有最大H。
基础概念过后,有请Cross Entropy的姐姐Relative Entropy:

原来Relative Entropy就是Kullback-Leibler (KL) divergence。
举个栗子:两个参数不同的0-1分布的度量,如下:

(4) 那么,Cross Entropy又是什么?

可以看出,交叉熵与相对熵仅相差了H(p)
当p已知时,可以把H(p)看做一个常数,此时交叉熵与KL距离在行为上是等价的,都反映了分布p,q的相似程度。
也就是说,收敛的过程就是逐渐接近ground truth分布的过程。
Entropy与Mutual Information

From: http://www.ece.tufts.edu/ee/194NIT/lect01.pdf
The mutual information between two discreet random variables X, Y jointly distributed according to p(x, y) is given by :

表示两个变量之间的依赖关系。
知道这个东西做什么?一点浅显的见解:能量是一种宏观的体现,信息往往也是如此,如何度量是个问题,这至少给你提供了一套度量方法。
Hopfield Nets与非线性动力学
主要是看中了其中所涉及的能量公式,一起来个赏析。
信息存储的原理、例子见此链接:https://wenku.baidu.com/view/ef6e6fbec77da26925c5b0af.html
有点马尔科夫迭代收敛到稳态的感觉。

网络的稳定性度量。
为何将能量函数定义为如此形式?如下解答,一种“仿生学”。

Boltzmann Machine与模拟退火
Ref:最通俗的方法解释退火算法
这里有一个Bolzmann常数。


能量的变化作为什么角色?

可见,求的是:Oi = 1的概率,也就是Pa的概率。

Therefore, if all other components are fixed, the probability of xi taking the value 1 or 0 must be:

In other words, there is some probability of moving to a higher energy state (or remaining in a higher energy state even when a lower one is available).
可见,具备了模拟退火的feature,为了防止局部极小值,也可能以一定的概率走一奇招!这个概率就与当前的能量大小有关!
Restricted Boltzmann Machine
The aim is that the hidden units should learn some hidden features or “latent variables” which help the system to model the distribution of the inputs.
Two-layer bi-directional neural network,新的能量公式:

关于训练的具体细节,可参见:http://www.cnblogs.com/neopenx/p/4399336.html
但下图所示,训练的基本过程,Gibbs sampling。
到这里,便终于揭示出本文开头提及的一个真相:Boltzmann为何与Gibbs有了关系。

关于能量,总结套路于此:
”由能量决定概率分布,根据概率分布随机变换神经元的状态,直到收敛,整个网络达到稳定状态。“
读完此文,也希望你对神经网络有新的认识。
[Bayesian] “我是bayesian我怕谁”系列 - Boltzmann Distribution的更多相关文章
- [Bayesian] “我是bayesian我怕谁”系列 - Gaussian Process
科班出身,贝叶斯护体,正本清源,故拿”九阳神功“自比,而非邪气十足的”九阴真经“: 现在看来,此前的八层功力都为这第九层作基础: 本系列第九篇,助/祝你早日hold住神功第九重,加入血统纯正的人工智能 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Variational Autoencoders
本是neural network的内容,但偏偏有个variational打头,那就聊聊.涉及的内容可能比较杂,但终归会 end with VAE. 各个概念的详细解释请点击推荐的链接,本文只是重在理清 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Exact Inferences
要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Exact Inference
要整理这部分内容,一开始我是拒绝的.欣赏贝叶斯的人本就不多,这部分过后恐怕就要成为“从入门到放弃”系列. 但,这部分是基础,不管是Professor Daphne Koller,还是统计学习经典,都有 ...
- [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes+prior
先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...
- [Bayesian] “我是bayesian我怕谁”系列 - Variational Inference
涉及的领域可能有些生僻,骗不了大家点赞.但毕竟是人工智能的主流技术,在园子却成了非主流. 不可否认的是:乃值钱的技术,提高身价的技术,改变世界观的技术. 关于变分,通常的课本思路是: GMM --&g ...
- [Bayesian] “我是bayesian我怕谁”系列 - Naive Bayes with Prior
先明确一些潜规则: 机器学习是个collection or set of models,一切实践性强的模型都会被归纳到这个领域,没有严格的定义,’有用‘可能就是唯一的共性. 机器学习大概分为三个领域: ...
- [Bayesian] “我是bayesian我怕谁”系列 - Continuous Latent Variables
打开prml and mlapp发现这部分目录编排有点小不同,但神奇的是章节序号竟然都为“十二”. prml:pca --> ppca --> fa mlapp:fa --> pca ...
- [Bayesian] “我是bayesian我怕谁”系列 - Markov and Hidden Markov Models
循序渐进的学习步骤是: Markov Chain --> Hidden Markov Chain --> Kalman Filter --> Particle Filter Mark ...
随机推荐
- python 保存文本txt格式之总结篇,ANSI,unicode,UTF-8
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4wAAAEmCAIAAACmsIlUAAAgAElEQVR4nOydezxU+f/HP49WSstKkZ
- JSP入门2
1. CRUD是Create(创建).Read(读取).Update(更新)和Delete(删除)的缩写,一般应用有这四项也就足够了. 我们这里的例子是对联系人信息进行CRUD操作. 2. javab ...
- 51 nod 1495 中国好区间 奇葩卡时间题 700ms 卡O(n*log(n)), 思路:O(n)尺取法
题目: 这个题目竟然叫中国好区间,要不要脸.欸,不得不说还蛮顺口的,哈哈哈. 首先我们有一个数组a.可以递推得来,O(n)时间复杂度. 定义left(有效区间的左端点),bigger(有效区间中大于等 ...
- 记忆搜索与动态规划——DP背包问题
题目描述 01背包问题 有n个重量和价值分别为\(w_i,v_i\)的物品.从这些物品中挑选出总重量不超过W的物品,求所有挑选方案中价值中总和的最大值. 限制条件 1 <= n <= 10 ...
- Centos 7.4 下初探Zabbix安装
工作一波停一波起,感觉离开.net好久了. 最近工作中发现服务器监视都是用了zabbix,对于我这类不懂的狠狠弥补了一下知识. 无意发现zabbix带有api,就想开发个工具调用api来着.可是api ...
- php版本的选择
简单来说non-thread-safe 非 线程安全 与IIS 搭配环境,thread-safe 线程安全 与apache 搭配的 环境这个大家一定要注意,否则用错了版本,apache是无法启动的,另 ...
- IDE快捷键
visual studio 中 : /// 快速函数注释 ctrl+k,ctrl+F 格式化代码 Android Studio 中: /**回车 快速函数注释 ctrl+h 查看继承关系 自动格式化 ...
- Nginx 1.10.1 版本nginx.conf优化配置及详细注释
Nginx 1.10.1 的nginx.conf文件,是调优后的,可以拿来用,有一些设置无效,我备注上了,不知道是不是版本的问题,回头查一下再更正. #普通配置 #==性能配置 #运行用户 user ...
- 利用jdbc简单封装一个小框架(类似DBUtils)
利用jdbc写的一个类似DBUtils的框架 package com.jdbc.orm.dbutils; import java.io.IOException; import java.io.Inpu ...
- FPGA与安防领域
安防主要包括:闭路监控系统.防盗报警系统.楼宇对讲系统.停车厂管理系统.小区一卡通系统.红外周界报警系统.电子围栏.巡更系统.考勤门禁系统.安防机房系统.电子考场系统.智能门锁等等. 在监控系统中,F ...