机器学习6——最大熵模型
最大熵(maximum entropy)模型
选择熵最大的概率模型
熵是衡量不确定性的,后面决策树也会用到
熵单独写一个吧,后面链接放在这里 -> 香农说,要有熵,于是便有了熵
离散随机变量:X,概率分布P(X),熵:
H
(
P
)
=
−
∑
x
P
(
x
)
l
o
g
P
(
x
)
H(P)=-\sum_{x}^{} P(x)logP(x)
H(P)=−x∑P(x)logP(x)
0
≤
H
(
P
)
≤
l
o
g
∣
X
∣
0\le H(P)\le log\left | X\right |
0≤H(P)≤log∣X∣
∣ X ∣ \left | X\right | ∣X∣是随机变量取值个数
模型
- 输入X,以概率P(Y|X)输出Y
- 涉及到概率,有数据一般就是频率近似概率的思想,大数定律的天下,经验分布:
- 这里给了特征函数f(x,y),其实就是指示函数,符合条件(发生咯)取1,不符合取0
- 为输入 x 和输出 y 组合提供特定的特征值。
– 第一个是组合(x,y)关于经验分布的期望
那最大熵模型就
模型学习(估计参数)
还是转化成优化问题:
拉格朗日乘子法登场
熟悉的求导环节
最后这个Pw就是模型的形式,确定参数(特征权重 )wi,使得模型的预测分布尽可能地符合训练数据的统计特征。参数(权值求解)
这个最大熵和最大似然是等价的
模型评价
优点
- 灵活性:最大熵模型不对数据分布做强假设,只根据已有的约束条件确定概率分布,因此非常灵活。
- 适用性广:适用于各种类型的数据,如文本数据、图像数据等。
- 理论基础扎实:基于信息论中的熵概念,具有较强的理论支持
缺点
- 计算复杂:训练过程中需要计算规范化因子 ,在大规模数据上可能计算开销较大。
- 特征选择依赖:模型性能依赖于特征函数的选择和设计,特征选择不当可能影响模型的表现。
应用
自然语言处理(NLP)
- 文本分类:最大熵模型用于将文本分类到不同类别,如垃圾邮件过滤。
- 命名实体识别:识别文本中的命名实体(如人名、地名)及其类型。
- 词性标注:标注文本中的每个词的词性,如名词、动词等。
计算生物学
- 基因序列分析:用于预测基因序列中的功能区域。
- 蛋白质结构预测:预测蛋白质的结构特征和功能。
模式识别
-
图像分类:用于对图像进行分类,例如识别手写数字或人脸识别。
-
语音识别:用于将语音信号转换为文本。