首页 > 其他分享 >机器学习-概率图模型系列-最大熵模型-37

机器学习-概率图模型系列-最大熵模型-37

时间:2024-01-16 21:33:58浏览次数:37  
标签:逻辑 概率 最大 模型 37 分布 回归 特征函数

目录
参考:https://www.cnblogs.com/pinard/p/6972299.html
最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型。在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术。

1. 熵的定义

生命以负熵为生----薛定谔《生命是什么》

什么是信息熵?
信息是指人们对事物理解的不确定性的降低或消除,而熵就是不确定性的度量,熵越大,不确定性也就越大。

假设离散随机变量x的分布是p(x),则关于分布P的熵定义为:

N代表x的N种不同离散取值,
当x服从均匀分布时对应的熵最大,也就是不确定性最高。

交叉熵:
y y_hat 真实值与预测值交叉求熵


多分类的场景,使得Q(x)尽量逼近真实数据分布P(x)。通过最小化交叉熵可以使得模型朝着我们想要的方向进行优化。

出两个变量X和Y的联合熵表达式:

有了联合熵,又可以得到条件熵的定义:


实条件熵就是“被特征分割以后的信息熵的加权平均”

Max Entropy 最大熵原则

"鸡蛋不要放在一个篮子里",最大熵原理是概率模型学习的一个准则,指导思想是在满足约束条件的模型集合中选取熵最大的模型,即不确定性最大的模型。
最大熵模型就是要学习到合适的分布,使得条件熵的取值最大。
在给定的训练集X条件下,对y作出预测,预测的结果是熵是最大的,损失是最小的。

条件熵计算举例:
样本人群中 有男性 也有女性 有结婚的有未婚的
这样可以计算出男性 女性的 分布的概率

男性且结婚 女性且结婚 男性未婚 女性未婚的概率

条件概率分布上的条件熵为:

2. 最大熵模型算法

训练集:
x为n维特征向量,y为类别输出,

统计得出:
总体联合分布的经验分布 即为训练集中X,Y同时出现的次数除以样本总数m

边缘分布的经验分布即为训练集中X出现的次数除以样本总数m

特征函数描述输入x和输出y之间的关系

同一个训练样本可以有多个约束特征函数。

特征函数关于经验分布的期望值:

特征函数关于条件分布和经验分布的期望值

假设这两个期望相等:

假设M个特征函数
就有M个约束条件

总结一下:
训练数据集
以及M个特征函数
最大熵模型的学习等价于约束最优化问题

求解
带约束优化问题可以用拉格朗日函数将其转化为无约束优化函数:

为拉格朗日乘子
求解的过程与SVM类似
结果:

3. 逻辑回归 与 最大熵 之间的关系


逻辑回归的本质是解决二分类问题,每个特征会对应一个权重再通过 sigmoid隐射到 0-1之间

n条样本为n维变量
定义如下特征函数

每条样本一个 特征函数

最大熵表达式:

y=1

y=0


几率取对数成线性,逻辑回归是误译,叫对数几率回归更合适。

重新审视特征函数
逻辑回归是最大熵的特例,
逻辑回归算法面对某个数据集时,我们习惯了认为数据集有d个维度,逻辑回归就对应去学习d个权重参数。
feature engineering挖掘出来的特征,其实和最大熵里面设置更多的特征函数没区别,最大熵里面算出来的 和逻辑回归对应特征算出来的权重参数没区别。

标签:逻辑,概率,最大,模型,37,分布,回归,特征函数
From: https://www.cnblogs.com/cavalier-chen/p/17968598

