机器学习--逻辑回归与最大熵模型理论知识(二)

机器学习 | 逻辑回归与最大熵模型理论知识(二)

今天我们将要一起学习最大熵模型的知识。

最大熵模型由最大熵原理推导实现,今天首先介绍一般的最大熵原理,然后讲解最大熵模型的推导。

最大熵原理

最大熵原理是概率模型学习的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型,通常用约束条件来确定概率模型的集合,所以,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型。

假设离散随机变量X的模型分布是P(X),则其熵是 \[ H(P) = -\sum_xP(x)logP(x) \] 熵满足下列不等式 \[ 0\le H(P) \le log|X| \] 式中,|X|是X的取值个数,当且仅当X的分布是均匀分布时右边的等号成立。这就是说,当X服从均匀分布时,熵最大。

直观地,最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件。在没有更多的信息的情况下,那些不确定的部分都是“等可能的”。最大熵原理通过熵的最大化来表示等可能性。“等可能”不容易操作,而熵则是一个可优化的数值指标。

举个例子:

假设随机变量X有5个取值{A, B, C, D, E},要估计取各个值的概率P(A), P(B), P(C), P(D), P(E)。

解:这些概率值满足以下约束条件: \[ P(A) + P(B) + P(C) + P(D) + P(E) = 1 \] 满足这个约束条件的概率分布有无穷多个,没有其他信息,仍要对概率分布进行估计,一个办法就是认为这个分布中取各个值的概率是相等的,即均为\(\frac{1}{5}\)

有时能从一些先验知识得到一些对概率值的约束条件,例如: \[ P(A) + P(B) = \frac{3}{10} \\ P(A) + P(B) + P(C) + P(D) + P(E) = 1 \] 这时可以认为A与B是等概率的,C、D和E是等概率的,于是: \[ P(A) + P(B) = \frac{3}{20} \\ P(C) = P(D) = P(E) = \frac{7}{30} \] 这样的模型概率学习的方法正是遵循了最大熵原理。

最大熵模型的定义

最大熵原理是统计学习的一般原理,将它应用到分类得到最大熵模型。

假设分类模型是一个条件概率分布\(P(Y|X),X\)表示输入,\(Y\)表示输出。这个模型表示的是对于给定的输入\(X\),以条件概率\(P(Y|X)\)输出\(Y\)

给定一个训练集\(T = \lbrace(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\rbrace\),可以确定联合分布P(X, Y)的经验分布和边缘分布P(X)的经验分布,分别为\(\tilde P(X,Y)\)\(\tilde P(X)\)\[ \tilde P(X=x,Y=y) = \frac{v(X=x,Y=y)}{N}\\ \tilde P(X = x) = \frac{v(X = x)}{N} \] 其中\(v(X=x,Y=y)\)表示训练数据中样本(x, y)出现的频数,\(v(X = x)\)表示训练数据中输入x出现的频数,N表示训练样本容量。

用特征函数\(f(x,y)\)描述输入x和输出y之间的某个事实: \[ f(x,y) = 1,\quad x与y满足某一事实\\ f(x,y) = 0,\quad 否则 \] 特征函数\(f(x,y)\)关于经验分布\(\tilde P(X,Y)\)的期望值,用\(E_{\tilde P}(f)\)表示: \[ E_{\tilde P}(f) = \sum_{x,y}\tilde P(x,y)f(x,y) \] 特征函数\(f(x,y)\)关于模型P(Y | X)与经验分布\(\tilde P(X)\)的期望值,用\(E_{P}(f)\)表示: \[ E_{P}(f) = \sum_{x,y}\tilde P(x)P(y|x)f(x,y) \] 如果模型能够获取训练数据中的信息,则假设以上两个期望值相等,并将此作为模型学习的约束条件,如果有n个特征函数,则有n个约束条件。

最大熵模型:假设满足所有约束条件的模型集合为 \[ \cal{C} =\lbrace \it P\in \cal{P}|\it E_P(f_i) = E_{\tilde P}(f_i),\quad i = 1,2,...,n \rbrace \] 定义在条件概率分布\(P(Y|X)\)上的条件熵为 \[ H(P) = -\sum_{x,y}\tilde P(x)P(y|x)logP(y|x) \] 则模型集合\(\cal C\)中条件熵\(H(P)\)最大的模型称为最大熵模型。式中的对数为自然对数。

以上就是今天的内容,谢谢大家的观看!