zoukankan      html  css  js  c++  java
  • 【机器学习具体解释】概率生成模型与朴素贝叶斯分类器

    转载请注明出处http://blog.csdn.net/luoshixian099/article/details/51028244

    1.概率生成模型

    首先介绍生成模型的概念,然后逐步介绍採用生成模型的步骤。

    1.1概念

    即对每一种类别Ck分别建立一种数据模型p(x|Ck)。把待分类数据x分别带入每种模型中,计算后验概率p(Ck|x),选择最大的后验概率相应的类别。

    如果原始数据样本有K类,生成学习算法是通过对原始数据类p(x|Ck)p(Ck)建立数据类模型后,採用贝叶斯定理从而得出后验概率p(Ck|x)。对待分类样本x分别计算属于每一个类别的后验概率p(Ck|x),取最大可能的类别。

    arg max(k)=p(Ck|x)=p(x,Ck)p(x)=p(x|Ck)p(Ck)jp(x|Cj)p(Cj)

    • 二分类的情况:(K=2)

      p(C1|x)=p(x,C1)p(x)=p(x|C1)p(C1)p(x|C1)p(C1)+p(x|C2)p(C2)=11+exp(α)=σ(α)
      当中α=lnp(x|C1)p(C1)p(x|C2)p(C2);函数σ(α)=11+exp(α)称为sigmoid函数。

    • 多类的情况:(K>2)
      多分类的情况,是二分类的扩展,称为softmax函数。同样採用贝叶斯定理:

      p(Ck|x)=p(x|Ck)p(Ck)jp(x|Cj)p(Cj)=exp(αk)jexp(αj)

      当中αk=lnp(x|Ck)p(Ck)

    1.2高斯分布如果

    对于连续变量x,我们首先如果给定详细类条件下数据密度函数p(x|Ck)分布服从多维高斯分布。同一时候全部类别p(x|Ck)具有同样的协方差矩阵
    这里写图片描写叙述
    二维高斯分布。同样方差,不同期望的三个图形。
    这里写图片描写叙述

    • 二分类情况K=2
      把多维高斯分布公式带入上述相应的贝叶斯公式得:
      这里写图片描写叙述
      注意到sigmoid函数參数是关于数据x的线性函数
      下图是2维数据的高斯分布图形:
      这里写图片描写叙述
    • 多分类的情况K>2
      多维高斯分布函数带入softmax函数得:
      这里写图片描写叙述
      注意:αk(x)也是关于样本数据x的线性函数

    实际上,不管是连续型数据还是以下将要介绍的离散型数据(朴素贝叶斯分类),仅仅要如果的分布属于指数簇函数,都有广义线性模型的结论。

    K=2时为sigmoid函数:參数λ为模型的固有參数
    这里写图片描写叙述
    K>2时为softmax函数:
    这里写图片描写叙述


    1.3模型參数的求解

    在如果了数据类密度函数p(x|Ck)的情况下,以下须要对模型的參数进行求解。

    比如,上述如果了数据为高斯分布,须要计算先验概率p(Ck)及參数μk, .我们採用最大化释然函数的方法求解:
    考虑二分类的情况:样本数据为(xn,tn)。样本总量为N,tn=1属于C1类,总数为N1tn=0属于C2类,总数为N2.如果先验概率p(C1)=π;则p(C2)=1π
    释然函数:这里写图片描写叙述
    分别求偏导数并令为0,得:
    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述
    这里写图片描写叙述

    2.朴素贝叶斯分类器(NBC)

    2.1概念

    朴素贝叶斯分类器是生成学习算法的一种。考虑一个样本x=(x1,x2,x3...xD),有D个特征,每一个特征xi取值为有限的离散值,这时须要对p(x|y)建立模型。朴素贝叶斯算法做了一种非常强的如果:即给定类别y=c的情况下。每种特征之间相互独立,即有p(x1|y,x2)=p(x1|y);p(x1,x2|y)=p(x1|y)p(x2|y)所以有:
    这里写图片描写叙述
    条件类概率p(x|y)可依据数据类型建立不同的形式:

    • 当样本数据x取实数值为时,採用高斯分布:p(x|y=c,θ)=Dj=1N(xj|μjc,σ2jc)
    • 当每种特征xj{0,1}时,採用伯努利分布p(x|y=c,θ)=Dj=1Ber(xj|μjc)
    • 当每种特征取值xj{1,2,3,...,K},能够採用multinoulli distribution:p(x|y=c,θ)=Dj=1Cat(xj|μjc)

    2.2文本分类

    朴素贝叶斯尽管做了非常强的特征独立性如果,却对在文本分类的情况效果非常好。
    首先收集全部样本数据中出现过的词,建立一个有序字典,长度为D。对待分类文本x依据字典建立一个长度为D词向量,x=(x1,x2,x3,....,xD),每种特征xj{0,1}。即xj=1表示字典中第j个词在此文本中出现过;反之,xj=0表示字典中第j个词没有在文本中出现过,採用伯努利分布p(x,y)=p(y)p(x|y)=p(y)Dj=1Ber(xj|μjc)
    定义:ϕi|y=0=p(xi=1|yi=0),ϕi|y=1=p(xi=1|yi=1),ϕy=p(y=1)
    释然函数:
    这里写图片描写叙述
    最大释然预计得:
    这里写图片描写叙述
    训练出模型后,对待分类样本依据贝叶斯定理。计算每种类别的后验概率,选择最大的后验概率类别:
    这里写图片描写叙述

    2.3拉普拉斯平滑

    在对文本分类的情况下,假如我们训练分类器採用的训练文本全部xj都为0时。这时模型參数ϕj|y=0=0,ϕj|y=1=0。这时如果须要对待一个文本x分类且xj=1,依据上述朴素贝叶斯方法,得到每种后验概率都为0,即p(y=1|x)=0,P(y=0|x)=0。这是因为上述乘法的缘故,根本原因是ϕj|y=0=0,ϕj|y=1=0。因为样本量有限,预測某个事件的发生概率为0,也是不准确的。
    为了解决这样的情况。能够模型參数的分子加上1,同一时候保持和为1。,称为拉普拉斯平滑。
    这里写图片描写叙述
    这里写图片描写叙述

    參考:PRML&&MLAPP

  • 相关阅读:
    关于JSON可能出现的错误,待更/todo
    mongoose的安装与使用(书签记录) 2017
    HTTP的学习记录3--HTTPS和HTTP
    HTTP的学习记录(二)头部
    HTTP(一)概述
    LeetCode 455. Assign Cookies
    LeetCode 453. Minimum Moves to Equal Array Elements
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 447. Number of Boomerangs
    LeetCode 416. Partition Equal Subset Sum
  • 原文地址:https://www.cnblogs.com/llguanli/p/8634599.html
Copyright © 2011-2022 走看看