机器学习-生成模型 vs 判别模型
一. 判别模型
由数据直接学习决策函数\(f(X)\) 或者条件概率分布\(p(Y|X)\)作为预测模型,即判别模型。判别方法关系的是给定的输入 \(X\) ,应该预测什么样的输出 \(Y\)。
典型的判别模型包括:k近邻(knn)、感知机、逻辑斯蒂回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
举例:
要确定一个羊是山羊还是绵羊,用判别模型的方法是从历史数据中学习到模型,然后通过提取这只羊的特征来预测出这只羊是山羊的概率,是绵羊的概率。
二. 生成模型
由数据学习联合概率分布\(P(X,Y)\),然后求出条件概率分布\(P(Y|X)\)作为预测的模型,即生成模型.
\[P(Y|X) = \frac{P(X,Y)}{P(X)}
\]
之所以称为生成方法是因为模型表示了给定输入\(X\) 产生输出\(Y\) 的生成关系。
典型的生成模型有:朴素贝叶斯法和马尔可夫模型
三. knn and k-means
KNN是判别模型,K-means是生成模型。
KNN是让某个点的K个近邻来投票,来决定其归属。这里没有计算联合条件概率分布,可以把"投票"看成一种函数,
所以它是判别模型.
k-means是每次通过计算某个点分别距离各分类中心点的距离,取最小值。