【机器学习】最大熵模型推导

本文详细介绍了最大熵模型的基本思想,解释了熵在概率分布中的含义,阐述了在约束条件下如何寻找熵最大的模型。通过对分类问题的讨论,展示了最大熵模型的学习过程,包括约束函数的设定和拉格朗日乘子法的应用,最终得出模型的最优形式。通过求解优化问题找到最佳参数,实现对条件概率P(y|x)的估计。
摘要由CSDN通过智能技术生成

1 基本思想

先说说熵的定义,假设我们有随机变量 x ,其概率分布为 p(x) ,则其熵为:

H(P(x))=xP(x)logP(x)

条件熵:

H(P(y|x))=xP(x)yP(y|x)logP(y|x)

可以证明,在概率相等的时候,熵可以达到最大值。也可以理解为“最混乱”。

一般情况下,如果对一个事物没有任何的先验知识,我们倾向于用“平均概率”去估计它。比如,对于一个骰子,如果事先不知道其内部信息,则我们倾向于说如果抛掷它得到每种点数的概率是相等的。

如果我们知道了某些先验信息,比如某一个面抛出的概率高一些,也就是有了约束,那么我们倾向于说在“该面有较高的概率”这个约束条件下,剩下的那些面概率相等。

这相当于“将猜测每个面出现的概率”这个举动的风险降低到最小。

上面这种说法按照熵的语言来讲,就是最大熵

2 约束

假设我们研究的是分类问题,想要用模型来描述原始数据分布的 P(y|x)

这里,我们将约束抽象为约束函数,也就是说,满足某种条件的数据点 (x,y) ,约束函数 f 的值就是1,否则为0。

fi(x,y)={ 1, if (x,y) match somecondition0, otherwise

函数 fi(x,y) 在训练集的数学期望:

EP˜=(x,y)P˜(x,y)fi(x,y)

函数 fi(x,y) 在原始数据集的数学期望:

EP=(x,y)P(x,y)fi(x,y)

我们建模的目的,就是希望用训练集可以表示原始数据集某些规律。所以我们可以让上面两个期望相等:

EP˜=EP=(x,y)P(x,y)fi(x,y)=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值