接上次:https://blog.csdn.net/cyr429/article/details/102624860
Part4:生成算法模型
至今给出的算法都是求在theta为参数条件下给出x的y的概率,比如逻辑回归和线性回归,现在要讨论一种不太一样的算法。
假设有一个分类问题要我们基于一些特征区别大象(y=1)和狗(y=0)。如果有一系列的训练集,逻辑回归或者感知机算法会试图找出一个分界线来分离训练集中的大象和狗。在遇到要分类的数据时,算法会观察这个数据是在分界线的哪一边来判断是大象还是狗狗。
现在有一个不同的算法,它首先会观察大象的数据并根据这些数据建立一个模型来判断大象是什么样子,再对狗狗的数据做一样的事情得到另一个模型。在判断的时候,会判断是更像狗狗还是更像大象,即两个模型的输出比大小。
第一种算法即直接判断并给出概率的算法(比如逻辑回归等)叫做判别学习算法。而刚刚提到的算法叫做生成学习算法,这个算法会用来为狗狗特征的分布建模,
为大象特征的分布建模,这种算法基于贝叶斯法则:
具体的利用方式后面会提。
1.高斯判别分析法
第一种要介绍生成学习算法是高斯判别分析(GDA)。在这个模型中我们假设的分布服从多元高斯分布(或多元正态分布)。我们先讨论一些多元高斯分布的知识再说GDA。
1.1 多元高斯分布
d维的多元高斯分布写作:,其参数由均值向量
和协方差矩阵
组成,这里的sigma协方差矩阵是对称且半正定的,它的概率密度函数是:
对于随机的服从高斯分布的数据X,它的均值向量是:
其协方差矩阵:
miu和sigma的值会改变高斯分布在空间的形态和位置,下面是一些高斯分布的例子: