朴素贝叶斯法
4.1 naive Bayes的学习与分类
4.1.1 基本方法
设输入空间为n维向量的集合 X⊆Rn ,输出空间为类标记的集合 Y={c1,c2,...,cK} 。输入为特征向量 x∈X ,输出为类标记 y∈Y 。X是定义在输入空间上的随机变量,Y是定义在输出空间上的随机变量。 P(X,Y) 是XY的联合概率分布。训练数据集
朴素贝叶斯法通过训练数据集学习联合概率分布
P(X,Y)
。具体的,学习以下先验概率分布及条件概率分布。先验概率分布
条件概率分布
朴素贝叶斯法对条件概率分布作了条件独立性假设。假设
朴素贝叶斯法实际上学习到了生成数据的机制,所以属于生成模型。
朴素贝叶斯法分类时,对给定的输入
x
,通过学习到的模型计算后验概率分布
(注:其实公式4.4右半部分的分母能进一步简化为 P(X=x) ,因为式中对 Y 的每一种情况下
将(4.3)带入(4.4),
于是,朴素贝叶斯分类器
分母对于任何一个 ck 都是相同的,所以只需让分子最大化即可。分类器简化为
(注:其实我上一个注已经解释过了,文中这样解释也不是不可以,就是太繁琐了。什么叫对任何一个 ck 都是相同的?就是说这个分母其实和 ck 没什么关系。具体来说,这个分母其实就是 P(X=x) ,它对于朴素贝叶斯分类器来说是一个常数。不知我这样说读者理解了吗?)
4.1.2 后验概率最大化的含义
朴素贝叶斯法将实例分类到后验概率最大的类中,这等价于期望风险最小化。理解就好,也很好理解我不写了。
4.2 朴素贝叶斯法的参数估计
4.2.1 极大似然估计
在朴素贝叶斯法中,学习意味着估计
P(Y=ck)
和
P(X(j)=x(j)|Y=ck)
。可以利用极大似然估计法估计相应的概率。
先验概率的极大似然估计是
设第j个特征向量 x(j) 的可能取值的集合为 {aj1,aj2,...,ajSj} ,条件概率 P(X(j)=ajl|Y=ck) 的极大似然估计是
式(4.9)中, x(j)i 是第i个特征向量的第j个特征; ajl 是第j个特征的第 l 个可能的取值;
4.2.2 采用极大似然估计的学习和分类的算法
(上面的数学公式输入得我要吐了,更确切的说是边tu边写到这里。总算到算法了,离代码不远了。)
算法4.1 朴素贝叶斯算法
输入:训练数据
T={(x1,y1),(x2,y2),...(xN,yN)}
,其中
xi=(x(1)i,x(2)i,...x(n)i)T
,
x(j)i
是第
i
个样本的第
输出:实例
(1)计算先验概率及条件概率
(2)对于给定的 n 维实例
(3)确定实例 x 的类
在此式中,运算符
4.2.3 贝叶斯估计
为了避免概率为0的情况对计算结果的影响,采用贝叶斯估计。直接上贝叶斯估计的公式。
对于任意的 j 和
代码
这里我想弄一个文本分类的代码。还在构思中。