拉普拉斯平滑(Laplacian smoothing)
概念
- 零概率问题:在计算事件的概率时,如果某个事件在观察样本库(训练集)中没有出现过,会导致该事件的概率结果是 $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*λ$。
拉普拉斯平滑(Laplacian smoothing)的更多相关文章
- 拉普拉斯平滑处理 Laplace Smoothing
背景:为什么要做平滑处理? 零概率问题,就是在计算实例的概率时,如果某个量x,在观察样本库(训练集)中没有出现过,会导致整个实例的概率结果是0.在文本分类的问题中,当一个词语没有在训练样本中出现,该词 ...
- 拉普拉斯矩阵(Laplacian Matrix) 及半正定性证明
摘自 https://blog.csdn.net/beiyangdashu/article/details/49300479 和 https://en.wikipedia.org/wiki/Lapla ...
- 深度学习面试题28:标签平滑(Label smoothing)
目录 产生背景 工作原理 参考资料 产生背景 假设选用softmax交叉熵训练一个三分类模型,某样本经过网络最后一层的输出为向量x=(1.0, 5.0, 4.0),对x进行softmax转换输出为: ...
- SC3聚类 | 拉普拉斯矩阵 | Laplacian matrix | 图论 | R代码
Laplacian和PCA貌似是同一种性质的方法,坐标系变换.只是拉普拉斯属于图论的范畴,术语更加专业了. 要看就把一篇文章看完整,再看其中有什么值得借鉴的,总结归纳理解后的东西才是属于你的. 问题: ...
- 统计学习1:朴素贝叶斯模型(Numpy实现)
模型 生成模型介绍 我们定义样本空间为\(\mathcal{X} \subseteq \mathbb{R}^n\),输出空间为\(\mathcal{Y} = \{c_1, c_2, ..., c_K\ ...
- AI人工智能专业词汇集
作为最早关注人工智能技术的媒体,机器之心在编译国外技术博客.论文.专家观点等内容上已经积累了超过两年多的经验.期间,从无到有,机器之心的编译团队一直在积累专业词汇.虽然有很多的文章因为专业性我们没能尽 ...
- NLP相关问题中文本数据特征表达初探
1. NLP问题简介 0x1:NLP问题都包括哪些内涵 人们对真实世界的感知被成为感知世界,而人们用语言表达出自己的感知视为文本数据.那么反过来,NLP,或者更精确地表达为文本挖掘,则是从文本数据出发 ...
- 一步步教你轻松学朴素贝叶斯模型算法Sklearn深度篇3
一步步教你轻松学朴素贝叶斯深度篇3(白宁超 2018年9月4日14:18:14) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对 ...
- 生成学习算法(Generative Learning algorithms)
一.引言 前面我们谈论到的算法都是在给定\(x\)的情况下直接对\(p(y|x;\theta)\)进行建模.例如,逻辑回归利用\(h_\theta(x)=g(\theta^T x)\)对\(p(y|x ...
随机推荐
- WHUCTF PWN题目
花了大概两天时间来做WHUCTF的题目,第一次排名这么靠前.首先感谢武汉大学举办这次萌新赛,也感谢fmyy的师傅的耐心指导,让我第一次做出堆的题目来. pwnpwnpwn 这是一道栈题目,32位程序, ...
- 任务关联的类型(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 任务关联的类型,一共是四种,FS.SS.SF.FF. 就这些! -- 好吧,我又调皮了,怎么着也该解释一下吧? 嗯!F就是 ...
- Jaeger的客户端采样配置(Java版)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- CF544A Set of Strings 题解
Content 有一个长为 \(n\) 的字符串 \(q\),试问能否将其划分为 \(k\) 个子串,使得每个子串的首字母都不相等,可以的话输出 \(\texttt{YES}\) 并输出任意一个方案, ...
- pdf2swf转换不成功该怎么解决啊,Process p=r.exec("D:/swf/pdf2swf.exe \""+pdfFile.getPath()+"\" -o \""+swfFile.getPath()+"\" -T 9");
pdf2swf转换不成功该怎么解决啊,可以这样解决吧,请注意命令的用法啊:Process p=r.exec("D:/swf/pdf2swf.exe \""+pdfFil ...
- Semaphore信号量源码解析
介绍 Semaphore是什么 Semaphore可以称为信号量,这个原本是操作系统中的概念,是一种线程同步方法,配合PV操作实现线程之间的同步功能.信号量可以表示操作系统中某种资源的个数,因此可以用 ...
- A1. 道路修建 Small(BNUOJ)
A1. 道路修建 Small Time Limit: 1000ms Memory Limit: 131072KB 64-bit integer IO format: %lld Java cl ...
- MySQL 中的共享表空间与独立表空间
对于 InnoDB 存储引擎来说,它可以将每张表存放于独立的表空间,即tablename.ibd 文件:也可以将数据存放于 ibdata 的共享表空间,一般命名是 ibdataX,后面的 X 是一个具 ...
- FreeSql.Provider.SqliteCore如何加密
FreeSql.Provider.SqliteCore 是FreeSql基于微软提供的最新的Microsoft.Data.Sqlite.Core驱动的实现. 支持的版本 .NETStandard2.0 ...
- Generative Modeling by Estimating Gradients of the Data Distribution
目录 概 主要内容 Langevin dynamics Score Matching Denoising Score Matching Noise Conditional Score Networks ...