相关文章

  • python 调用llama 2 模型测试
    Python调用Llama2模型测试Llama2是一种用于处理自然语言的语言模型,它基于神经网络和深度学习算法,能够进行文本生成、情感分析等任务。在本文中,我们将学习如何使用Python调用Llama2模型进行测试。安装Llama2首先,我们需要安装Llama2模型及其相关依赖。可以通过以下命令使用pi......
  • GPT3大型语言模型的能力
    大模型的能力原文:arxiv.org/pdf/2005.14165.pdfwiki: 第二章:大模型的能力·datawhalechina/so-large-lmWiki(github.com)GPT3论文阅读review(EE290里学到的读论文的方法)LanguageModelsareFew-ShotLearners1.motivations评估GPT3在NLP任务上的表现、能力(以及需要怎......
  • Elasticsearch内核解析 - 数据模型篇【转载】
    原文链接Elasticsearch是一个实时的分布式搜索和分析引擎,它可以帮助我们用很快的速度去处理大规模数据,可以用于全文检索、结构化检索、推荐、分析以及统计聚合等多种场景。Elasticsearch是一个建立在全文搜索引擎库ApacheLucene基础上的分布式搜索引擎,Lucene最早的版本是2......
  • R语言SVM模型文本挖掘分类研究手机评论数据词云可视化
    随着大数据时代的来临,数据挖掘和机器学习在诸多领域中的应用价值日益凸显。手机评论数据作为消费者对产品和服务的主观反馈,具有巨大的商业价值。本文旨在帮助客户通过R语言实现支持向量机(SVM)模型在文本挖掘分类方面的研究,并对手机评论数据进行词云可视化分析,以深入挖掘消费者意见,为......
  • paxos协议之衍生协议:Raft协议的简述、协议模型、一致性算法、脑裂问题处理、选举流程
    raft简述raft协议中节点有三种状态leader、follower、candidate(候选人),leader复制日志的管理、客户端的新增更新请求,然后复制到follower节点,如果leader出现故障则follower就会重新选举,新增等操作若被follower所接收则会进行重定向转给leader,follower只负责客户端的读请求。有两......
  • 论文写作中不同模型输出对比
    需要自己提供,输入图像、以及对应mask还有不同模型的预测结果。#可视化图像、mask、不同模型的输出importmatplotlib.pyplotaspltimportcv2frompathlibimportPathimportosfromskimageimportio,measureimportnumpyasnp#network_name=["CPFNet","Deep......
  • CF1437F Emotional Fishermen 题解
    题意:有\((n\le5000)\)个渔民,每个渔民钓了一条重\(a_i\)的鱼,渔民按任意顺序展示他们的鱼。若当前渔民的鱼的重量为\(x\),之前展示过的鱼的最大重量\(y\)。一个排列满足条件当且仅当对于每个\(x\),满足\(2y\lex\)或\(2x\ley\)。问有多少个排列满足条件,对\(998244353......
  • 机器学习-概率图模型系列-隐含马尔科夫-观测序列的概率计算-35
    目录1.暴力求解法2.前向算法求HMM观测序列的概率3.从后往前推后向算法1.暴力求解法任意一条路径都有可能得到需要的观测结果:如果我们的隐藏状态数N非常多的那就麻烦了,此时我们预测状态有NT种组合,算法的时间复杂度是O(TNT)阶的2.前向算法求HMM观测序列的概率在前向算......
  • R语言关联规则模型(Apriori算法)挖掘杂货店的交易数据与交互可视化
    原文链接:http://tecdat.cn/?p=22732 原文出处:拓端数据部落公众号 关联规则挖掘是一种无监督的学习方法,从交易数据中挖掘规则。它有助于找出数据集中的关系和一起出现的项目。在这篇文章中,我将解释如何在R中提取关联规则。关联规则模型适用于交易数据。交易数据的一个例子可以......
  • 数据报告分享|WEKA贝叶斯网络挖掘学校在校人数影响因素数据分类模型
    全文链接:https://tecdat.cn/?p=33159原文出处:拓端数据部落公众号本文着眼普通高等学校在校学生人数,提出了不同种类学校的在校人数可能存在的影响关系从而探究教育现状的因素,建立分类模型,探求这几个因素间的数量关系。本文试图帮助客户通过研究不同种类学校的在校人数的关系,......