一般不是研究员的工作,这边都是一个引入,考的不是生成判别模型的了解的有多彻底,而是想要带出其他具体模型的一些问题。
求自变量和因变量的联合概率分布,P(x,y);再通过贝叶斯公式:P(y/x) = p(x,y)/p(x)。 说白了就是玩的一手x在不同类别下出现的概率+不同类别的概率+x出现的概率进行复合计算,复合的时候考虑独立性的问题。
求一个通过自变量能够表示出因变量的公式y=F(x)或者p(y/x),核心是对于x找到一个最合适的公式得到y
明确一点:绝大多数情况下,判别模型都要比生成模型效果好,而且需要的数据量和前提假设都要小于生成模型,上面的概念中可得原因。 所以这个问题更想问的是什么时候要去用生成模型:
- 但是如果存在异常点检测的需求,或者样本中有部分异常点的情况下,判别模型会结合所有数据进行拟合;而生成模型则是通过分布拟合的方式减少该部分的影响
- 如果明明知道隐变量在此次分类的过程中起到非常巨大作用的情况下,判别模型对隐变量的学习往往通过人为构造,更加不确定性
- 一般会追问,如何构造?
- FM/FFM
- Neural Network
- 线性Dense
- 非线性激活
- 一般会追问,如何构造?
因为这几个模型中都有概率计算的过程,不像knn,svm等都是距离计算一看就知道是判别模型。
- 生成式模型:朴素贝叶斯,混合高斯模型,马尔科夫随机场,EM
- 仔细看过这些模型细节的朋友都应该知道,他们最后都是判断x属于拟合一个正负样本分布,然后对比属于正负样本的概率
- 判别式模型:最大熵模型,CRF
- 无论是生成还是判别模型都是来求有监督模型的,目的就是求分类函数y=F(x)或者条件概率分布P(y/x),通过分类函数或者条件概率函数进行数据分类
- 算出属于正负样本的概率在相互对比的就是生成模型,直接得到结果概率的就是判别模型
- 生成模型得分布,判别模型得最优划分
- 生成模型可以得到判别模型,反之不成立
- 生成模型是求联合概率分布,判别模型是求条件概率分布,这句话不错,但是如果只回答到这,我认为是背答案式回答,其实生成模型的也是求的条件概率是通过的是联合概率得到的,而判别模型是之间得到,用来做分类的话,大概率都是条件概率作为最终结果;补充一下,二分情况下,如果单纯只用联合概率也可以判断