自然语言处理里和贝叶斯模型里出现的laplace光滑什么意思?有什么用?
1个回答
拉普拉斯光滑是用来对分类变量的出现频率进行光滑修正的一个手段。
比如有一句话“我学习机器学习”,一共七个字。
“我”出现了一次。频率为$$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的数据。
拉普拉斯光滑也有一些变种的方法,具体可以参考维基百科
很详细,谢谢!
-
ZhuangChong
2017-11-28 12:23
式子是看明白了,但是这么做平滑的原因或者道理是什么呢?
-
x1y7o
2022-04-21 01:10
相当于每人有低保,没人饿死。大家收入差距小点,就平滑了。
-
Zealing
2022-04-27 13:14