原文链接:https://zhuanlan.zhihu.com/p/273245785,原作者小米粥,本文是原博文的内容摘要。
无监督学习只需要训练集
模型无非就是输入到输出的映射关系的表示。
模型可以分为判别模型和生成模型,两者的目标都是获得X到Y的映射 P ( Y ∣ X ) P(Y|X) P(Y∣X),但是实现方法有区别。
在判别模型中,我们直接对
p
(
Y
∣
X
)
p(Y|X)
p(Y∣X)进行建模。 判别模型关心的是如何从X得到Y,比如输入一张图片,判断它是猫还是狗。实际上学习到的内容是判别边界。
生成模型对特征X和标签Y的联合分布
p
(
X
,
Y
)
p(X,Y)
p(X,Y)进行建模。然后利用条件概率公式来计算
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)
P
(
Y
∣
X
)
=
P
(
X
,
Y
)
P
(
X
)
P(Y|X)=\frac{P(X,Y)}{P(X)}
P(Y∣X)=P(X)P(X,Y)
联合分布可以进一步求解:
P
(
Y
∣
X
)
=
P
(
X
∣
Y
)
P
(
Y
)
P
(
X
)
P(Y|X)=\frac{P(X|Y)P(Y)}{P(X)}
P(Y∣X)=P(X)P(X∣Y)P(Y)
判别模型与生成模型的具体区别:
以猫狗二分问题举例:现在分别训练出了生成模型和判别模型,并且有一张图片X待识别
生成模型直接学习联合分布,可以更好地表示数据的分布,更好反映同类数据的相似度。当样本数量比较大时,生成模型往往可以更好地收敛到真实模型上,其收敛速度快。另外,生成模型可以处理含有隐变量的情况,而判别模型对此无能为力。生成模型也可以通过计算边缘分布 而检测某些异常值。但实践中,生成模型计算开销一般比较大,而且多数情况下其效果不如判别模型。
生成模型需要对特征X和标签Y的联合分布P(X,Y)进行建模,无监督学习意味着不存在标签信息。
无监督生成模型意味着:对输入特征X的概率密度函数 P ( X ) P(X) P(X)建模。通过训练构造 P ^ ( X ) \hat{P}(X) P^(X)使之与 P ( X ) P(X) P(X)尽可能接近。那么就可以使用 P ^ ( X ) \hat{P}(X) P^(X)生成样本了。
生成模型有很多分类,按照概率密度函数的处理方式可以如下分类