本节将只从最简单的一个公式讲起,不会涉及到复杂的风险函数等理论,主要在于明白求解过程。
一个公式
x
代表属性取值,y代表类变量,则有:
上述公式构成了朴素贝叶斯的所有内涵。
即如果我们知道了属性x,需要预估该属性属于哪个类( p(y|x) ),那么我们可以通过三个已知的概率来计算出来
假设
注意上述公式在任何条件下都成立,那么关于朴素贝叶斯,我们通常所说的独立条件概率是什么意思呢?
一般来说,当数据量很少而属性的个数较大时,
p(x|y)
往往等于0.但实际上我们知道,在关于该样本的真实概率中,
p(x|y)
往往是不为0的,在这里为0,是因为我们使用频率代替概率导致的。
这时候这种替代的效果就不好了,我们需要是使用新的方法来计算
p(x|y)
。
如果样本的各个属性相互之间没有关系,或者我们称为条件独立,那么就有:
同理可以计算 p(x) .
这就是我们引入条件独立假设的原因。
另一种估计
如果在计算时发现
p(xi|y)
为0,怎么办?
解决办法是这样的:就假设
p(xi|y)=1类y的个数
。
或者说对于类取y的样本子集合,给每个属性都增加计数1,这样就解决计算过程为0的问题了。
由此可以看出,在实际计算中,朴素贝叶斯的使用限制还是挺多的,尤其在数据量小的情况下。
根据朴素贝叶斯的性质,一般朴素贝叶斯最典型的应用是垃圾分类,邮件类别判断等属性离散的应用。
连续值
虽然不是朴素贝叶斯的特长,但连续值也能被处理。
那就是引入另一个假设,高斯分布。
即连续属性是服从高斯分布的。
比如某个连续属性排好序后如下:
0.6, 0.8, 0.9, 1.0, 1.0, 1.1, 1.1, 1.1, 1.2, 1.3, 1.5, 1.9
假设上述数据服从高斯分布(其实我们可以使用置信区间来进行验证),那么很显然可以估计出其均值和方差。
那么就有:
如上所述, μ和σ 都是可以被计算的。