在前面的Details中说道的逻辑回归及分类,我们都是通过“三要素”的方式,先设立一个假设模型,然后确定目标函数,对其进行优化来最终确定假设模型中的参数。当确定了假设模型后,即可对输入的一个新的数据进行预测。这种方式的学习方法叫做判别模型(Discriminative Model),在分类问题中,其关注的是在该类特征下,其属于某个类别的概率。在这一节中,要说到的生成模型(Generatic Model),则是另一种确定模型的方式,它更关注的是怎样的数据特征更有可能使得其成为所属的类别。下面我将把理解的生成模型的相关内容进行通俗化的说明,来帮助理解~~
第一种:GDA
引:多变量高斯分布下的生成模型(x是多维向量,取值是连续的,µ 为各维度的均值向量,Σ 为协方差矩阵)
1、模型假设(对于一个二分类问题,分别建立两个模型)
2、目标函数:
经过优化求解出各个参数后,即可得到,各个参数的取值:
则其对应的高斯分布的如下图3所示:
上图中的两个模型是高斯分布图的投影曲线,越往里,其概率值越高,即说明其更有可能属于该类。图中的直线是p(y = 1jx) = 0.5 的决策边界
3、判别模型vs生成模型
生成模型可以转换成判别模型,如图4所示:
故生成模型具有更强的模型假设能力,在数据量有限的情况下,是很好的优先选择的模型方式。
判别模型有更好的鲁棒性,在数据量较大的情况下,一般会选择此方法,且效率较高。
由此,便可通过贝叶斯公式间接得到判别表达式:
故当得到生成模型的概率分布图后,对于一个新的输入,根据其特征,则可对应到其所属某类别的概率取值。另外也可利用贝叶斯公式得到其y=1的概率取值,若>0.5则为1,否则为0,以此可得到其所属类别。
第二种:Naive Bayes
第一种的基于高斯分布的假设针对特征值的取值为连续型的数据,朴素贝叶斯则是对特征值取值为离散型的数据而言,即基于贝叶斯假设(NB assumption),各个特征量是独立的。
1、朴素贝叶斯假设:(以垃圾邮件分类为例)
2、目标函数:
3、优化取值:
4、判别式:
由此便可得到其所属的类别。
注:对于连续型的特征量,也可以将其进行离散化后采用朴素贝叶斯分类器的方法仅进行预测
生成模型考虑所属类别的数据是如何生成的,再根据此来判断新的数据与训练数据的相似程度来划分新数据的类别;判别模型则考虑不同类别之间的差异,而对类别内部的关系不在乎,对于一个新的数据,根据这样的一种差异性进行分类。
这一节相当于是一个插入部分,主要是在看到了生成模型,便记录于此,其也可作为以后解决实际问题时的一个思考点。在实际中,大多采用的是判别模型,因为其更具一般性切效率跟高。那么,接下来还是来继续我们的Details部分吧~~