laplace光滑什么意思

  统计/机器学习 贝叶斯 自然语言处理 数据预处理    浏览次数:6365        分享
5

自然语言处理里和贝叶斯模型里出现的laplace光滑什么意思?有什么用?


 

ZhuangChong   2017-11-14 11:53



   1个回答 
19

拉普拉斯光滑是用来对分类变量的出现频率进行光滑修正的一个手段。

比如有一句话“我学习机器学习”,一共七个字。

“我”出现了一次。频率为$$f(我)=\frac{1}{7}$$

“学”出现了两次。频率为$$f(学)=\frac{2}{7}$$


拉普拉斯光滑的公式为

$$g(x)=\frac{n_x+\alpha}{l+\alpha c}$$

其中$n_x$是单词$x$出现的次数,$l$是句子的长度,$c$是句子中不同词汇的个数,$\alpha$是拉普拉斯光滑的光滑系数,这个是自行设定的。

上面的句子里一共七个字,五个不同的字。假设我们选定$\alpha=1$:

$$g_1(我)=\frac{1+1}{7+1\times 5}=\frac{2}{12}=\frac{1}{6}$$

$$g_1(学)=\frac{2+1}{7+1\times 5}=\frac{3}{12}=\frac{1}{4}$$

假设我们选定$\alpha=2$:

$$g_2(我)=\frac{1+2}{7+2\times 5}=\frac{3}{17}$$

$$g_2(学)=\frac{2+2}{7+2\times 5}=\frac{4}{17}$$

$\alpha$越大,得到的结果越接近于均匀分布。


拉普拉斯光滑解决一些0概率问题,即一个样本虽然不出现,但是我们不能认为它的概率就一定是0。在贝叶斯模型中,拉普拉斯光滑很常见。

此外,拉普拉斯光滑不只是在自然语言处理的文本、词汇数据。它使用用所有的多元categorical的数据。

拉普拉斯光滑也有一些变种的方法,具体可以参考维基百科


SofaSofa数据科学社区DS面试题库 DS面经

KingBug   2017-11-15 11:44

很详细,谢谢! - ZhuangChong   2017-11-28 12:23
式子是看明白了,但是这么做平滑的原因或者道理是什么呢? - x1y7o   2022-04-21 01:10
相当于每人有低保,没人饿死。大家收入差距小点,就平滑了。 - Zealing   2022-04-27 13:14


  相关讨论

朴素贝叶斯中的朴素是什么意思?

用贝叶斯怎么输出模型的预测准确率?

朴素贝叶斯是线性分类器吗?

贝叶斯网络和朴素贝叶斯有什么区别?

朴素贝叶斯分类器 naive_bayes.MultinomialNB() 为啥和手算的结果不一致

如何用EM算法实现朴素贝叶斯法的非监督学习

贝叶斯里的先验分布,后验分布是什么意思?

高斯分布的后验分布是什么?

机器学习中文数据的训练集的预处理

flat priors是什么意思?

  随便看看

为什么梯度的反方向是函数下降最快的方向?

wide-deep模型里的wide和deep分别是指什么意思?

Data Application Lab怎么样?

VGG16和VGG19的区别?

求多个torch tensor的平均值