机器学习之贝叶斯判别和分类器

贝叶斯分类器

贝叶斯分类器是各种分类器中分类错误概率最小或者在预先给定代价的情况下平均风险最小的分类器。它的设计方法是一种最基本的统计分类方法。其分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

如果密度估计值收敛到真密度,则分类器成为贝叶斯分类器

  • 使用无穷样本
  • 由此产生的误差是贝叶斯误差,即给定基本分布的最小可实现误差

贝叶斯判别

  • 用贝叶斯决策理论分类要事先知道两个条件及要求

    • 各类的先验概率 P ( w i ) P(w_i) P(wi)及特征向量的条件概率密度: p ( x ∣ w i ) p(x|w_i) p(xwi)(或后验概率: P ( w i ∣ x ) P(w_i|x) P(wix)
    • 决策分类的类别一定
  • 解决的问题
    已知一定数目的样本,设计分类器,对未知样本进行分类。

  • 基于样本的两步贝叶斯决策

    • 首先根据样本估计 P ( w i ) P(w_i) P(wi) p ( x ∣ w i ) p(x|w_i) p(xwi)记为 P ^ ( w i ) \widehat{P}(w_i) P (wi) p ^ ( x ∣ w i ) \widehat{p}(x|w_i) p (xwi)
    • 然后用估计的概率密度设计贝叶斯分类器

前提:训练样本的分布能代表样本的真实分布。每个样本集中的样本都是所谓独立同分布的随机变量,且有充分的训练样本
假设:当样本数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 (xwi)p(xwi)

  • 先验概率与条件概率密度估计

    • 类的先验概率估计:可依靠经验或训练数据中各类出现的频率估计,容易实现;
    • 类条件概率密度的估计:概率密度函数包含了一个随机变量的全部信息,估计起来比较困难。
  • 概率密度估计的两种基本方法

    • 参数估计:根据对问题的一般性的认识,假设随机变量服从某种分布,分布函数的参数通过训练数据来估计
      • 如:ML 估计,Bayesian估计
    • 非参数估计:不依赖于与潜在密度函数结构有关的任何假设
      • 如:Parzen窗法,kn-近邻估计法。

贝叶斯估计

可以把概率密度函数的参数估计问题看作一个贝叶斯决策问题,但这里决策的不是离散类别,而是参数的值,是在连续空间里做的决策。在用于分类的贝叶斯决策中,最优的条件可以是最小错误率或者最小风险。对连续变量: θ \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=π1L1p1(x)dx+π2L2p2(x)dx=π1ϵ1+π2ϵ2
机器学习之贝叶斯判别和分类器_第1张图片

分类决策

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

判别式模型 & 生成式模型

  • 判别式模型(Discriminative Model)是直接对条件概率 p ( y ∣ x ; θ ) p(y|x;θ) p(yx;θ)建模。
    常见的判别式模型有:线性回归、决策树、支持向量机SVM、KNN、神经网络等;
  • 生成式模型(Generative Model)则会对x和y的联合分布 p ( x , y ) p(x,y) p(x,y)建模,然后通过贝叶斯公式来求得 p ( y i ∣ x ) p(y_i|x) p(yix),然后选取使得 p ( y i ∣ x ) p(y_i|x) p(yix)最大的yi,即:
    arg ⁡ max ⁡ y p ( y ∣ x ) = arg ⁡ max ⁡ y p ( x ∣ y ) p ( y ) p ( x ) \arg \underset{y}{\max}p(y|x) = \arg \underset{y}{\max}\frac{p(x|y)p(y)}{p(x)} argymaxp(yx)=argymaxp(x)p(xy)p(y)
    如隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;

模型不确定性是由模型在测试期间看到的数据与用于训练模型的数据之间的分布不匹配导致的。

KNN

Instance-Based Learning

KNN分类算法包括以下4个步骤:

  1. 准备数据,对数据进行预处理。
  2. 计算测试样本点(也就是待分类点)到其他每个样本点的距离
  3. 对每个距离进行排序,然后选择出距离最小的K个点。
  4. 对K个点所属的类别进行比较,根据少数服从多数的原则,将测试样本点归入在K个点中占比最高的那一类。

优点

KNN方法思路简单,易于理解,易于实现,无需估计参数,无需训练。

缺点

该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数 。
该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。

线性分类器

线性分类器使用线性的函数表达式对样本进行分类,即划分边界为一个超平面,如:在二维空间中使用一条直线划分样本,在三维空间中使用一个平面来划分样本。

你可能感兴趣的:(机器学习,机器学习,knn)