- 浏览: 2653700 次
- 来自: 杭州
文章分类
- 全部博客 (1188)
- webwork (4)
- 网摘 (18)
- java (103)
- hibernate (1)
- Linux (85)
- 职业发展 (1)
- activeMQ (2)
- netty (14)
- svn (1)
- webx3 (12)
- mysql (81)
- css (1)
- HTML (6)
- apache (3)
- 测试 (2)
- javascript (1)
- 储存 (1)
- jvm (5)
- code (13)
- 多线程 (12)
- Spring (18)
- webxs (2)
- python (119)
- duitang (0)
- mongo (3)
- nosql (4)
- tomcat (4)
- memcached (20)
- 算法 (28)
- django (28)
- shell (1)
- 工作总结 (5)
- solr (42)
- beansdb (6)
- nginx (3)
- 性能 (30)
- 数据推荐 (1)
- maven (8)
- tonado (1)
- uwsgi (5)
- hessian (4)
- ibatis (3)
- Security (2)
- HTPP (1)
- gevent (6)
- 读书笔记 (1)
- Maxent (2)
- mogo (0)
- thread (3)
- 架构 (5)
- NIO (5)
- 正则 (1)
- lucene (5)
- feed (4)
- redis (17)
- TCP (6)
- test (0)
- python,code (1)
- PIL (3)
- guava (2)
- jython (4)
- httpclient (2)
- cache (3)
- signal (1)
- dubbo (7)
- HTTP (4)
- json (3)
- java socket (1)
- io (2)
- socket (22)
- hash (2)
- Cassandra (1)
- 分布式文件系统 (5)
- Dynamo (2)
- gc (8)
- scp (1)
- rsync (1)
- mecached (0)
- mongoDB (29)
- Thrift (1)
- scribe (2)
- 服务化 (3)
- 问题 (83)
- mat (1)
- classloader (2)
- javaBean (1)
- 文档集合 (27)
- 消息队列 (3)
- nginx,文档集合 (1)
- dboss (12)
- libevent (1)
- 读书 (0)
- 数学 (3)
- 流程 (0)
- HBase (34)
- 自动化测试 (1)
- ubuntu (2)
- 并发 (1)
- sping (1)
- 图形 (1)
- freemarker (1)
- jdbc (3)
- dbcp (0)
- sharding (1)
- 性能测试 (1)
- 设计模式 (2)
- unicode (1)
- OceanBase (3)
- jmagick (1)
- gunicorn (1)
- url (1)
- form (1)
- 安全 (2)
- nlp (8)
- libmemcached (1)
- 规则引擎 (1)
- awk (2)
- 服务器 (1)
- snmpd (1)
- btrace (1)
- 代码 (1)
- cygwin (1)
- mahout (3)
- 电子书 (1)
- 机器学习 (5)
- 数据挖掘 (1)
- nltk (6)
- pool (1)
- log4j (2)
- 总结 (11)
- c++ (1)
- java源代码 (1)
- ocr (1)
- 基础算法 (3)
- SA (1)
- 笔记 (1)
- ml (4)
- zokeeper (0)
- jms (1)
- zookeeper (5)
- zkclient (1)
- hadoop (13)
- mq (2)
- git (9)
- 问题,io (1)
- storm (11)
- zk (1)
- 性能优化 (2)
- example (1)
- tmux (1)
- 环境 (2)
- kyro (1)
- 日志系统 (3)
- hdfs (2)
- python_socket (2)
- date (2)
- elasticsearch (1)
- jetty (1)
- 树 (1)
- 汽车 (1)
- mdrill (1)
- 车 (1)
- 日志 (1)
- web (1)
- 编译原理 (1)
- 信息检索 (1)
- 性能,linux (1)
- spam (1)
- 序列化 (1)
- fabric (2)
- guice (1)
- disruptor (1)
- executor (1)
- logback (2)
- 开源 (1)
- 设计 (1)
- 监控 (3)
- english (1)
- 问题记录 (1)
- Bitmap (1)
- 云计算 (1)
- 问题排查 (1)
- highchat (1)
- mac (3)
- docker (1)
- jdk (1)
- 表达式 (1)
- 网络 (1)
- 时间管理 (1)
- 时间序列 (1)
- OLAP (1)
- Big Table (0)
- sql (1)
- kafka (1)
- md5 (1)
- springboot (1)
- spring security (1)
- Spring Boot (3)
- mybatis (1)
- java8 (1)
- 分布式事务 (1)
- 限流 (1)
- Shadowsocks (0)
- 2018 (1)
- 服务治理 (1)
- 设计原则 (1)
- log (0)
- perftools (1)
最新评论
-
siphlina:
课程——基于Python数据分析与机器学习案例实战教程分享网盘 ...
Python机器学习库 -
san_yun:
leibnitz 写道hi,我想知道,无论在92还是94版本, ...
hbase的行锁与多版本并发控制(MVCC) -
leibnitz:
hi,我想知道,无论在92还是94版本,更新时(如Puts)都 ...
hbase的行锁与多版本并发控制(MVCC) -
107x:
不错,谢谢!
Latent Semantic Analysis(LSA/ LSI)算法简介 -
107x:
不错,谢谢!
Python机器学习库
上面《MaxEnt: 最大熵模型(Maximum Entropy Models)(一)》 其实就是讲了下熵,下面我们继续最大熵模型(Maximum Entropy Models)。
最大熵原理指出,当我们需要对一个随机事件的概率分布进行预测时,我们的预测应当满足全部已知的条件,而对未知的情况不要做任何主观假设。在这种情 况下,概率分布最均匀,预测的风险最小。因为这时概率分布的信息熵最大,所以人们称这种模型叫“最大熵模型”。我们常说,不要把所有的鸡蛋放在一个篮子 里,其实就是最大熵原理的一个朴素的说法,因为当我们遇到不确定性时,就要保留各种可能性。说白了,就是要保留全部的不确定性,将风险降到最小。---- 摘自《Google黑板报》作者:吴军
========
继续用【参考5】的例子。
“学习”这个词可能是动词,也可能是名词。可以可以被标为主语、谓语、宾语、定语……
令x
1
表示“学习”被标为名词, x
2
表示“学习”被标为动词。令y
1
表示“学习”被标为主语, y
2
表示被标为谓语,y
3
表示宾语, y
4
表示定语。得到下面的表示:
p ( x 1 ) + p ( x 2 ) = 1 ∑ i = 1 4 p ( y i ) = 1
如果没有其他的知识,根据信息熵的理论,概率趋向于均匀。所以有:
p ( x 1 ) = p ( x 2 ) = 0.5 p ( y 1 ) = p ( y 2 ) = p ( y 3 ) = p ( y 4 ) = 0.25
但是在实际情况中,“学习”被标为定语的可能性很小,只有0.05。我们引入这个新的知识:p ( y 4 ) = 0.05 ,在满足了这个约束的情况下,其他的事件我们尽可能的让他们符合自然,符合均匀分布:
p ( x 1 ) = p ( x 2 ) = 0.5 p ( y 1 ) = p ( y 2 ) = p ( y 3 ) = 0.95 3
嗯,如果再加入一个知识,当“学习”被标作动词的时候,它被标作谓语的概率为0.95,这个其实是很自然的事情。都已经是动词了,那么是谓语的可能性就很大了:
p ( y 2 | x 1 ) = 0.95
已经有了两个知识了,第二个还是条件概率的知识,那么其他的我们尽可能的让他们不受约束,不受影响,分布的均匀一些,现在应该怎么让他们符合尽可能的均匀分布呢?
其实就是使熵尽可能的大就行了。也就是有个分布p,他尽可能的把训练集中的知识表示出来,损失最小,并且还能够保证p的熵最大:
p ∗ = arg max p H ( p )
那约束是什么呢?
用概率分布的极大似然对训练语料表示如下,其中是C o u n t ( x , y ) 在语料中出现的次数,N为总次数:
p ˉ ( x , y ) = 1 N × C o u n t ( x , y )
在实际问题中,由于条件x和结果y取值比较多样化,为模型表示方便起见,通常我们将条件x和结果y表示为一些二制特征。对于一个特征( x 0 , y 0 ) ,定义特征函数:
f ( x , y ) = { 1 : y = y 0 & x = x 0 0 : o t h e r s
特征函数在样本中 的期望值为:
p ˉ ( f ) = ∑ ( x i , y i ) p ˉ ( x i , y i ) f ( x i , y i )
其中p ˉ ( x , y ) 在前面已经数了,数数次数就行。
有了训练集,我们就能够训练一个模型出来,特征f在这个模型中 的期望值为:
p ( f ) = ∑ ( x i , y i ) p ( x i , y i ) f ( x i , y i ) = ∑ ( x i , y i ) p ( y i | x i ) p ( x i ) f ( x i , y i ) = ∑ ( x i , y i ) p ( y i | x i ) p ˉ ( x i ) f ( x i , y i )
其中p ˉ ( x i ) 为x出现的概率,数数归一化就行。
好了,约束来了,有了样本的分布,有了模型,那么对每一个特征(x,y),模型所建立的条件概率分布要与训练样本表现出来的分布相同:
p ( f ) = p ˉ ( f )
==========
目标函数有了,约束有了,归纳一下最大熵模型(Maximum Entropy Models)。
p ∗ = arg max p ∈ P H ( Y | X )
P={p|p是y|x的概率分布并且满足下面的条件},对训练样本,对任意给定的特征f i :
p ( f i ) = p ˉ ( f i )
展开:
p ∗ = arg max p ∈ P ∑ ( x , y ) p ( y | x ) p ˉ ( x ) log 1 p ( y | x )
约束P为:
P = ⎧ ⎩ ⎨ ⎪ ⎪ ⎪ ⎪ p ( y | x ) ∣ ∣ ∣ ∣ ∣ ∀ f i : ∑ ( x , y ) p ( y | x ) p ˉ ( x ) f i ( x , y ) = ∑ ( x , y ) p ˉ ( x , y ) f i ( x , y ) ∀ x : ∑ y p ( y | x ) = 1 ⎫ ⎭ ⎬ ⎪ ⎪ ⎪ ⎪
========
都齐了,该求解了吧?哈哈,有没有看过wiki上的关于拉格朗日乘子Lagrange Multiplier 的问题,恰好这里面有个例子就是求最大熵的,哈哈。所以我们可以用拉格朗日乘子法来求解。
对于有k个约束的优化问题:
可以引入k个拉格朗日算子
,那么拉格朗日函数为:
OK,咱们开始一步一步的带入求解∂ L ∂ p = 0 。
由于约束中有两部分组成,对于第二部分,我们引入拉格朗日算子为γ :
下面就是就偏微分=0计算最优解了:
求得最优解的参数形式:
但是里面还有参数,所以我们必须求得γ ∗ 和Λ ∗ 。
巧妙的是我们发现最后节的后面部分有个类似的常数项:
而且有意思的是,前面问题的第二个约束中有:
从而:
也就是式子中的关于γ 的常数项我们用关于Λ 的常数项进行代替了,这样参数就剩下一个了:
那么剩下的一个参数Λ 应该怎么进行求解呢?
解法以及最大熵模型与最大似然估计的关系在参考5中很详细,还有GIS以及IIS的方法进行求解,以后再写《MaxEnt: 最大熵模型(Maximum Entropy Models)(三)》。
发表评论
-
ConcurrentHashMap 的实现原理
2016-06-12 15:37 609概述 我们在之前的博文中了解到关于 HashMap 和 ... -
BloomFilter——大规模数据处理利器
2016-04-25 15:09 596参考:http://www.cnblogs.com/hea ... -
Base64笔记
2014-05-08 16:32 680原文:http://www.ruanyif ... -
运算符的优先级
2014-02-21 22:06 974很久没有去深究运算符的优先级了,今天写SQL解析思考了一下。 ... -
beansdb使用的压缩算法-Quicklz压缩算法
2014-02-09 20:17 0据这里http://blog.yufeng.i ... -
跳表SkipList的原理和实现
2014-02-07 17:29 1011参考:跳表SkipList的原理和实现 -
一种高效无锁内存队列的实现
2014-02-06 10:59 2014原文:http://www.searchtb. ... -
拆分文件统计topN的问题
2014-01-20 18:48 1041如果对一个只包含ip地址文件进行统计,需要求出频率最高的前 ... -
Integer的numberOfLeadingZeros方法解释
2014-01-13 20:42 1149int numberOfLeadingZeros(int i ... -
rank排名算法整理
2014-01-07 13:44 11511.Delicious.com 热门书签排行榜 按照&q ... -
利用switch判断各种case
2013-12-27 16:35 0String env = "daily" ... -
如何创建一个短链服务
2013-12-26 16:23 0参考: http://stackoverflow.com ... -
HAProxy的独门武器:ebtree
2013-12-07 18:57 999原文:http://tech.uc.cn/?p= ... -
统计单词出现频率
2013-10-07 20:58 929这里有一个大文本,文件请从 http://10.125.9 ... -
Reddit评论排名算法
2013-03-16 00:48 1638上一篇文章介绍了Reddit的排名算法,今天继续上一篇文章 ... -
大数据量,海量数据 处理方法总结
2013-01-13 23:46 1161大数据量的问题是很多面试笔试中经常出现的问题,比如bai ... -
STL系列
2013-01-13 23:42 962STL系列之一 deque双向队列 STL系 ... -
java Map排序(按key和按value)
2012-12-10 15:54 94671、按照key排序 对于java中Map的排序,有排序Map ... -
算法文档集合
2012-11-24 15:59 907Treelink算法介绍 一些基础算法介绍 ... -
各种进制基础知识
2012-11-06 14:37 100810进制是人类最熟悉的数字计算 2进制是机器最基本的单位 ...
相关推荐
最大熵模型(MaxEnt,全称为Maximum Entropy Modeling)是一种统计学方法,广泛应用于各种领域,包括信息检索、自然语言处理、生物信息学等。在生态学中,它被用作物种分布模型(Species Distribution Models,SDMs...
在Python编程环境中,最大熵模型(MaxEnt,Maximum Entropy Model)和最小散度模型(Minimum Divergence Model)是两种常用的统计建模方法,尤其在自然语言处理、信息检索、分类问题等领域有广泛应用。本压缩包...
标题与描述均提到了“最大熵MIMO无线信道模型在有限信息下的应用”,这实际上是一种高级的无线通信技术研究领域。MIMO(Multiple-Input Multiple-Output)即多输入多输出技术,是现代无线通信系统中的关键技术之一,...
逻辑回归(Logistic Regression, LR)和最大熵模型(Maximum Entropy Model)在二分类问题中的等价性是统计学习理论中的一个重要知识点。逻辑回归是一种广泛应用于分类问题的统计模型,而最大熵原理是信息论中的一个...
Discriminative model),概率图模型(Graphical Models),朴素贝叶斯分类器( Naive Bayes Classifier),隐马尔可夫模型(Hidden Markov Model,HMM),最大熵模型(Maximum Entropy Model,MEM),最大熵马尔可夫...
"Advanced Maximum Entropy Models"进一步探讨了这个概念,包括更复杂的特征工程和模型扩展,如多项式最大熵模型和条件随机场,这些在处理复杂语境时尤其有用。 "Text Classification"是将文本分到预定义类别的过程...
本文将详细介绍几种关键的概率模型,包括朴素贝叶斯模型(Naive Bayes)、隐马尔可夫模型(Hidden Markov Models, HMM)、最大熵模型(Maximum Entropy Model)以及条件随机场(Conditional Random Fields, CRF)。...
在讨论CRF之前,我们需要先了解几种经典的概率模型,包括朴素贝叶斯(Naive Bayes)、隐马尔可夫模型(Hidden Markov Models, HMMs)以及最大熵模型(Maximum Entropy Model)。 ##### 2.1 朴素贝叶斯模型 朴素贝叶斯...
基于统计的方法使用大量的统计数据来学习词性标注,常见的统计模型包括隐马尔科夫模型(Hidden Markov Models, HMMs)、最大熵模型(Maximum Entropy Models)、条件随机场(Conditional Random Fields, CRFs)和...
CRF模型不同于隐马尔可夫模型(Hidden Markov Model,HMM)和最大熵马尔可夫模型(Maximum Entropy Markov Model,MEMM),它没有严格的独立假设,可以克服“标记偏置”的问题。 条件随机场模型的定义 CRF模型的...
- **模型偏差**:CRF避免了最大熵马尔可夫模型(Maximum Entropy Markov Models, MEMMs)和其他基于有向图模型的判别式马尔可夫模型存在的偏向少数后继状态的问题。 **3. CRF的优势** - **放宽独立假设**:CRF能够...
不同于传统的条件模型,这种方法在整体句子最大熵模型(Whole-sentence Maximum Entropy Models,简称WSME)中得到了应用,展现了潜在的好处。然而,之前研究WSME模型的实证结果并不令人满意。本文的研究团队通过...