机器学习——朴素无华贝叶斯(NBC)
机器学习——朴素贝叶斯(NBC)
Xi={x(1)i,x(2)i,x(3)i,...,x(n)i}
每一个x(d)i 代表第i 个样本的第d 个特征分量的值,d=1,2,3...n;n 为特征数目。
整个样本集可以表示如下:
T={(X1,y1),(X2,y2),...,(XN,yN)}
其中N 为样本集中样本的数目。
P(X|Y=ck)
和先验分布P(Y=ck)
就可以得到联合分布P(X,Y) 。
其中的条件概率分布理论上有指数级个数的参数,假设x(j) 有
Sj 个取值可能性,那么对于K个类别的参数总个数为K∏nj=1Sj 个。
为了简化计算和方便实现,朴素贝叶斯假定每个特征相互独立,这就是朴素贝叶斯的来历。根据独立性的定义可以得到
P(X|Y=ck)=P(X(1),X(2),...,X(n)|Y=ck)
=P(X(1)|Y=ck)∗P(X(2)|Y=ck)...P(X(n)|Y=ck)
虽然简化了计算,但是在某些问题中这样的假设并不成立,因此会牺牲一定的准确度。贝叶斯实际上学习到的是根据训练集生成的分布,属于生成式模型。
通过贝叶斯定理和全概率公式,根据上述学习到的参数计算每个类别下的后验概率:
P(Y=ck|Xi)=P(Y=ck)∗∏jP(X(j)i|Y=ck)∑kP(Y=ck)∗∏jP(X(j)i|Y=ck)
这就是朴素贝叶斯分类器的数学模型。对于最终的分类函数可以标识如下:
y=f(X)=argmaxckP(Y=ck)∗∏jP(X(j)i|Y=ck)∑kP(Y=ck)∗∏jP(X(j)i|Y=ck)
由于上式中对于所有的ck ,分母都是一样的值,故只有分子对最后的分类产生作用。因此
y=f(X)=argmaxckP(Y=ck)∗∏jP(X(j)i|Y=ck)
L(Y,f(X))={0,1, if Y=f(X) if Y≠f(X)
从而学习到最优的模型,选择期望风险最小化损失函数:
Remp(f)=E[L(Y,f(X))]=EX∑k=1KP(ck|X)∗L(ck,f(X))
为了使得上述风险最小,只需要对Xi 逐个极小化,从而得到:
f(x)=argminck∈Y∑k=1KL(ck,Y)P(ck|X=x)=argminck∈Y∑k=1KP(Y≠ck|X=x)=argminck∈Y(1−P(Y=ck|X=x))=argmaxck∈YP(Y=ck|X=x)
因此,使用基于贝叶斯定理得到的最大后验概率分类器与使用0-1损失函数的期望风险最小化策略是等价的。P(Y=ck)=∑Ni=1I(yi=ck)N,k=1,2...K
条件概率估计:
设第j 个特征x(j) 的取值集合为{aj1,aj2,...ajSj} ,则有:
P(X(j)=ajl|Y=ck)=∑Ni=1I(x(j)=ajl,yi=ck)∑Ni=1I(yi=ck)
平滑方法:
当进行分类时,如果某个特征出现的值在训练中没有出现,那么就会出现零概率,这样计算得到的所有最终结果就为0,为了避免这种偏差,使用平滑方法进行修正,最常用的就是加一平滑,即对没有出现的特征项的计数值采用1代替,对于分母上的总样本数进行相应的增加。
朴素贝叶斯分类(NBC)是机器学习中最基本的分类方法,是其他众多分类算法分类性能的对比基础,其他的算法在评价性能时都在NBC的基础上进行。同时,对于所有机器学习方法,到处都蕴含着Bayes统计的思想。
朴素贝叶斯基于贝叶斯地理和特征条件独立性假设,首先基于条件独立性假设学习输入
基本定义
输入空间
每一个
整个样本集可以表示如下:
其中
模型
根据统计学中的大数定律,当样本量足够大时,样本的各个统计量,如
朴素贝叶斯方法假设了上述训练集
就可以得到联合分布
其中的条件概率分布理论上有指数级个数的参数,假设
为了简化计算和方便实现,朴素贝叶斯假定每个特征相互独立,这就是朴素贝叶斯的来历。根据独立性的定义可以得到
虽然简化了计算,但是在某些问题中这样的假设并不成立,因此会牺牲一定的准确度。贝叶斯实际上学习到的是根据训练集生成的分布,属于生成式模型。
通过贝叶斯定理和全概率公式,根据上述学习到的参数计算每个类别下的后验概率:
这就是朴素贝叶斯分类器的数学模型。对于最终的分类函数可以标识如下:
由于上式中对于所有的
模型的另一种解释
上述关于朴素贝叶斯分类器的模型是从概率统计和独立性假设推出,可以从机器学习的角度重新推导。机器学习的三要素就是模型+策略+算法,这里的模型是指对于问题的分析后确定的需要学习到的模型类别,此处可以确定为生成式模型,学习到一个条件概率分布;策略选择0-1损失函数进行度量:
从而学习到最优的模型,选择期望风险最小化损失函数:
为了使得上述风险最小,只需要对
因此,使用基于贝叶斯定理得到的最大后验概率分类器与使用0-1损失函数的期望风险最小化策略是等价的。
参数估计
先验概率的估计:
条件概率估计:
设第
平滑方法:
当进行分类时,如果某个特征出现的值在训练中没有出现,那么就会出现零概率,这样计算得到的所有最终结果就为0,为了避免这种偏差,使用平滑方法进行修正,最常用的就是加一平滑,即对没有出现的特征项的计数值采用1代替,对于分母上的总样本数进行相应的增加。