介绍判别模型和生成式模型,朴素贝叶斯。
生成模型和判别模型
-
discriminative learning algorithms,也就是根据特征值来求结果的概率。
- 可以表示为,在参数确定的条件下,直接求得在当前样本feature下的y的概率
- 实际上是求条件概率
- 常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosting、条件随机场、神经网络等。
-
generative learning algorithms,根据不同来学习不同的模型,然后取概率较大的那个
- 可以表示为,很容易看出,使用贝叶斯公式可将两个模型进行统一:
- 由可得,实际上生成模型是在求联合概率
- 常见的生产模型有隐马尔科夫模型、朴素贝叶斯模型、高斯混合模型、LDA、Restricted Boltzmann Machine 等。
- 这篇博客较为详细地介绍了两个模型。
Gaussian discriminant analysis
- 首先定义了multivariate normal distribution,实际上就是在单变量正态分布上进行了一点点直观的变换
- 很容易得到,
- 现在假设输入特征是连续性随机变量,因此假设:
- 需要注意的是,在不同的条件下,其均值不相同,但方差是相同的。
- 因此,我们可以用likelihood得到参数的估计值
difference between GDA&logistic
- 如果我们根据贝叶斯公式对GDA求后验概率,可以得到就是sigmoid函数的形式
- 同时,我们可以发现,只要假设是指数族的形式,后验概率都可是写成sigmoid函数的形式
- 但是,如果是sigmoid函数形式的后验分布,并不能得到GDA
- 因此,GDA有着更强的假设
- 在模型符合该假设的前提下,效果比logistic更好
- logistic模型的robust更好
- 可以发现,如果x的条件概率不满足正态分布,而是posisson分布,也能得到sigmoid函数
Naive Bayes
- 朴素贝叶斯是一种生成式模型,根据现有的数据,使用likelihood计算条件概率的估计,从而得到模型参数。当需要进行预测时,就使用贝叶斯rule进行预测,取最大的那个
- 朴素贝叶斯方法有个致命的缺点就是对数据稀疏问题过于敏感
- 当样本中的数据量不够多,不能包含预测的信息时,这时候所有的概率都为0,无法进行预测
- 因此需要使用平滑的方法,常用的就是laplace平滑
- notes 中还介绍了在文本分类中,multi-variate Bernoulli event model 和multinomial event model的区别,如果从词典入手,那么该词在不在这个text中是两点分布;而从text入手,这个位置是某个词是多项分布。
- multinomial event model 考虑到了词在邮件中的数量,效果更好。
- 由于在Naive Bayes中,我们是基于Generative model,同时,用bernoulli或者multinomial分布进行估计(都是指数族分布),因此其充分统计量改写后依然为sigmoid函数。
网友评论