supervised generative model
我们都已经看过,supervised generative model,在supervised learning里面有一堆train example,你知道分别是属于class1,class2。你会去估测class1,class2的prior probabilit( P(x|C_i) )以及P(X|C_1)、P(X|C_2)
假设每一个class它的分布都是一个Gaussion distribution,那你会估测说class1是\mu =\mu^1,covariance=\Sigma的Gaussion估测出来的,class2是从\mu =\mu^2,covariance是=\Sigma的Gaussion估测出来的
Semi-supervised enerative Model
但是今天给了我们一些unlabel data,它就会影响你的决定。举例来说,我们看左边这笔data,我们假设绿色这些使unlabel data,那如果你的\mu 跟variance是\mu ^1,\mu ^2,\Sigma显然是不合理的。今天这个\Sigma应该比较接近圆圈,或者说你在sample的时候有点问题,所以你sample出比较奇怪的distribution。比如说,这两个class label data是比较多的(可能class2是比较多的,所以这边probability是比较大的),总之看这些unlabel data以后,会影响你对probability,\mu,\Sigma的估测,就影响你的probability的式子,就影响了你的decision boundary。
对于实际过程中的做法,我们先讲操作方式,再讲原理。
先初始化参数class1,class2的几率(\mu ^1,\mu ^2,\Sigma),这些值,你可以ramdom或者用已经有label data先估测一个值,得到一组初始化的参数,这些参数统称θ=\left \{P(C_1),P(C_2),μ^1,μ^2, Σ \right \}