A Survey about GANs
Part1.有监督的生成式模型与判别式模型
生成式模型(Generative Model)和判别式模型(Discriminative Model)是对有监督机器学习模型的两种建模方式。本节将简要介绍二者区别与联系,并举例说明。
1.生成式模型和判别式模型结构
上图左半部分为判别式模型,可以看出判别式模型是对数据的条件概率密度进行建模,目的是给定输入 x x x可以得到其输出 y y y的条件概率密度。上图右半部分为生成式模型,生成式模型对数据的联合概率密度进行建模,目的是重构概率密度 P ( x , y ) P(x,y) 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 x的输出 y y y的条件概率密度。
2.判别式模型经典案例——逻辑回归(Logistic Regression)
从模型上看,逻辑回归输入层通过隐含层神经元映射到输出层。输入层概率密度设为
P
(
x
)
P(x)
P(x),隐含层参数设为
θ
\theta
θ,则输出即为条件为
(
x
,
θ
)
(x,\theta)
(x,θ)的
y
y
y的概率密度
P
(
y
∣
x
,
θ
)
P(y|x,\theta)
P(y∣x,θ)。假设输出概率密度服从伯努利分布,通过极大似然估计,可以求得参数
θ
\theta
θ从而得到该条件概率密度。
假设条件概率密度为:
(1)
P
(
y
∣
x
,
θ
)
=
(
h
θ
)
y
(
1
−
h
θ
(
x
)
)
1
−
y
P(y|x,\theta)=(h_{\theta})^y(1-h_{\theta}(x))^{1-y}\tag{1}
P(y∣x,θ)=(hθ)y(1−hθ(x))1−y(1)
则取似然函数为:
(2)
L
(
θ
)
=
∏
i
=
1
m
P
(
y
(
i
)
∣
x
(
i
)
,
θ
)
=
∏
i
=
1
m
(
h
θ
(
x
(
i
)
)
)
y
(
i
)
(
1
−
h
θ
(
x
(
i
)
)
)
1
−
y
(
i
)
L(\theta)=\prod_{i=1}^mP(y^{(i)}|x^{(i)},\theta)=\prod_{i=1}^m(h_\theta(x^{(i)}))^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}}\tag{2}
L(θ)=i=1∏mP(y(i)∣x(i),θ)=i=1∏m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i)(2)
其对数似然函数为:
(3)
L
(
θ
)
=
log
(
∏
i
=
1
m
(
h
θ
(
x
(
i
)
)
)
y
(
i
)
(
1
−
h
θ
(
x
(
i
)
)
)
1
−
y
(
i
)
)
=
∑
i
=
1
m
(
y
(
i
)
log
(
h
θ
(
x
(
i
)
)
)
+
(
1
−
y
(
i
)
)
log
(
1
−
h
θ
(
x
(
i
)
)
)
)
\begin{aligned} L(\theta)&=\log(\prod_{i=1}^m(h_\theta(x^{(i)}))^{y^{(i)}}(1-h_{\theta}(x^{(i)}))^{1-y^{(i)}})\\ &=\sum_{i=1}^m(y^{(i)}\log(h_\theta(x^{(i)}))+(1-y^{(i)})\log(1-h_\theta(x^{(i)}))) \end{aligned}\tag{3}
L(θ)=log(i=1∏m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(i))=i=1∑m(y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i))))(3)
通过根据上式通过求 ∂ L ∂ θ \frac{\partial L}{\partial \theta} ∂θ∂L即可得到最优解(反向传播更新参数 θ \theta θ)。
常用的判别式模型还有:
- 线性回归(Linear Regression)
- 逻辑斯蒂回归(Logistic Regression)
- 神经网络(NN)
- 支持向量机(SVM)
- 高斯过程(Gaussian Process)
- 条件随机场(CRF)
- CART(Classification and Regression Tree)
3.生成式模型经典案例——高斯判别分析(Gaussian Discriminant Analysis)
首先,高斯判别分析的作用也是用于分类。对于两类样本,其服从伯努利分布,而对每个类中单独的样本,假定都服从高斯分布,则有:
{ y ∼ B e r n o u l i ( ϕ ) x ∣ y = 0 ∼ N ( μ 0 , Σ ) x ∣ y = 1 ∼ N ( μ 1 , Σ ) \begin{cases} y\sim Bernouli(\phi)\\ x|y=0\sim N(\mu_0,\Sigma)\\ x|y=1\sim N(\mu_1,\Sigma)\\ \end{cases} ⎩⎪⎨⎪⎧y∼Bernouli(ϕ)x∣y=0∼N(μ0,Σ)x∣y=1∼N(μ1,Σ)
根据训练数据,我们可以对上述三个分布的参数进行估计(注意,虽然存在两个不同的平均向量 μ 0 \mu_0 μ0和 μ 1 \mu_1 μ1,但该模型通常仅使用一个协方差矩阵 Σ \Sigma Σ),根据贝叶斯公式,我们知道
(4) p ( y ∣ x ) = p ( x ∣ y ) p ( y ) p ( x ) p(y|x)=\frac{p(x|y)p(y)}{p(x)}\tag{4} p(y∣x)=p(x)p(x∣y)p(y)(4)
因此通过对先验概率和似然度进行建模之后即可求得后验概率的最大值
(5)
y
=
arg
max
y
p
(
y
∣
x
)
=
arg
max
y
p
(
x
∣
y
)
p
(
y
)
p
(
x
)
=
arg
max
y
p
(
x
∣
y
)
p
(
y
)
y=\arg \max_y p(y|x)=\arg \max_y p(x|y)p(y)p(x)=\arg \max_y p(x|y)p(y)\tag{5}
y=argymaxp(y∣x)=argymaxp(x∣y)p(y)p(x)=argymaxp(x∣y)p(y)(5)
在此利用最大似然估计对
ϕ
\phi
ϕ,
μ
0
\mu_0
μ0,
μ
1
\mu_1
μ1,
Σ
\Sigma
Σ进行参数估计
(6)
l
(
ϕ
,
μ
0
,
μ
1
,
Σ
)
=
log
∏
i
=
1
m
p
(
x
(
i
)
,
y
(
i
)
)
=
log
∏
i
=
1
m
p
(
x
(
i
)
∣
y
(
i
)
)
p
(
y
(
i
)
)
=
∑
i
=
1
m
log
p
(
x
(
i
)
∣
y
(
i
)
)
+
∑
i
=
1
m
log
p
(
y
(
i
)
)
=
∑
i
=
1
m
log
(
p
(
x
(
i
)
∣
y
(
i
)
=
0
)
1
−
y
(
i
)
∗
p
(
x
(
i
)
∣
y
(
i
)
=
1
)
y
(
i
)
)
+
∑
i
=
1
m
log
p
(
y
(
i
)
)
=
∑
i
=
1
m
(
1
−
y
(
i
)
)
log
(
p
(
x
(
i
)
∣
y
(
i
)
=
0
)
)
+
∑
i
=
1
m
(
1
−
y
(
i
)
)
log
(
p
(
x
(
i
)
∣
y
(
i
)
=
1
)
)
+
∑
i
=
1
m
log
p
(
y
(
i
)
)
\begin{aligned} l(\phi,\mu_0,\mu_1,\Sigma)=&\log\prod_{i=1}^mp(x^{(i)},y^{(i)})=\log\prod_{i=1}^mp(x^{(i)}|y^{(i)})p(y^{(i)})\\ =&\sum_{i=1}^m\log{p(x^{(i)}|y^{(i)})}+\sum_{i=1}^m\log{p(y^{(i)})}\\ =&\sum_{i=1}^m\log{(p(x^{(i)}|y^{(i)}=0)^{1-y^{(i)}}*p(x^{(i)}|y^{(i)}=1)^{y^{(i)}})}+\sum_{i=1}^m\log{p(y^{(i)})}\\ =&\sum_{i=1}^m(1-y^{(i)})\log(p(x^{(i)}|y^{(i)}=0))+\sum_{i=1}^m(1-y^{(i)})\log(p(x^{(i)}|y^{(i)}=1))\\ &+\sum_{i=1}^m\log{p(y^{(i)})}\\ \end{aligned}\tag{6}
l(ϕ,μ0,μ1,Σ)====logi=1∏mp(x(i),y(i))=logi=1∏mp(x(i)∣y(i))p(y(i))i=1∑mlogp(x(i)∣y(i))+i=1∑mlogp(y(i))i=1∑mlog(p(x(i)∣y(i)=0)1−y(i)∗p(x(i)∣y(i)=1)y(i))+i=1∑mlogp(y(i))i=1∑m(1−y(i))log(p(x(i)∣y(i)=0))+i=1∑m(1−y(i))log(p(x(i)∣y(i)=1))+i=1∑mlogp(y(i))(6)
可知上式第一项仅与
μ
0
和
Σ
\mu_0和\Sigma
μ0和Σ有关,第二项仅与
μ
1
\mu_1
μ1和
Σ
\Sigma
Σ有关,最后一项仅与
ϕ
\phi
ϕ有关。因此分别令
{
∂
l
∂
μ
0
=
0
∂
l
∂
μ
1
=
0
∂
l
∂
Σ
=
0
∂
l
∂
ϕ
=
0
\begin{cases} \frac{\partial{l}}{\partial{\mu_0}}=0\\ \frac{\partial{l}}{\partial{\mu_1}}=0\\ \frac{\partial{l}}{\partial{\Sigma}}=0\\ \frac{\partial{l}}{\partial{\phi}}=0 \end{cases}
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧∂μ0∂l=0∂μ1∂l=0∂Σ∂l=0∂ϕ∂l=0
即可求出
ϕ
\phi
ϕ,
μ
0
\mu_0
μ0,
μ
1
\mu_1
μ1,
Σ
\Sigma
Σ,在此不进行具体推导,详见链接。
由此我们得到了先验概率密度 p ( y ) p(y) p(y)以及条件概率密度 p ( x ∣ y ) p(x|y) p(x∣y),利用公式 ( 5 ) (5) (5)即可进行分类。
常用的生成式模型还有:
- 朴素贝叶斯(Naive Bayes)
- 混合高斯模型(GMM)
- 隐马尔科夫模型(HMM)