在学习NLP过程中,遇到了Good-turning的介绍,网上找了相关的资料查看,总结如下。

思想:

其主要思想是从概率的总量中分配少量的比例给零概率项。

思路:

假定给定的语料库中出现 \(r\)次数的词有\(N_r\)个,则有

\[N = \sum_{i=1}^{\infty }rN_r
\]

当\(r\)较小时,我们使用\(d_r\)代替\(r\),这里\(d_r < r\),\(d_r\)的值可有下式表示

\[d_r = ( r+1 )N_{r+1}/N_r
\]

其期望可以表示为

\[\hat{\theta }\left ( r \right )=\frac{1}{N}\left (r+1 \right )\frac{N_{r+1}}{N_r}
\]

其中\(N\)为现有语料库中所有单词频数的总和,这样可以保证

\[N = \sum_{r}^{ }d_rN_r
\]

一般情况下,发生次数为\(r\)的词个数大于发生次数为\(r+1\)的词个数,\(r\)越大,词的数量\(N_r\)越小。通过Good-turning smooth可以让数据稀疏度有效的降低,所有词的概率估计会看起来很平滑。

证明:

要证明上述假设的正确性,只需要证明期望和为1即可,即

\[\sum_{r}^{ }\hat{\theta }\left ( r \right )N_r=1
\]

证明

\[\sum_{r}^{ }\hat{\theta }\left ( r \right )N_r=\frac{1}{N}\sum_{r}^{ }\left (r+1 \right )\frac{N_{r+1}}{N_r}N_r=\frac{1}{N}\sum_{r}^{ }\left (r+1 \right )N_{r+1}
\]

我们知道

\[\sum_{r}^{ }\left (r+1 \right )N_{r+1}=\sum_{r}^{ }rN_r
\]

另外

\[\frac{1}{N}\sum_{r}^{ }rN_r=\frac{N}{N}=1
\]

\[\sum_{r}^{ }\hat{\theta }\left ( r \right )N_r=\frac{1}{N}\sum_{r}^{ }\left (r+1 \right )N_{r+1}=\frac{1}{N}\sum_{r}^{ }rN_r=1
\]

故上述证明说明了Good-turning估计的正确性

参考文章:

Good-turning估计

srilm语言模型中的平滑算法——Good-Turing平滑算法

Good-turning估计的更多相关文章

  1. DataBase异常状态:Recovery Pending,Suspect,估计Recovery的剩余时间

    一,RECOVERY PENDING状态 今天修改了SQL Server的Service Account的密码,然后重启SQL Server的Service,发现有db处于Recovery Pendi ...

  2. Automysqlbackup: WARNING: Turning off multicore support, since pigz isn’t there.

    在使用Automysqlbackup备份MySQL时,有时候你会在邮件里面看见"WARNING: Turning off multicore support, since pigz isn' ...

  3. 相机位姿估计1_1:OpenCV:solvePnP二次封装与性能测试

    关键词:OpenCV::solvePnP 文章类型:方法封装.测试 @Author:VShawn(singlex@foxmail.com) @Date:2016-11-27 @Lab: CvLab20 ...

  4. 相机位姿估计0:基本原理之如何解PNP问题

    关键词:相机位姿估计 PNP问题求解 用途:各种位姿估计 文章类型:原理 @Author:VShawn(singlex@foxmail.com) @Date:2016-11-18 @Lab: CvLa ...

  5. SPSS数据分析—广义估计方程

    广义线性模型虽然很大程度上拓展了线性模型的应用范围,但是其还是有一些限制条件的,比如因变量要求独立,如果碰到重复测 量数据这种因变量不独立的情况,广义线性模型就不再适用了,此时我们需要使用的是广义估计 ...

  6. 手势估计- Hand Pose Estimation

    http://blog.csdn.net/myarrow/article/details/51933651 1. 目前进展 1.1 相关资料      1)HANDS CVPR 2016      2 ...

  7. 多元线性回归 ——模型、估计、检验与预测

    一.模型假设 传统多元线性回归模型 最重要的假设的原理为: 1. 自变量和因变量之间存在多元线性关系,因变量y能够被x1,x2-.x{k}完全地线性解释:2.不能被解释的部分则为纯粹的无法观测到的误差 ...

  8. .net 估计要死在你手里了

    最近不太爽,想换工作,上这些知名的招聘网站,一搜 .net 心凉了一截,很少有大公司用.net,工资也不是很高. 不用我多说什么,想必很多人应该有类似经历,只是打了牙往肚子里咽. 来两副图: 最近用滴 ...

  9. 最大似然估计(MLE)与最小二乘估计(LSE)的区别

    最大似然估计与最小二乘估计的区别 标签(空格分隔): 概率论与数理统计 最小二乘估计 对于最小二乘估计来说,最合理的参数估计量应该使得模型能最好地拟合样本数据,也就是估计值与观测值之差的平方和最小. ...

  10. Daily Scrum1--团队项目分工及估计时间

    团队项目分工及估计时间 PM(黄剑锟): 任务一:监督进度,将每一天完成的任务总结,在各个部分进行协调与帮助.(贯穿整个项目周期) 任务二:提高搜索反应时间,优化搜索算法.(估计时间8小时) 程序设计 ...

随机推荐

  1. 用matplotlib绘制图片示例(新)

    test /*! * * Twitter Bootstrap * */ /*! * Bootstrap v3.3.7 (http://getbootstrap.com) * Copyright 201 ...

  2. 【Python学习笔记七】从配置文件中读取参数

    将一些需要更改或者固定的内容存放在配置文件中,通过读取配置文件来获取参数,这样修改以及使用起来比较方便 1.首先是配置文件的写法如下一个environment.ini文件: 里面“[]”存放的是sec ...

  3. C++语法小记---同名覆盖

    同名覆盖 子类中的同名成员会覆盖父类中的同名成员,但是在内存中仍然存在,只是无法直接访问,需要加上域名才能访问 子类中的同名函数会覆盖父类中的函数,复写是同名覆盖的一种特殊情况,只要不是多态场景,复写 ...

  4. java8之Stream流处理

    简介 Stream 流处理,首先要澄清的是 java8 中的 Stream 与 I/O 流 InputStream 和 OutputStream 是完全不同的概念. Stream 机制是针对集合迭代器 ...

  5. DJANGO-天天生鲜项目从0到1-002-用户模块-注册

    本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...

  6. jq转盘抽奖

    之前项目的时候要写一个抽奖,自己写了以后就记录一下. 先是html <div class="turntable_zhan"> <img class="y ...

  7. web自动化 -- HTMLreport(一)测试报告自定义测试用例名,重写ddt

    一.需求痛点 1.HTMLreport测试报告的用例名不明确 2.希望可以自定义HTMLreport测试报告的用例名 3.痛点截图 二.解决办法 1.原因分析 HTMLreport测试报告中的用例名是 ...

  8. 基于.Net Core的Redis:基本数据类型及其应用场景与命令行操作

    参考自:https://blog.csdn.net/only_yu_yy/article/details/78873735 https://blog.csdn.net/fenghuoliuxing99 ...

  9. integrator.setTimeout 设置一个超时时间,超过这个时间之后,扫描的 Activity 将会被 finish 。

    integrator.setTimeout 设置一个超时时间,超过这个时间之后,扫描的 Activity 将会被 finish . +++++++++++++++++++ 经查,没有这个功能

  10. 常用的 Systemctl 命令

    常用的 Systemctl 命令 设置开机启动 systemctl enable apache.service 立即启动一个服务 $ sudo systemctl start apache.servi ...