laplace光滑什么意思

  统计/机器学习 贝叶斯推断 自然语言处理 数据预处理
3

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


 

ZhuangChong   2017-11-14 11:53



   1个回答 
6

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

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

“我”出现了一次。频率为$$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的数据。

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


KingBug   2017-11-15 11:44

很详细,谢谢! - ZhuangChong   2017-11-28 12:23


相关问题

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

置信网络和贝叶斯网络是一回事吗?   1回答

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

sklearn朴素贝叶斯分类里GaussianNB和BernoulliNB的区别?   1回答

关于朴素贝叶斯特征工程、特征选择的问题   0回答

马尔可夫蒙特卡洛方法(MCMC)到底是什么呀?   1回答

请问NLP中这种编码方式有没有什么术语?   1回答

python去掉中文文本中所有的标点符号   3回答

自然语言处理中的Tf-idf是什么意思   1回答

python里怎么把中文字符串转化为成list   1回答

用python统计字符串中空格的个数   3回答

文本处理中的tf是什么意思?如何计算?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!