机器学习中的玻尔兹曼分布——最小代价和极大似然.

看了一些机器学习的论文,我一直有一个困惑:有的文章训练时写的公式是最小化代价函数,有的文章训练时写的是一个跟自然对数有关的概率分布,这是为什么?经过一番学习,终于有了答案。在这个过程中,还有一个意外收获:那就是著名的逻辑斯第函数的由来。

物理上和统计上的玻尔兹曼分布

热平衡在物理学领域通常指温度在时间或空间上的稳定。在统计学习中,如果我们将需要学习的模型看成高温物体,将学习的过程看成一个降温达到热平衡的过程,最终模型的能量将会收敛为一个分布,并且在全局极小能量上下波动。这个过程称为“模拟退火”。而模型能量收敛到的分布称为玻尔兹曼分布(Boltzmann Distribution)。

在物理学中,玻尔兹曼分布,也称为吉布斯分布(Gibbs Distribution),描述了一个粒子系统处于各种状态的概率,其表达式如下:

F(state) \propto \exp{(-\frac{E}{kT})}

其中E是状态能量,kT是玻尔兹曼常数$k$与热力学温度T的乘积。

在统计学中,玻尔兹曼分布给出了一个系统在特定状态能量和系统温度下的概率分布:

p_i = \frac{\exp{(-E_i /kT)}}{\sum_{j=1}^M \exp{(-E_j /kT)}}

其中p_i是状态$i$出现的概率,E_i是状态能量,k是玻尔兹曼常数,T是系统的温度,M是系统的状态数量(系统状态是离散的,有限的;找到了一点高中物理原子的电子跃迁的感觉,那状态也是离散的!!!)。所以说,统计学中玻尔兹曼分布的使用是受到了物理中热力学的启发。

从玻尔兹曼分布的定义,我们可以发现系统的两个不同状态的概率之比仅与系统能量有关:

\frac{F(state2)}{F(state1)} = \exp{(\frac{E_1 - E_2}{kT})}

这个比值被称为玻尔兹曼因子(Boltzmann Factor)。

玻尔兹曼机

定义

玻尔兹曼分布在机器学习模型的设计中被广泛采用,我们就从玻尔兹曼机(Boltzmann Machine)说起。

玻尔兹曼机是一个对称连接的神经网络。它用于决定系统的状态是开(1)还是关(0)。玻尔兹曼机可以看成一个通过无向有权边全连接的网络。这个网络的能量函数定义为

E = - (\sum_{i < j} w_{ij} s_i s_j + \sum_i \theta_i s_i)

其中

  • w_{ij}是连接节点$i$和$j$的权重。
  • s_i是节点$i$的状态,且s_i \in \{0, 1\}
  • \theta_i是节点i的在全局能量函数中的偏倚。也就是说-\theta_i是节点i的激活阈值。

单个节点$i$的能量定义为

E_i = \theta_i + \sum_j w_{ij}s_j

继续阅读

线性回归与贝叶斯推理——漫谈机器学习

1. 从观察出发——回归问题

在统计学中,我们认为一个变量是服从某种理想分布的,称为理想变量。而为了获得理想变量的值,我们需要去观察这个世界,并得到观察数据,称为观察变量。观察变量与理想变量之间的函数关系被称为观察模型。

设观察数据为x_i \in R^p,理想数据为y_i \in R,观察模型为线性模型

y_i = x_i^T \beta + \eta_i
\tag{1}

其中\beta \in R^p为参数向量,\eta_i \in R是独立同分布的随机变量。在应用中,\eta_i代表观察噪声。且通常假定它服从正态(高斯)分布:

\eta_i \sim N(0, \sigma^2)
\tag{2}

上面的观察模型可以引出两个问题:

  1. 已知理想和观察变量y_i,x_i,求模型参数\beta,\sigma。这被称为参数估计(Paremeter Estimation)问题。
  2. 已知观察变量x_i和模型参数\beta,\sigma,求理想变量y_i。这被称为回归(Regression)问题。如果观察模型是线性的,例如(1),则称为线性回归问题。

回归的概念非常宽泛,它泛指研究一组变量和另一组变量之间的关系的统计分析方法。考虑变量和参数之间的对称性,不难发现,参数估计也是回归问题。

2. 参数估计——也是回归问题

在统计学习中,参数估计是一个学习样本所蕴含信息的过程。而学习的结果,就是观察模型(包括最优参数)。

继续阅读