初识最大熵原理

一、概述

  在日常生活中或者科学试验中,很多的事情发生都具有一定的随机性,即最终产生的结果是随机发生的,我们不清楚这些结果是否服从什么规律,我们所拥有的只有一些实验样本,在这种情况下,我们如何根据现拥有的东西对结果产生一个合理的推断呢?最大熵方法就是解决这种问题的一个方法。 最大熵原理是有E.T.Jaynes在1957年提出的,其基本思想如下:在只掌握未知部分的部分知识时,我们应该选取符合这些知识并且熵值最大的概率分布。熵从定义上来说就是一个随机变量的不确定性,熵值最大即不确定性最大。从这方面来看,最大熵原理实质上就是在满足已知所有的知识前提下,对于未知的分布应该是自己最不能确定或者最随机的分布,因为只有这样,最终的分布才能代表一个最公平的选择,任何带有主观性的选择其实质上就是为模型加入了约束条件,而这些条件都是根据目前已知信息所无法得出的。 目前最大熵原理在自然语言处理上已经得到了极大的应用。由于最大熵模型可以将不同源的信息集中到一个框架下进行综合考虑,所以在解决一些复杂问题时体现出极大的优势。也因此,自Della Pietra在1992年首度用最大熵原理进行语言处理,现在越来越多的学者都用最大熵原理处理文本分类、短语识别和词性标注等问题,并且取得了比较满意的效果。 

  最大熵模型的基本思想是:当我们对一个随机事件的发生建立预测模型时,模型应当满足全部从训练样本中获取的已知特征信息,而对其他未知的信息不做任何主观假设,在这种情况下,条件概率分布最均匀,预测的风险最小,此时预测模型满足约束条件下的信息熵值最大,所以这种模型被称为“最大熵模型”。生活中所说的不要把所有的鸡蛋都放在同一个篮子里面,就是最大熵思想的一个很朴素的说法,当我们遇到不确定性事件时,就要尽量保留各种可能性,这一原则符合简单可取性。 

 二、条件最大熵模型

  由于目前很多最大熵模型都是应用在语言处理领域,那么我们就用处理语言举例来阐述最大熵模型。其实最大熵模型最终的任务就是概率估计,即估计目标类y,在实例x或者理解成条件x下出现的概率,即估计p(y|x)的值。x的集合表示成X,y的集合表示成Y。另外,我们用P表示所有条件概率分布的集合,则p(y|x)只是P中的一个元素。 在具体的语言处理中,产生一个y都是要受到x的影响,即假设随机输入一个“吃”字,那么它的上下文肯定是分布在“吃”字周边的一些汉字,即y肯定是集合{动词、名词}中的一个。那么最大熵方法就是基于一些具体的统计学方法,根据x,y之前的出现特征,可靠的估计p(y|x)这个概率模型。 其实最大熵方法在使用的时候并不局限于条件最大熵,最初是估计 p(x)的值,后来才逐渐演变成估计p(y|x),区别起见,通常把p(x,y)或者p(x)成为联合最大熵模型。在语言处理包括文中后来用到的基于内容处理中都是使用条件最大熵模型,在此特此说明。 

三、模型简介

  吃”周围的词语就是实例x,词性为y。这里的x实际上就是上下文信息对于“吃”周围词语的一种限制。而y在实际情况当中的可能性则非常巨大,有可能是“吃喝”、“吃苹果”、“好吃”等。由此,我们可以看出实例空间是非常巨大的。从训练样集中,我们可以得到像1 1 2 2 N N(x ,y ),(x ,y ),...,(x ,y ) z主要的经验概率分布,用出现的对数除以总对数表示概率,即最大熵模型先通过这些训练样例来训练模型,然后再顾及p(x,y)的概率分布。 模型框架中的应用系统是利用训练好的模型去估计实例 x’的概率分布p(y|x’),其中1<=y<=Y。最后通过概率的从大到小排列形成最后的推荐结果。 

四、协同过滤

  在一般的电子商务系统中,用户往往只会对很少的一部分商品进行评分,整个用户集合与项目集合相关联的是一个非常稀疏的评分矩阵。在计算相似度的方法中,用户或者项目间相关的评分信息非常不充分,反映为两个用户或者项目间共有评分非常有限,因此相似度计算结果非常不可靠,而实际计算出来的相似值往往不是太高,失去了线性相关本身的意义。由此,依靠相似度选择最近邻居的推荐方法在数据稀疏的情形下推荐结果受到严重的负面影响。 

五、参考文献

  [1]基于最大熵模鹜解决协同过滤稀  疏性问题研究 

  [2]融合用户属性和兴趣的最大熵 推荐算法研究 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/288518

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。