语言模型评估
2015-10-28 15:51
316 查看
如何评估语言模型 (<<speech and language processin>>)
Perplexity
一个语言模型表现更好好就是说它在测试集合表现更好,也就是说使得测试数据能有更高产生概率(assign a higher score to test data)
在这个基础上表征了这一特征,perplextiy越低则表示测试数据产生概率越高。
N起归一作用,在这里避免了长度偏见,较长句子会使得概率较小一些。
考虑
If P(w1,w2) = 1/16 (N = 2)
Then PP(W) = 4
If P(w1w2,w3,w4) = 1/16 (N = 4)
Then PP(W) = 2
如果使用ChainRule来表示
更进一步如果是bigram的语言模型
考虑如果是一个uingram语言模型,词典对应
(1,2,3,….10) 每个出现概率是1/10
那么PP(W) = 10
在一个数据集合(wall street journal)训练unigram,bigram,trigram三种语言模型,在测试集合上对应的Perplexity表现是
Perplexity和信息论的关系
考虑一个数据对应可以用8bit编码,那么对应的perplexity是256。
H[x] = 8
类似上面 p(x) = 1/256
信息熵
Entropy rate (per-word entropy)
根据Shannon-McMillan-Breiman theorem
交叉熵
同样根据Shannon-McMillan-Breiman theorem
这里本质上就是 perplexity 就是
交叉熵的指数形式 exp of cross entropy
根据perplexity和交叉熵的关系,更小的perplexity从某种意义表明当前模型是更加接近产生测试数据集合的真实模型。
Perplexity
一个语言模型表现更好好就是说它在测试集合表现更好,也就是说使得测试数据能有更高产生概率(assign a higher score to test data)
在这个基础上表征了这一特征,perplextiy越低则表示测试数据产生概率越高。
N起归一作用,在这里避免了长度偏见,较长句子会使得概率较小一些。
考虑
If P(w1,w2) = 1/16 (N = 2)
Then PP(W) = 4
If P(w1w2,w3,w4) = 1/16 (N = 4)
Then PP(W) = 2
如果使用ChainRule来表示
更进一步如果是bigram的语言模型
考虑如果是一个uingram语言模型,词典对应
(1,2,3,….10) 每个出现概率是1/10
那么PP(W) = 10
在一个数据集合(wall street journal)训练unigram,bigram,trigram三种语言模型,在测试集合上对应的Perplexity表现是
Perplexity和信息论的关系
考虑一个数据对应可以用8bit编码,那么对应的perplexity是256。
H[x] = 8
类似上面 p(x) = 1/256
信息熵
Entropy rate (per-word entropy)
根据Shannon-McMillan-Breiman theorem
交叉熵
同样根据Shannon-McMillan-Breiman theorem
这里本质上就是 perplexity 就是
交叉熵的指数形式 exp of cross entropy
根据perplexity和交叉熵的关系,更小的perplexity从某种意义表明当前模型是更加接近产生测试数据集合的真实模型。
相关文章推荐
- Testing Host Applications 未制定(None)时会报错
- 限制PHP上传文件大小
- 1007. 素数对猜想 (20)
- zynq移植RT2870AP模式wifi
- iOS开发技巧--修改app名称
- WordPress数据库及各表结构
- java在线接口文档
- 手工测试和自动化测试各自适用的场合
- 《将博客搬至CSDN》
- iOS9之前,UINavigationController控制器子类无法控制器StatusBar的样式
- 1006. 换个格式输出整数 (15)
- PHP中基于perl的正则表达式处理函数
- Greenplum 以 Apache 协议开源,已托管 GitHub
- CMOS Sensor 基础知识
- UFT數據表操作(檢查創建列、Excel導入、賦值)
- 每日一Vim(0)——入门操作
- 条件概率期望
- SkyBox
- Tools属性Tools Attributes
- textView、textField ReturnKey 的使用