概念

  • 零概率问题:在计算事件的概率时,如果某个事件在观察样本库(训练集)中没有出现过,会导致该事件的概率结果是  $0$ 。这是不合理的,不能因为一个事件没有观察到,就被认为该事件一定不可能发生(即该事件的概率为 $0$ )。

  拉普拉斯平滑(Laplacian smoothing) 是为了解决零概率的问题。

  • 法国数学家 拉普拉斯 最早提出用 加 $1$  的方法,估计没有出现过的现象的概率。
  • 理论假设:假定训练样本很大时,每个分量 $x$ 的计数加  $1$  造成的估计概率变化可以忽略不计,但可以方便有效的避免零概率问题

  具体公式
  对于一个随机变量  $\mathrm{z} $ , 它的取值范围是   $\{1,2,3 \ldots, \mathrm{k}\} $, 对于   $\mathrm{m} $  次试验后的观测 结果  $  \left\{\mathrm{z}^{(1)}, \mathrm{z}^{(2)}, \mathrm{z}^{(3)}, \ldots, \mathrm{z}^{(\mathrm{m})}\right\} $, 极大似然估计按照下式计算:

    $\varphi_{j}=\frac{\sum_{i=1}^{m} I\left\{z^{(i)}=j\right\}}{m}$

  使用 Laplace 平滑后, 计算公式变为:

    $\varphi_{j}=\frac{\sum_{i=1}^{m} I\left\{z^{(i)}=j\right\}+1}{m+\mathrm{k}}$

  即在分母上加上取值范围的大小, 在分子加  $1$ 。
  总结: 分子加一,分母加  $K$,$K$  代表类别数目。

  应用场景举例
  假设在文本分类中,有  $3$  个类:$C_1$、$C_2$、$C_3$
  在指定的训练样本中,某个词语  $K_1$ ,在各个类中观测计数分别为  $0$,$990$,$10$。
  则对应   $K_1$  的概率为 $0,0.99,0.01$。

  显然  $C_1$  类中概率为  $0$,不符合实际。

  于是对这三个量使用拉普拉斯平滑的计算方法如下:
  $1/1003 = 0.001$,$991/1003=0.988$,$11/1003=0.011$
  在实际的使用中也经常使用加 $λ$($0≤λ≤1$)来代替简单加  $1$。如果对  $N$个计数都加上  $λ$,这时分母也要记得加上 $N*λ$。

最新文章

  1. Alpha阶段第三次Scrum Meeting
  2. Assertion failure in -[UITableView _classicHeightForRowAtIndexPath:], /SourceCache/UIKit_Sim/UIKit-3318/UITableView.m:10772
  3. 上传文件创建目录 mkdir
  4. 【 2013 Multi-University Training Contest 4 】
  5. 正确的前端传后台json方式
  6. 使用VIM插件ctags来阅读C代码
  7. codevs1004四子连棋[BFS 哈希]
  8. spring cache
  9. UITableView编辑
  10. The differences between Java application and Java applet
  11. [POJ 2586] Y2K Accounting Bug (贪心)
  12. 3D volume texture和cube map
  13. Compass被墙后如何安装安装
  14. vi常用命令与设置(不断修改中)
  15. makefile懒人版(单个文件编译)
  16. BZOJ1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
  17. hdu 5754 Life Winner Bo 博弈论
  18. Struts1应用、实现简单计算器、使用DispatchAction、显示友好的报错信息、使用动态Form简化开发
  19. POJ3094 Quicksum
  20. Java学习笔记之——变量与数据类型、运算符

热门文章

  1. 逻辑判断(Power Query 之 M 语言)
  2. Table.NestedJoin合并…Join(Power Query 之 M 语言)
  3. LuoguP7713 「EZEC-10」打分 题解
  4. NAT各种模式
  5. 请注意JS方法,方法同名,参数个数不一样是不能区分方法的,
  6. Linux三剑客综合练习
  7. ACwing1208. 翻硬币
  8. SpringBoot整合kafka的简单应用及配置说明
  9. 【Android开发】问答机器人,聊天类App的开发制作过程记录
  10. 【LeetCode】14. Longest Common Prefix 最长公共前缀