机器学习:最大熵模型
1.熵与最大熵原理
熵是随机变量不确定性的度量,不确定性越大,熵值就越大;若随机变量退化成定值,熵为0。均匀分布是“最不确定”的分布
假设离散随机变量X的概率分布为P(x),则其熵为:
联合熵和条件熵
两个随机变量的X,Y的联合分布,可以形成联合熵,用H(X,Y)表示
条件熵H(X|Y) = H(X,Y) - H(Y)
相对熵与互信息
设p(x),q(x)是X中取值的两个概率分布,则p对q的相对熵是:
两个随机变量X,Y的互信息,定义为X,Y的联合分布和独立分布乘积的相对熵。
最大熵原理是统计学的一般原理,也是概率模型学习的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型中,熵最大的模型是最好的模型。
2.最大熵模型
2.1最大熵模型的实例(参考[1])
在英汉翻译中,take有多种解释例如上文中存在7中,在没有任何限制的条件下,最大熵原理认为翻译成任何一种解释都是等概率的。
实际中总有或多的限制条件,例如t1,t2比较常见,假设满足
同样根据最大熵原理,可以得出:
实际的统计模型中,还需要引入特征提高准确率。例如take翻译为乘坐的概率小,但是当后面跟着交通工具的名词“bus",概率就变得非常大。
用特征函数f(x,y)描述输入x,输出y之间的某一个事实,只有0和1两种值,称为二值函数。例如:
最大熵模型根据最大熵原理在类似上面的特征限制下选择最优的概率分布。
2.2 最大熵模型的数学推导(参考[2])
对于给定的训练数据集T={(x1,y1),(x2,y2),(x3,y3)...(xn,yn)}以及特征函数fi(x,y),i=1,2,3...n,最大熵模型的学习等价于约束的最优化问题:
引入朗格朗日算子W,定义拉格朗日函数L(P,w)
最优化的原始问题:
对偶问题是:
由于L(P,W)是P的凸函数,原始问题的解与对偶问题的解是等价的。这里通过求对偶问题的解来求原始问题的解。
第一步求解内部极小化问题,记为:
通过微分求导,得出P的解是:
第二步求外部的极大化问题:
最后的解记为:
第三步可以证明对偶函数的极大化等价于第一步求解出的P的极大似然估计,所以将最大熵模型写成更一般的形式.
2.3 最大熵模型学习算法
由模型的数学推导2.2知道,最大熵模型的学习最终可以归结为以最大熵模型似然函数为目标函数的优化问题。这时的目标函数是凸函数,因此有很多种方法都能保证找到全局最优解。例如改进的迭代尺度法(IIS),梯度下降法,牛顿法或拟牛顿法,牛顿法或拟牛顿法一般收敛比较快。
《统计学习方法》中有非常详细的使用IIS优化目标函数的过程。
算法的推导比较麻烦,但思路是清晰的:
References:
机器学习:最大熵模型相关推荐
- 机器学习--最大熵模型
参考链接:https://www.jianshu.com/p/e7c13002440d https://www.cnblogs.com/wxquare/p/5858008.html 详解机器学习中的熵 ...
- 机器学习-最大熵模型
最大熵模型是一种分类模型,它学习之后对某个x判断的结果是一个概率,即对一个自变量,它的分类分别是y1,y2,y3-yn的概率,然后概率最大的分类结果就是我们所要的结果分类ym. 最大熵原理 最大熵原理 ...
- 机器学习---最大熵模型(MEM)小结
当我们想要得到一个随机事件的概率分布时,如果没有足够的信息来完全确定其概率分布,那么最为保险的方法就是选择一个使得熵最大的分布. 最大熵模型 1.信息论知识 1.1信息熵的概念 1.2.条件熵 1 ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法22:最大熵模型
Python机器学习算法实现 Author:louwill Machine Learning Lab 最大熵原理(Maximum Entropy Principle)是一种基于信息熵理论的一般原理,在 ...
- 【机器学习】对数线性模型之Logistic回归、SoftMax回归和最大熵模型
来源 | AI小白入门 作者 | 文杰 编辑 | yuquanle 完整代码见:原文链接 1. Logistic回归 分类问题可以看作是在回归函数上的一个分类.一般情况下定义二值函数,然而二值函数 ...
- 各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?...
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 链接:https://www.zhihu.com/question ...
- 【机器学习】最大熵模型【下】最大熵模型学习的最优化算法
有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 由于字数限制,分成两篇博客. [机器学习]最大熵模型[上]最大熵模型概述与约束最优化问题 [机器学习]最大熵模型[下]最大熵模型学习的最优化 ...
- 【机器学习】LR与最大熵模型的关系
逻辑回归与最大熵模型MaxEnt的关系? 逻辑回归跟最大熵模型到底有啥区别呢? 简单粗暴 的回答是:逻辑回归跟最大熵模型没有本质区别.逻辑回归是最大熵对应类别为二类时的特殊情况,也就是当逻辑回归类别扩 ...
- 【机器学习】最大熵模型(Maximum Entropy Model)
最大熵模型(Maximum Entropy Model,以下简称MaxEnt),MaxEnt 是概率模型学习中一个准则,其思想为:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型:若概率模型 ...
- 机器学习笔记(二十)——求解最大熵模型
一.问题的引出 最大熵模型的学习过程就是求解最大熵模型的过程.最大熵模型的学习可以形式化为约束最优化问题. 对于给定的训练数据集T={(x1,y1),(x2,y2),-,(xn,yn)}T=\ ...
最新文章
- 3D曲面重建之移动最小二乘法
- vi vim常用命令
- 【计算理论】计算复杂性 ( 多项式等价引入 | 多项式时间规约 )
- 导入Oracle 数据库镜像,创建Oracle虚拟机_01
- 深入浅出MFC学习笔记
- php html显示mysql数据库_从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)...
- 不,你根本不需要ML/AI,有SQL就够了
- linux 下的文件搜索、可执行文件搜索
- 一行代码进行闰年的判断
- C语言中强制转换问题
- 博弈论算法常见模型整理
- Jenkins下载安装配置教程(官网)
- ddos应急处理_DDoS攻击应急体系知多少?
- 怎么看神经网络过早收敛_深度学习训练网络中,test loss比training loss早很多收敛,迭代次数要怎么取?...
- 445/139端口的作用与危害
- 微博服务器瘫痪容易修复吗,微博服务器九次瘫痪,还有一个竟然连崩四回,程序员:放过我吧!...
- 创业生活经历:我的非洲回忆录
- 第112章 Caché 函数大全 $ZPOSITION 函数
- Redis分布式锁剖析和几种客户端的实现
- python快速入门编程第5章编程题