zoukankan      html  css  js  c++  java
  • 自然语言处理4-4:语言模型之模型评估perplexity

    perplexity可以用来评估训练的语言模型的好坏,其实就是下面这个公式

    $$ perplexity = 2^{-x}qquad  x表示的是平均的log likelihood,也可以理解为平均的概率啦$$

    下面举一个例子,假设我们有一个测试集如下:

    我喜欢喝奶茶

    假设我们有一个训练好的bi-gram模型,对于词典库中的每个单词,通过这个模型可以得到诸如P(单词2|单词1)的概率。这里列出部分概率

    P(我)= 0.1
    p(喜欢|我)= 0.1
    p(喝|喜欢)=0.1
    p(奶茶|喝)=0.1

    我们可以得到

    x = log{P(我)p(喜欢|我)p(喝|喜欢)p(奶茶|喝)} / 4= -4/4 = -1

    perplexity = 2^(-x) = 2^(1) = 2

    我们知道,似然估计越大越好,也就是说,x越大越好,所以perplexity越小越好,于是我们就可以通过perplexity对语言模型进行优化了。

    这里举出的例子都非常小,实际上测试集肯定非常大,而且也不限于bi-gram,当然,训练的模型得到的概率也不可能都是0.1.

  • 相关阅读:
    伸展树(SplayTree)的实现
    map的访问
    #pragma warning(disable 4786)
    debian sftp/ssh197
    debian 配置静态ip197
    deepin 安装tar.gz197
    npm构建vue项目197
    linux 常用命令197
    application/force-download 不生效197
    reids 安装197
  • 原文地址:https://www.cnblogs.com/loubin/p/13720192.html
Copyright © 2011-2022 走看看