贝叶斯分类器是各种分类器中分类错误概率最小或者在预先给定代价的情况下平均风险最小的分类器。它的设计方法是一种最基本的统计分类方法。其分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。
如果密度估计值收敛到真密度,则分类器成为贝叶斯分类器
用贝叶斯决策理论分类要事先知道两个条件及要求:
解决的问题:
已知一定数目的样本,设计分类器,对未知样本进行分类。
基于样本的两步贝叶斯决策
前提:训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量,且有充分的训练样本
假设:当样本数N →∞时,如此得到的分类器收敛于理论上的最优解。 即满足: P ^ ( w i ) → P ( w i ) , p ^ ( x ∣ w i ) → p ( x ∣ w i ) \widehat{P}(w_i)→P(w_i),\widehat{p}(x|w_i)→p(x|w_i) P (wi)→P(wi),p (x∣wi)→p(x∣wi)
先验概率与条件概率密度估计
概率密度估计的两种基本方法
可以把概率密度函数的参数估计问题看作一个贝叶斯决策问题,但这里决策的不是离散类别,而是参数的值,是在连续空间里做的决策。在用于分类的贝叶斯决策中,最优的条件可以是最小错误率或者最小风险。对连续变量: θ \theta θ,我们假定把它估计为: θ ^ \widehat\theta θ ,所带来的损失函数为: λ ( θ ^ , θ ) \lambda(\widehat\theta,\theta) λ(θ ,θ)
定义在样本x下的条件风险为: R ( θ ^ ∣ x ) = ∫ Θ λ ( θ ^ , θ ) p ( θ ∣ x ) d θ R(\widehat\theta|x)=\int_{\Theta}{\lambda(\widehat\theta,\theta)}p(\theta|x)d\theta R(θ ∣x)=∫Θλ(θ ,θ)p(θ∣x)dθ
则估计时总期望风险为: R = ∫ E d R ( θ ^ ∣ x ) p ( x ) d x R=\int_{E^d}{R(\widehat\theta|x)}p(x)dx R=∫EdR(θ ∣x)p(x)dx
现在的目标是对期望风险求最小,而条件风险都是非负的,求期望风险最小就等价于对所有可能的x求条件风险最小。在有限样本集合的情况下,我们所作的就是对所有的样本求条件风险最小,即: θ ∗ = a r g min θ ^ R ( θ ^ ∣ χ ) = ∫ Θ λ ( θ ^ , θ ) p ( θ ∣ χ ) d θ \theta^*=arg \space \min_{\widehat\theta}\space R(\widehat\theta|\chi)=\int_{\Theta}{\lambda(\widehat\theta,\theta)}p(\theta|\chi)d\theta θ∗=arg θ min R(θ ∣χ)=∫Θλ(θ ,θ)p(θ∣χ)dθ
在决策分类时,需要事先定义决策表即损失表,连续情况下需要定义损失函数,最常用的损失函数是平方误差损失函数,即: λ ( θ ^ , θ ) = ( θ − θ ^ ) 2 \lambda(\widehat\theta,\theta)=(\theta-\widehat\theta)^2 λ(θ ,θ)=(θ−θ )2
可以证明,如果采用平方误差损失函数,则θ 的贝叶斯估计量θ*是在给定x 时θ 的条件期望,即: θ ∗ = E [ θ ∣ x ] = ∫ Θ θ p ( θ ∣ x ) d θ \theta^*=E[\theta|x]=\int_{\Theta}{\theta}p(\theta|x)d\theta θ∗=E[θ∣x]=∫Θθp(θ∣x)dθ
在许多情况下,最小方差贝叶斯估计是最理想的,是贝叶斯的最优估计。
贝叶斯误差(bayes error rate)是指在现有特征集上,任意可以基于特征输入进行随机输出的分类器所能达到最小误差。也可以叫做最小误差。
r ( X ) = min [ q 1 ( X ) , q 2 ( X ) ] r(X)=\min[q_1(X), q_2(X)] r(X)=min[q1(X),q2(X)]
ϵ = E ( r ( X ) ) = ∫ r ( x ) p ( x ) d x = ∫ min [ π 1 p 1 ( x ) , π 2 p 2 ( x ) ] d x = π 1 ∫ L 1 p 1 ( x ) d x + π 2 ∫ L 2 p 2 ( x ) d x = π 1 ϵ 1 + π 2 ϵ 2 \begin{aligned} \epsilon&=E(r(X))=\int r(x)p(x)dx \\ & =\int \min[\pi_1p_1(x), \pi_2p_2(x)]dx \\ & =\pi_1\int_{L_1}p_1(x)dx+\pi_2\int_{L_2}p_2(x)dx\\ &=\pi_1\epsilon_1+\pi_2\epsilon_2 \end{aligned} ϵ=E(r(X))=∫r(x)p(x)dx=∫min[π1p1(x),π2p2(x)]dx=π1∫L1p1(x)dx+π2∫L2p2(x)dx=π1ϵ1+π2ϵ2
h ( X ) = − ln p 1 ( X ) + ln p 2 ( X ) < > ln π 1 π 2 h(X)=-\ln p_1(X) + \ln p_2(X) ^{>}_{<} \ln{\frac{\pi_1}{\pi_2}} h(X)=−lnp1(X)+lnp2(X)<>lnπ2π1
模型不确定性是由模型在测试期间看到的数据与用于训练模型的数据之间的分布不匹配导致的。
Instance-Based Learning
KNN分类算法包括以下4个步骤:
KNN方法思路简单,易于理解,易于实现,无需估计参数,无需训练。
该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数 。
该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。
线性分类器使用线性的函数表达式对样本进行分类,即划分边界为一个超平面,如:在二维空间中使用一条直线划分样本,在三维空间中使用一个平面来划分样本。