朴素贝叶斯
朴素贝叶斯是基于贝叶斯定律与特征之间条件独立这个假设的分类方法,属于生成模型。
贝叶斯定律
首先,我们给出贝叶斯定律的公式:
P ( B i ∣ A ) = P ( B i ) P ( A ∣ B i ) ∑ j = 1 n P ( B j ) P ( A ∣ B j ) P\left( {
{B_i}\left| A \right.} \right) = \frac{
{P\left( {
{B_i}} \right)P\left( {A\left| {
{B_i}} \right.} \right)}}{
{\sum\nolimits_{j = 1}^n {P\left( {
{B_j}} \right)P\left( {A\left| {
{B_j}} \right.} \right)} }} P(Bi∣A)=∑j=1nP(Bj)P(A∣Bj)P(Bi)P(A∣Bi)
其中 P ( ⋅ ) P\left( \cdot \right) P(⋅)为时间发生的概率, P ( A ∣ B ) P\left( {A\left| B \right.} \right) P(A∣B)则表示在 B B B发生的情况下 A A A发生的概率。
当特征条件独立时,则可以写为:
P ( 类 别 ∣ 特 征 ) = P ( 特 征 ∣ 类 别 ) P ( 类 别 ) P ( 特 征 ) P\left( {类别\left| {特征} \right.} \right){\rm{ = }}\frac{
{P\left( {特征\left| {类别} \right.} \right)P\left( {类别} \right)}}{
{P\left( {特征} \right)}} P(类别∣特征)=P(特征)P(特征∣类别)P(类别)
这里不再进行过多的赘述(我觉得知道这条就足够)。下面我们开始介绍朴素贝叶斯。
朴素贝叶斯的学习与分类
基本方法
我希望尽可能说的简单一些。
训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T = \left\{ {\left( { {x_1},{y_1}} \right),\left( { {x_2},{y_2}} \right), \cdots ,\left( { {x_N},{y_N}} \right)} \right\} T={ (x1,y1),(x2,y2),⋯,(xN,yN)}由 P ( X , Y ) P\left( {X,Y} \right) P(X,Y)独立同分布产生。其中 X , Y X,Y X,Y分别是输入、输出空间 X , Y = { c 1 , c 2 , . . . , c K } \mathcal{X},\mathcal{Y}=\left\{c_1,c_2,...,c_K\right\} X,Y={ c1,c2,...,cK}的随机变量。
朴素贝叶斯法则是通过训练集学习联合概率分布 P ( X , Y ) P\left( {X,Y} \right) P(X,Y)。
我们看一下详细过程:
- 计算先验概率分布: P ( Y = c k ) , k = 1 , 2 , . . . , K P\left( {Y = {c_k}} \right),k=1,2,...,K P(Y=ck),k=1,2,...,K
- 计算条件概率分布: P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , ⋯   , X ( n ) = x ( n ) ∣ Y = c k ) , k = 1 , 2 , ⋯   , K P\left( {X = x\left| {Y = {c_k}} \right.} \right) = P\left( {
{X^{\left( 1 \right)}} = {x^{\left( 1 \right)}},{X^{\left( 2 \right)}} = {x^{\left( 2 \right)}}, \cdots ,{X^{\left( n \right)}} = {x^{\left( n \right)}}\left| {Y = {c_k}} \right.} \right),k = 1,2, \cdots ,K P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),⋯,X(n)=x(n)∣Y=ck),k=1,2,⋯,K
意思是:在标签为 c k c_k ck时样本为 x x x的概率=标签为 c k c_k ck时,每个特征都取相应的取值时的概率。【计算很困难】 - 又因为作了特征之间条件独立的假设,所以上式可改写为为:
P ( X = x ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k )