斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

时间:2021-12-13 14:19:07

高斯判别分析(Gaussian discriminant analysis)

判别模型和生成模型

      前面我们介绍了Logistic回归,通过学习hΘ(x)来对数据的分类进行预测:给定一个特征向量x→输出分类y∈{0,1}。这类通过直接学习分类决策函数 hΘ(x)或者直接对后验概率分布P(y|x)进行建模的学习方法称为判别方法,得到的模型称为判别模型。如果是直接对P(x|y)进行建模(有时还需要对P(y)进行建模),即通过样本数据,分析在已知类别y的情况下x具有某些特征的概率,称为生成方法,学习到的模型称为生成模型,然后使用P(x|y)通过贝叶斯公式求得argmaxP(y|x)=P(x|y)P(y)/P(x)进行预测。

多元高斯分布

      如题,高斯判别分析即是一个生成模型。之前我们都接触过一元正态分布,在介绍高斯判别分析之前,我们这里先介绍下多元正态分布:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      这里展示几个均值为0,Σ取不同值的高斯分布的图像便于直观上的理解:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯
斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      按行数,Σ(2*2)的取值依次为I,0.6I,2I;I,主对角线为1副对角线为0.5,主对角线为1副对角线为0.8。可以看到,主对角线的元素控制整个分布的“高低”,副对角线的元素控制整个分布的“扁圆”,当副对角线元素取负值时,将沿着与图像上对称的方向进行压缩。均值则控制分布在水平面的整体位置。


GDA模型

      高斯判别分析就是基于多元高斯分布对P(x|y)进行建模的,同样以二分类问题来说明:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      我们对每个参数求导,令导数为0:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯


斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯
斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

对μ1的求法同μ0

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯
斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      参数求解完毕,接下来我们就要使用模型进行预测,即求解:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      至此,便是高斯判别模型的整个运行流程,直观上理解:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      我们根据两类数据建立了两个高斯分布,两者在概率阈值的交线成为分类的判别线,在图中,分类线的右上为正类,左下为负类。


      其实,如果我们假设x|y服从高斯分布,则后验概率y=1|x满足逻辑斯蒂回归。在实际应用中,如果我们不知道数据服从什么分布,那么选用逻辑斯蒂回归一般总会有较好的效果。
      个人感觉,如果将P(y)由Bernoulli分布改为多项式分布,建立多个高斯分布也可以用于多分类问题的处理上。


朴素贝叶斯(Naive Bayes)

      在垃圾邮件分类器中,我们假设根据某个单词是否出现来判断其是否属于垃圾邮件,假设我们的词库共有10000个单词,则每一封待判定邮件组成一个10000维的特征向量,每个分量对应于该单词是否出现:出现为1,不出现为0(这种特征向量的定义方式说明每个xi是否出现的概率服从Bernoulli分布)。输出y∈{0,1},y=1时判定该邮件为垃圾邮件,y=0时判定为正常邮件。
      我们假设xi条件独立的(在y给定的情况下,xi相互独立)。直观理解就是一封邮件某个单词是否出现不会影响其他单词出现的概率。用概率公式表述如下:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯
PS:前面我们说过,下标表示向量的某个分量,带括号的上标表示某个样本

      我们定义:
            1)某个邮件是垃圾邮件的**先验概率**P(y=1)=ϕy
            2)垃圾邮件中某个单词出现的概率P(xi=1|y=1)=ϕi|y=1
            3)正常邮件中某个单词出现的概率P(xi=1|y=0)=ϕi|y=0

      同样,写出其联合分布概率对数似然性函数:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

      对各个参数求导,令导数为0,解出模型参数:

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯


斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯

PS:之前推错了,在此更正!!!!

      ϕi|y=0解法同上。
      Na.Bayes的运行方式同高斯判别分析。都是求使后验概率最大的y即是预测样本的分类。

      同理,将特征向量的每个分量的取值扩展为{1,2,…,k},运用多项式分布也可以用来处理多分类问题。

Laplace平滑

      我们使用上述方法生成的模型进行垃圾邮件处理时,会有一个问题:如果我们的词典用的某个单词在所有的样本中都没有出现过,那么当我们第一次碰到这个单词的时候,带入上述的后验概率计算公式时会发现,分子和分母都为0!
      为了避免这种情况的发生,我们在计算公式的分子和分母个各添加一项来避免这个问题,这种处理方式称为Laplace平滑

斯坦福机器学习: 网易公开课系列笔记(五)——高斯判别分析、朴素贝叶斯