Machine Learning-L7-最大熵模型

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: Machine Learning-L7-最大熵模型

1. 最大熵原理


最大熵(Maximum Entropy)原理是概率模型学习的一个准则,认为在所有可能的概率模型(分布)中,熵最大的模型就是最好的模型,在1957年由Edwin Thompson Jaynes提出。


该原理对一个随机事件的概率分布进行预测时,认为预测应当满足全部已知的约束,而对未知的情况不做任何主观假设。此时,概率分布最均匀,预测的风险最小,得到的概率分布的熵最大。


最大熵原理根据以下两个原则解决问题:


满足已知信息(约束条件)


不做任何未知假设(约束外事件等概率发生)


通常用约束条件来确定概率模型的集合,最大熵原理就是满足一定的约束条件下,选择熵最大的模型。


e.g


假设5个盒子ABCDE,奖品就放在这5个盒子中的一个,请问奖品在ABCDE盒子里的概率分别是多少?


已知奖品在其中一个盒子里,约束条件为P ( A ) + P ( B ) + P ( C ) + P ( D ) + P ( E ) = 1

由于无其他额外信息,只能假设奖品在每个盒子里的概率都是1 / 5,P ( A ) = P ( B ) = P ( C ) = P ( D ) = P ( E ) = 1 / 5

如果知道了额外信息,奖品在A和B中的概率总共为3 / 10 3/103/10,则


约束条件:P ( A ) + P ( B ) = 3 / 10 ;      P ( C ) + P ( D ) + P ( E ) = 7 / 10

按照最大熵等概率的原理:P ( A ) = P ( B ) = 3 / 20 ;      P ( C ) = P ( D ) = P ( E ) = 7 / 30


最大熵原理在对一个随机事件的概率分布进行预测时,预测应当满足全部已知条件,而对未知情况不做任何主观假设。此时概率分布最均匀,信息熵最大,预测的风险最小。常说的不要把所有鸡蛋放到一个篮子里,就是最大熵原理的朴素表达。


2. 最大熵模型定义


假设分类模型是一个条件概率分布P ( Y ∣ X ) ,给定训练集,可以计算:


总体联合分布P ( X , Y ) 的经验分布


image.png

边缘分布P ( X )的经验分布:


image.png

其中,count(X=x,Y=y)表示训练集中样本( x , y ))出现的频数,c o u n t ( X = x )表示训练集中输入x xx出现的频数,M MM为训练样本的数量。


特征函数f(x,y)描述输入x 和输出y之间的关系,定义如下:


image.png


特征函数类似离散数学集合论中的指示函数,指示函数是定义在集合上的函数,用来表示其中哪些元素属于某一子类。


特征函数f ( x , y ) 关于经验分布P ~ ( X , Y ) 的期望值:

image.png

特征函数f ( x , y ) 关于条件分布P ( Y ∣ X ) 和经验分布P ~ ( X )的期望值:


image.png

如果模型可以从训练集中学习,则假设:


image.png

上式就是最大熵模型学习的约束条件,假如有M MM个特征函数f i (x,y)(i=1,2...,n),就有m 个约束条件(可理解为训练集里所有样本对应的m 个约束条件)。


3. 最大熵模型


假设满足所有约束条件的模型集合为:

image.png

条件概率分布P ( Y ∣ X ) 上的条件熵为:


image.png

模型集合C 中使条件熵H ( P ) 最大的模型称为最大熵模型:


image.png

4. 最大熵模型学习


最大熵模型定义如下,给定训练集image.png特征函数f i ( x , y ) , i = 1 , 2 … , n

image.png

最大熵模型学习就是求解最大熵模型的过程,最大熵模型学习等价于约束最优化问题。


(1)转化为无约束优化问题


引入拉格朗日乘子,定义拉格朗日函数:

image.png

此时,优化目标为:


image.png

原问题满足KKT条件,根据拉格朗日对偶可得其对偶问题:


image.png


(2)求解内部极小化问题


