一、极大似然估计:

已知x,判断y的概率:利用后验概率最大化
 

朴素贝叶斯算法java 朴素贝叶斯算法例题_朴素贝叶斯算法java

 上面的后验概率最大化由先验概率和条件概率组成:

先验概率:

朴素贝叶斯算法java 朴素贝叶斯算法例题_算法_02

条件概率:

朴素贝叶斯算法java 朴素贝叶斯算法例题_朴素贝叶斯算法java_03

二、朴素贝叶斯:算法(极大似然估计)

输入:训练集:

朴素贝叶斯算法java 朴素贝叶斯算法例题_后验概率_04

 示例

朴素贝叶斯算法java 朴素贝叶斯算法例题_后验概率_05

输出: 示例x所属类别y

朴素贝叶斯算法java 朴素贝叶斯算法例题_sklearn_06

 先验概率:每个类别拥有的实例点比上训练数据集中所有实例点的个数。

条件概率:当已知实例点属于某个类的时候,看一下该样本的几个特征中,是某个特征的时候概率是多少。

后验概率:x属于每个类别的概率。取后验概率最大化,从而找出x属于哪个类别。

例题: 

朴素贝叶斯算法java 朴素贝叶斯算法例题_机器学习_07

步骤:

1.计算先验概率:这里就是计算Y=-1和Y=1的概率。

这里Y=1的先验概率为9/15, Y=-1的先验概率为6/15。

2.计算条件概率:

朴素贝叶斯算法java 朴素贝叶斯算法例题_朴素贝叶斯算法java_08

3.计算后验概率:

我们这里的示例点的第一个特征为2,第二个特征为S。

计算Y=1的后验概率:P(Y=1) · P(X(1)=2 | Y=1)· P(X(2)=S | Y=1)= 9/15 * 3/9 * 1/9 = 1/45

计算Y=-1的后验概率:P(Y=-1) · P(X(1)=2 | Y=-1)· P(X(2)=S | Y=-1)= 6/15 * 2/6 * 3/6 = 1/15

采用后验概率最大化,从而判断示例点x属于-1这一类。

由上面也可以看出,朴素贝叶斯算法是生成模型,分别算了样本属于两种分类的概率,然后取概率大的那一个。

三、朴素贝叶斯:算法(贝叶斯估计)

估计方法:

先验概率的贝叶斯估计:

朴素贝叶斯算法java 朴素贝叶斯算法例题_sklearn_09

条件概率的贝叶斯估计:

朴素贝叶斯算法java 朴素贝叶斯算法例题_后验概率_10

朴素贝叶斯算法java 朴素贝叶斯算法例题_机器学习_11

 

公式中的K是分类数,Sj就是第j个特征有多少种取值。

例题:

朴素贝叶斯算法java 朴素贝叶斯算法例题_机器学习_07

步骤:

1.计算先验概率:这里就是计算Y=-1和Y=1的概率。

这里Y=1的先验概率为

朴素贝叶斯算法java 朴素贝叶斯算法例题_机器学习_13

, Y=-1的先验概率为

朴素贝叶斯算法java 朴素贝叶斯算法例题_后验概率_14

2.计算条件概率:

朴素贝叶斯算法java 朴素贝叶斯算法例题_机器学习_15

3.计算后验概率:

我们这里的示例点的第一个特征为2,第二个特征为S。

计算Y=1的后验概率:P(Y=1) · P(X(1)=2 | Y=1)· P(X(2)=S | Y=1)= 10/17 * 4/12 * 2/12  = 5/153

计算Y=-1的后验概率:P(Y=-1) · P(X(1)=2 | Y=-1)· P(X(2)=S | Y=-1)= 7/17 * 3/9 *4/9 = 28/459

采用后验概率最大化,从而判断实例点x属于-1这一类。