极大似然法
考虑我们在训练一个参数为 ϕ \boldsymbol\phi ϕ、输入为 x \mathbf{x} x的模型 f [ x , ϕ ] \mathbf{f}[\mathbf{x},\boldsymbol{\phi}] f[x,ϕ]。如果转换一下视角,计算模型在给定输入 x \mathbf{x} x时对可能的输出 y \mathbf{y} y计算条件概率分布 P r ( y ∣ x ) Pr(\mathbf{y}|\mathbf{x}) Pr(y∣x)。对每一个样本 ( x i , y i ) (\mathbf{x_i},\mathbf{y_i}) (xi,yi),损失函数鼓励在分布 P r ( y i ∣ x i ) Pr(\mathbf{y_i}|\mathbf{x_i}) Pr(yi∣xi) 下输出 y i \mathbf{y_i} yi时有高的概率。
但是如何适配模型
f
[
x
,
ϕ
]
\mathbf{f}[\mathbf{x},\boldsymbol{\phi}]
f[x,ϕ]去计算概率分布呢?我们首先选择一个定义在输出
y
\mathbf{y}
y的值域内的参数化概率分布
P
r
(
y
∣
θ
)
Pr(\mathbf{y}|\boldsymbol{\theta})
Pr(y∣θ), 再基于训练样本让模型对概率分布的参数进行估计。于是模型对每一个训练输入
x
i
\mathbf{x_i}
xi计算得到不同的分布参数
θ
i
=
f
[
x
i
,
ϕ
]
\boldsymbol{\theta_i} = \mathbf{f}[\mathbf{x_i}, \boldsymbol{\phi}]
θi=f[xi,ϕ],其训练输出
y
i
\mathbf{y_i}
yi在其相应的概率分布
P
r
(
y
i
∣
θ
i
)
Pr(\mathbf{y_i}|\boldsymbol{\theta_i})
Pr(yi∣θi)下应该有较高的概率。所以,我们会选择使所有的
I
I
I个样本的组合概率最大的模型参数:
ϕ
^
=
argmax
ϕ
[
∏
i
=
1
I
Pr
(
y
i
∣
x
i
)
]
=
argmax
ϕ
[
∏
i
=
1
I
Pr
(
y
i
∣
θ
i
)
]
=
argmax
ϕ
[
∏
i
=
1
I
Pr
(
y
i
∣
f
[
x
i
,
ϕ
]
)
]
(
1
)
\begin{aligned} \hat{\boldsymbol{\phi}} & =\underset{\phi}{\operatorname{argmax}}\left[\prod_{i=1}^I \operatorname{Pr}\left(\mathbf{y}_i \mid \mathbf{x}_i\right)\right] \\ & =\underset{\phi}{\operatorname{argmax}}\left[\prod_{i=1}^I \operatorname{Pr}\left(\mathbf{y}_i \mid \boldsymbol{\theta}_i\right)\right] \\ & =\underset{\phi}{\operatorname{argmax}}\left[\prod_{i=1}^I \operatorname{Pr}\left(\mathbf{y}_i \mid \mathbf{f}\left[\mathbf{x}_i, \boldsymbol{\phi}\right]\right)\right] \qquad (1) \end{aligned}
ϕ^=ϕargmax[i=1∏IPr(yi∣xi)]=ϕargmax[i=1∏IPr(yi∣θi)]=ϕargmax[i=1∏IPr(yi∣f[xi,ϕ])](1)
上式中的组合概率项被称为参数的似然(likelihood),上式即极大似然法(Maximum likelihood criterion),也被称为极大似然估计(Maximum likelihood estimation, MLE)。
极大似然法有两个假设,即通常所说的假设数据是独立同分布的(independent and identically distributed (i.i.d.))。即首先假设数据来自相同的数据分布,其次假设在给定输入时条件概率
P
r
(
y
i
∣
x
i
)
Pr(\mathbf{y_i}|\mathbf{x_i})
Pr(yi∣xi) 是独立的,所以训练数据的总似然满足下式的分解:
P
r
(
y
1
,
y
2
,
…
,
y
I
∣
x
1
,
x
2
,
…
,
x
I
)
=
∏
i
=
1
I
Pr
(
y
i
∣
x
i
)
(
2
)
Pr(\mathbf{y_1}, \mathbf{y_2}, \ldots, \mathbf{y_I}|\mathbf{x_1}, \mathbf{x_2},\ldots,\mathbf{x_I}) = \prod_{i=1}^I \operatorname{Pr}\left(\mathbf{y}_i \mid \mathbf{x}_i\right) \qquad (2)
Pr(y1,y2,…,yI∣x1,x2,…,xI)=i=1∏IPr(yi∣xi)(2)
但公式(1)的最大似然法不是很实用,因为每一项
P
r
(
y
i
∣
f
[
x
i
,
ϕ
]
)
Pr(\mathbf{y_i}|\mathbf{f}\left[\mathbf{x}_i, \boldsymbol{\phi}\right])
Pr(yi∣f[xi,ϕ])可能会很小,这样许多项的乘积会非常非常小,在实际计算的精度很难去量化它,所以一般会使用最大对数似然:
ϕ
^
=
argmax
ϕ
[
∏
i
=
1
I
Pr
(
y
i
∣
f
[
x
i
,
ϕ
]
)
]
=
argmax
ϕ
[
log
[
∏
i
=
1
I
Pr
(
y
i
∣
f
[
x
i
,
ϕ
]
)
]
]
=
argmax
ϕ
[
∑
i
=
1
I
log
[
Pr
(
y
i
∣
f
[
x
i
,
ϕ
]
)
]
]
(
3
)
\begin{aligned} \hat{\boldsymbol{\phi}} & =\underset{\phi}{\operatorname{argmax}}\left[\prod_{i=1}^I \operatorname{Pr}\left(\mathbf{y}_i \mid \mathbf{f}\left[\mathbf{x}_i, \boldsymbol{\phi}\right]\right)\right] \\ & =\underset{\phi}{\operatorname{argmax}}\left[\log \left[ \prod_{i=1}^I \operatorname{Pr}\left(\mathbf{y}_i \mid \mathbf{f}\left[\mathbf{x}_i, \boldsymbol{\phi}\right]\right) \right]\right] \\ & =\underset{\phi}{\operatorname{argmax}}\left[\sum_{i=1}^I \log \left[ \operatorname{Pr}\left(\mathbf{y}_i \mid \mathbf{f}\left[\mathbf{x}_i, \boldsymbol{\phi}\right]\right) \right]\right] \qquad (3) \end{aligned}
ϕ^=ϕargmax[i=1∏IPr(yi∣