min  P∈CL(P,w)是关于w 的函数,记作:

image.png


其解记作:


image.png

由于求解P 的最小值P w ,令

image.png

可得:


image.png


P w(y∣x)即为MaxEnt模型,其中f i ( x , y ) 为特征函数,w 1  为特征的权值。


(3)求解外部极大化问题


image.png


模型转化为求Ψ ( w ) 的极大化问题,最优解记作


image.png

这是是一个凸优化问题,可应用梯度下降法,牛顿法,拟牛顿法等最优化算法。

对于最大熵模型还有一种专用的优化方法,称为改进的迭代尺度法(improved iterative scaling, IIS)。


得到极大化时对应的w向量取值后,带入P ( y ∣ x )和w 的关系式,就可得到P ( y ∣ x )的最终结果。


4. 最大熵模型与逻辑回归


最大熵模型最后的解的其形式与softmax是等价的,又称为对数线性模型(log linear model)。

softmax用于多分类问题, 逻辑回归解决二分类问题。因此逻辑回归模型,本质上是最大熵模型。


模型的学习归结为以似然函数为目标函数的最优化问题(对模型进行极大似然估计或正则化的极大似然估计),通常通过迭代方法求解。


数据集image.png ,n 个约束,构建特征函数如下:

image.png


image.png


总结


最大熵模型在经典分类模型中准确率较高,并且可以灵活地设置约束条件,通过约束条件的多少调节模型对未知数据的适应度和对已知数据的拟合程度。


由于约束函数的数目一般会随着样本量的增大而增大,导致对偶函数优化求解的迭代过程非常慢,难以应用(scikit-learn中没有最大熵模型的类库)。


相关文章
|
9月前
|
机器学习/深度学习 人工智能 算法
The 10 Algorithms Machine Learning Engineers Need to Know
The 10 Algorithms Machine Learning Engineers Need to Know
|
9月前
|
传感器 监控 自动驾驶
Machine Learning
Machine Learning
67 0
《Spiking Neural Networks,the Next Generation of Machine Learning》电子版地址
Spiking Neural Networks,the Next Generation of Machine Learning
54 0
《Spiking Neural Networks,the Next Generation of Machine Learning》电子版地址
《The 8 Neural Network Architectures Machine Learning Resarchers Need to Learn》电子版地址
The 8 Neural Network Architectures Machine Learning Resarchers Need to Learn
64 0
《The 8 Neural Network Architectures Machine Learning Resarchers Need to Learn》电子版地址
《Deep Learning vs.Machine Learning-the essential differences you need to know!》电子版地址
Deep Learning vs.Machine Learning-the essential differences you need to know!
94 0
《Deep Learning vs.Machine Learning-the essential differences you need to know!》电子版地址
|
机器学习/深度学习
这就是Machine Learning
这就是Machine Learning
110 0
这就是Machine Learning
|
机器学习/深度学习 算法 数据挖掘
Machine Learning | (12) 非监督学习-k-means
Machine Learning | (12) 非监督学习-k-means
118 0
|
数据挖掘
Machine learning preface
Machine learning Preface Definition T: Task E: Experience P: Performance Sequence: T -> E -> P Supervised learning Definition Give the right answer...
900 0
|
机器学习/深度学习 存储 资源调度
Optimization of Machine Learning
机器学习就是需要找到模型的鞍点,也就是最优点。因为模型很多时候并不是完全的凸函数,所以如果没有好的优化方法可能会跑不到极值点,或者是局部极值,甚至是偏离。
1269 0
|
搜索推荐 Python 算法
Factorization Machine
Factorization Machine---因子分解机 ①target function的推导 logistics regression algorithm model中使用的是特征的线性组合,最终得到的分割平面属于线性模型,但是线性模型就只能处理线性问题,所以对于非线性的问题就有点难处理了,对于这些复杂问题一般是两种解决方法①对数据本身进行处理,比如进行特征转换,和函数高维扩展等等。
1076 0