拉普拉斯平滑(Laplacian smoothing)

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475
概念

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

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

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

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

φj=∑mi=1I{z(i)=j}mφj=∑i=1mI{z(i)=j}m\varphi_{j}=\frac{\sum_{i=1}^{m} I\left{z^{(i)}=j\right}}{m}

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

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

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

应用场景举例  假设在文本分类中,有  333  个类:C1C1C_1、C2C2C_2、C3C3C_3  在指定的训练样本中,某个词语  K1K1K_1 ,在各个类中观测计数分别为  000,990990990,101010。  则对应   K1K1K_1  的概率为 0,0.99,0.010,0.99,0.010,0.99,0.01。

显然  C1C1C_1  类中概率为  000,不符合实际。

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

__EOF__

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IoKhZtgv-1642194800924)(https://blog.csdn.net/BlairGrowing)]Blair - 本文链接: https://blog.csdn.net/BlairGrowing/p/15803361.html

  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角**【[推荐](javascript:void(0)】**一下。

你可能感兴趣的:(python,概率论,机器学习,人工智能,计算机)