时序模型
应用
抛两个硬币, 抛哪个硬币是隐状态, 正反面是观测值.
词性标注里面观测值是单词, 隐状态是词性.
通过GMM处理连续变量
HMM
inference
使用维特比解码
在以第 k k k步以状态 i i i结尾时, 的最好的路径, 记为 δ k ( i ) \delta_k(i) δk(i)
Forward/Backward Algorithm
F/B算法的目标是计算 P ( z k ∣ x ) ∝ P ( z k , x ) P(z_k|\boldsymbol{x})\propto{P(z_k,\boldsymbol{x})} P(zk∣x)∝P(zk,x) z是隐变量,x是输出
前向算法的目标是计算 P ( z k , x 1.. k ) P(z_k,x_{1..k}) P(zk,x1..k)
后向算法的目标是计算 P ( x k + 1.. n ∣ z k ) P(x_{k+1..n}|z_k) P(xk+1..n∣zk)
P
(
z
k
,
x
)
=
P
(
x
k
+
1..
n
∣
z
k
,
x
1..
k
)
⋅
P
(
z
k
,
x
1..
k
)
=
P
(
x
k
+
1..
n
∣
z
k
)
⏟
后
向
算
法
⋅
P
(
z
k
,
x
1..
k
)
⏟
前
向
算
法
x
1..
k
与
x
k
+
1..
n
独
立
\begin{aligned} P(z_k,\boldsymbol{x})&=P(x_{k+1..n}|z_k,x_{1..k})\cdot P(z_k,x_{1..k})\\ &=\underbrace{P(x_{k+1..n}|z_k)}_{后向算法}\cdot \underbrace{P(z_k,x_{1..k})}_{前向算法}\quad x_{1..k}与x_{k+1..n}独立 \end{aligned}
P(zk,x)=P(xk+1..n∣zk,x1..k)⋅P(zk,x1..k)=后向算法
P(xk+1..n∣zk)⋅前向算法
P(zk,x1..k)x1..k与xk+1..n独立
①估计前向/后向算法的模型参数
F / B → 模 型 参 数 F/B\to 模型参数 F/B→模型参数
②变化检测(change detection)
[方法1] 比较两个图的相似度, 假设有t时刻和t+1时刻的图, 如果相似度小于某个门限值, 则认为发生了巨大变化
[方法2] 定义一个模型 P ( z k ≠ z k + 1 ∣ x ) > threshold P(z_k\neq z_{k+1}|\boldsymbol{x})>\text{threshold} P(zk=zk+1∣x)>threshold, 这个模型是可以通过 P ( z k ∣ x ) P(z_k|\boldsymbol{x}) P(zk∣x)得到的
前向算法
P ( z k , x 1 : k ) = ∑ z k − 1 P ( z k − 1 , z k , x 1 : k ) ( 1 ) = ∑ z k − 1 P ( z k − 1 , x 1 : k − 1 ) ⋅ P ( z k ∣ z k − 1 , x 1 : k − 1 ) ⋅ P ( x k ∣ z k − 1 , z k , x 1 : k − 1 ) ( 2 ) = ∑ z k − 1 P ( z k − 1 , x 1 : k − 1 ) ⋅ P ( z k ∣ z k − 1 ) ⋅ P ( x k ∣ z k ) ( 3 ) \begin{aligned} P(z_k,x_{1:k})&=\sum_{z_{k-1}}P(z_{k-1},z_k,x_{1:k})\quad{(1)}\\ &=\sum_{z_{k-1}}P(z_{k-1},x_{1:k-1})\cdot P(z_k|z_{k-1},x_{1:k-1})\cdot P(x_k|z_{k-1},z_k,x_{1:k-1})\quad{(2)}\\ &=\sum_{z_{k-1}}P(z_{k-1},x_{1:k-1})\cdot P(z_k|z_{k-1})\cdot P(x_k|z_k)\quad{(3)}\\ \end{aligned} P(zk,x1:k)=zk−1∑P(zk−1,zk,x1:k)(1)=zk−1∑P(zk−1,x1:k−1)⋅P(zk∣zk−1,x1:k−1)⋅P(xk∣zk−1,zk,x1:k−1)(2)=zk−1∑P(zk−1,x1:k−1)⋅P(zk∣zk−1)⋅P(xk∣zk)(3)
( 1 ) (1) (1)中 ∑ z k − 1 \sum\limits_{z_{k-1}} zk−1∑表示遍历 z k − 1 z_{k-1} zk−1的各种取值, 并且 P ( x ) = ∑ y P ( x , y ) P(x)=\sum\limits_y P(x,y) P(x)=y∑P(x,y), 就是概率公式中可以随便加项, 只要遍历各种取值即可.
从 ( 2 ) (2) (2)到 ( 3 ) (3) (3)是因为 z k z_k zk只和前一状态的 z z z有关, x k x_k xk只和同一时刻的 x k − 1 x_{k-1} xk−1有关.
后向算法
P ( x k + 1 : n ∣ z k ) = ∑ z k + 1 P ( x k + 1 : n , z k + 1 ∣ z k ) = ∑ z k + 1 P ( x k + 2 : n ∣ z k + 1 , z k , x k + 1 ) ⋅ P ( z k + 1 , x k + 1 ∣ z k ) ( 1 ) = ∑ z k + 1 P ( x k + 2 : n ∣ z k + 1 , z k , x k + 1 ) ⋅ P ( x k + 1 ∣ z k + 1 , z k ) ⋅ P ( z k + 1 ∣ z k ) = ∑ z k + 1 P ( x k + 2 : n ∣ z k + 1 ) ⋅ P ( x k + 1 ∣ z k + 1 ) ⋅ P ( z k + 1 ∣ z k ) ( 2 ) \begin{aligned} P(x_{k+1:n}|z_k)&=\sum_{z_{k+1}}P(x_{k+1:n},z_{k+1}|z_k)\\ &=\sum_{z_{k+1}}P(x_{k+2:n}|z_{k+1},z_k,x_{k+1})\cdot P(z_{k+1},x_{k+1}|z_k)\quad{(1)}\\ &=\sum_{z_{k+1}}P(x_{k+2:n}|z_{k+1},z_k,x_{k+1})\cdot P(x_{k+1}|z_{k+1},z_k)\cdot P(z_{k+1}|z_k)\\ &=\sum_{z_{k+1}}P(x_{k+2:n}|z_{k+1})\cdot P(x_{k+1}|z_{k+1})\cdot P(z_{k+1}|z_k)\quad{(2)} \end{aligned} P(xk+1:n∣zk)=zk+1∑P(xk+1:n,zk+1∣zk)=zk+1∑P(xk+2:n∣zk+1,zk,xk+1)⋅P(zk+1,xk+1∣zk)(1)=zk+1∑P(xk+2:n∣zk+1,zk,xk+1)⋅P(xk+1∣zk+1,zk)⋅P(zk+1∣zk)=zk+1∑P(xk+2:n∣zk+1)⋅P(xk+1∣zk+1)⋅P(zk+1∣zk)(2)
到 ( 1 ) (1) (1)用的是 P ( x , y ) = P ( x ∣ y ) ⋅ P ( y ) P(x,y)=P(x|y)\cdot P(y) P(x,y)=P(x∣y)⋅P(y), P ( x , y ∣ z ) = P ( x ∣ y , z ) ⋅ P ( y ∣ z ) P(x,y|z)=P(x|y,z)\cdot P(y|z) P(x,y∣z)=P(x∣y,z)⋅P(y∣z)
竖线长得真像除号.
到第 ( 2 ) (2) (2)步的时候, 因为不存在 z k + 2 z_{k+2} zk+2, 所以只能把 z k + 1 z_{k+1} zk+1留下.
隐变量模型和EM算法
🎥233
隐变量模型
对于人脸照片 隐变量(性别 眼睛颜色 头发颜色 姿势) → \to →可观测变量(人脸照片), 生成照片, 所以叫生成模型.
希望模型学到隐变量特征.
类似生成模型都可以叫做隐变量模型
Complete Case: ( z z z, x x x)是可观测的 → \to →使用MLE算法
ℓ ( θ ; D ) = log p ( x , z ∣ θ ) = log p ( z ∣ θ ) + log p ( x ∣ z , θ ) \begin{aligned} \ell(\theta;\mathcal{D})&=\log p(\bold{x},\bold{z}|\theta)\\ &=\log p(\bold{z}|\theta)+\log p(\bold{x}|\bold{z},\theta) \end{aligned} ℓ(θ;D)=logp(x,z∣θ)=logp(z∣θ)+logp(x∣z,θ)
z z z是标签, 作为隐变量, 是已知的
Incomplete Case: ( x x x)可观测但是 z z z不可观测, 使用EM算法
ℓ ( θ ; D ) = log ∑ z p ( x , z ∣ θ ) ( 1 ) = log ∑ z p ( z ∣ θ z ) p ( x ∣ z , θ x ) ( 2 ) \begin{aligned} \ell(\theta;\mathcal{D})&=\log \sum_{\bold{z}}p(\bold{x},\bold{z}|\theta)\quad{(1)}\\ &=\log \sum_{\bold{z}}p(\bold{z}|\theta_z)p(\bold{x}|\bold{z},\theta_x)\quad{(2)} \end{aligned} ℓ(θ;D)=logz∑p(x,z∣θ)(1)=logz∑p(z∣θz)p(x∣z,θx)(2)
( 1 ) (1) (1)由于隐变量 z z z是不可知的, 需要遍历 z z z的各种情况求和; ( 2 ) (2) (2)预测 z z z的模型和预测 x x x的模型使用不同的参数.
EM算法的推导(非常重要)
面试经常会问. 🎥237
Jensen inequality 詹森不等式
ln
∑
i
=
1
n
λ
i
x
i
≥
∑
i
=
1
n
λ
i
ln
x
i
条件是
∑
i
=
1
n
λ
i
=
1
\ln \sum_{i=1}^n \lambda_i x_i \ge \sum_{i=1}^n \lambda_i\ln x_i\\ \text{条件是}\sum_{i=1}^n\lambda_i=1
lni=1∑nλixi≥i=1∑nλilnxi条件是i=1∑nλi=1
L ( θ ) = ln P ( x ∣ θ ) arg max θ L ( θ ) = arg max θ ln P ( x ∣ θ ) L ( θ ) − L ( θ n ) = ln P ( x ∣ θ ) − ln P ( x ∣ θ n ) ( n 是 时 间 ) = ln ∑ z P ( x , z ∣ θ ) − ln P ( x ∣ θ n ) ( θ n 确 定 z 就 确 定 了 ) = ln ∑ z P ( x ∣ z , θ ) P ( z ∣ θ ) − ln P ( x ∣ θ n ) ( 想 办 法 把 z 挪 到 左 边 , 凑 出 和 为 1 的 λ ; 其 实 是 强 行 增 加 一 项 ) = ln ∑ z P ( z ∣ x , θ n ) ⋅ 1 P ( z ∣ x , θ n ) ⋅ P ( x ∣ z , θ ) P ( z ∣ θ ) − ln P ( x ∣ θ n ) ≥ ∑ z P ( z ∣ x , θ n ) ln P ( x ∣ z , θ ) P ( z ∣ θ ) P ( z ∣ x , θ n ) − ln P ( x ∣ θ n ) = ln ∑ z P ( z ∣ x , θ n ) ln P ( x ∣ z , θ ) P ( z ∣ θ ) P ( z ∣ x , θ n ) − ∑ z P ( z ∣ x , θ n ) ln P ( x ∣ θ n ) = ln ∑ z P ( z ∣ x , θ n ) ln P ( x ∣ z , θ ) P ( z ∣ θ ) P ( z ∣ x , θ n ) P ( x ∣ θ n ) 命 名 为 Δ ( θ ∣ θ n ) \begin{aligned} L(\theta)&=\ln P(x|\theta)\\ \arg \max_\theta L(\theta)&=\arg\max_\theta\ln P(x|\theta)\\ L(\theta)-L(\theta_n)&=\ln P(x|\theta)-\ln P(x|\theta_n)\quad{(n是时间)}\\ &=\ln \sum_z P(x,z|\theta)-\ln P(x|\theta_n)\quad(\theta_n确定z就确定了)\\ &=\ln \sum_z P(x|z,\theta)P(z|\theta)-\ln P(x|\theta_n)\\ &(想办法把z挪到左边, 凑出和为1的\lambda; 其实是强行增加一项)\\ &=\ln \sum_z P(z|x,\theta_n)\cdot \cfrac{1}{P(z|x,\theta_n)}\cdot P(x|z,\theta)P(z|\theta)-\ln P(x|\theta_n)\\ &\ge\sum_z P(z|x,\theta_n)\ln \cfrac{P(x|z,\theta)P(z|\theta)}{P(z|x,\theta_n)}-\ln P(x|\theta_n)\\ &=\ln \sum_z P(z|x,\theta_n)\ln \cfrac{P(x|z,\theta)P(z|\theta)}{P(z|x,\theta_n)}-\sum_z P(z|x,\theta_n)\ln P(x|\theta_n)\\ &=\ln \sum_z P(z|x,\theta_n)\ln \cfrac{P(x|z,\theta)P(z|\theta)}{P(z|x,\theta_n)P(x|\theta_n)}\\ &命名为 \Delta(\theta|\theta_n) \end{aligned} L(θ)argθmaxL(θ)L(θ)−L(θn)=lnP(x∣θ)=argθmaxlnP(x∣θ)=lnP(x∣θ)−lnP(x∣θn)(n是时间)=lnz∑P(x,z∣θ)−lnP(x∣θn)(θn确定z就确定了)=lnz∑P(x∣z,θ)P(z∣θ)−lnP(x∣θn)(想办法把z挪到左边,凑出和为1的λ;其实是强行增加一项)=lnz∑P(z∣x,θn)⋅P(z∣x,θn)1⋅P(x∣z,θ)P(z∣θ)−lnP(x∣θn)≥z∑P(z∣x,θn)lnP(z∣x,θn)P(x∣z,θ)P(z∣θ)−lnP(x∣θn)=lnz∑P(z∣x,θn)lnP(z∣x,θn)P(x∣z,θ)P(z∣θ)−z∑P(z∣x,θn)lnP(x∣θn)=lnz∑P(z∣x,θn)lnP(z∣x,θn)P(x∣θn)P(x∣z,θ)P(z∣θ)命名为Δ(θ∣θn)
L ( θ ) − L ( θ n ) ≥ Δ ( θ ∣ θ n ) L ( θ ) ≥ L ( θ n ) + Δ ( θ ∣ θ n ) θ n + 1 = arg max θ [ L ( θ n ) + Δ ( θ ∣ θ n ) ] = arg max θ [ L ( θ n ) + ∑ z P ( z ∣ x , θ n ) ln P ( x ∣ z , θ ) P ( z ∣ θ ) P ( z ∣ x , θ n ) P ( x ∣ θ n ) ] ( 删 除 与 θ 无 关 的 项 ) = arg max θ [ ∑ z P ( z ∣ x , θ n ) ln P ( x ∣ z , θ ) P ( z ∣ θ ) ] = arg max θ [ ∑ z P ( z ∣ x , θ n ) ln P ( x , z ∣ θ ) ] = arg max θ E z ∣ x , θ n ln P ( x , z ∣ θ ) \begin{aligned} L(\theta)-L(\theta_n)&\ge \Delta(\theta|\theta_n)\\ L(\theta)&\ge L(\theta_n)+\Delta(\theta|\theta_n)\\ \theta_{n+1}&=\arg\max_\theta [L(\theta_n)+\Delta(\theta|\theta_n)]\\ &=\arg\max_\theta \left[L(\theta_n)+\sum_z P(z|x,\theta_n)\ln \cfrac{P(x|z,\theta)P(z|\theta)}{P(z|x,\theta_n)P(x|\theta_n)}\right]\\ &(删除与\theta无关的项)\\ &=\arg\max_\theta\left[\sum_z P(z|x,\theta_n)\ln P(x|z,\theta)P(z|\theta)\right]\\ &=\arg\max_\theta\left[\sum_z P(z|x,\theta_n)\ln P(x,z|\theta)\right]\\ &=\arg\max_\theta\mathbb{E}_{z|x,\theta_n}\ln P(x,z|\theta) \end{aligned} L(θ)−L(θn)L(θ)θn+1≥Δ(θ∣θn)≥L(θn)+Δ(θ∣θn)=argθmax[L(θn)+Δ(θ∣θn)]=argθmax[L(θn)+z∑P(z∣x,θn)lnP(z∣x,θn)P(x∣θn)P(x∣z,θ)P(z∣θ)](删除与θ无关的项)=argθmax[z∑P(z∣x,θn)lnP(x∣z,θ)P(z∣θ)]=argθmax[z∑P(z∣x,θn)lnP(x,z∣θ)]=argθmaxEz∣x,θnlnP(x,z∣θ)
E步: 求隐变量 z z z的期望( θ \theta θ已知), 并使计算 z z z的最大似然估计值
M步: 调整( θ \theta θ)使期望最大化,( z z z已知)
EM算法的特点:
- 每次迭代都会找到更好的解(严格递增)
- 但是不是全局最优解
K-means
属于EM算法
假设分为k类, 首先随机找k个点作为k个中心;
然后将每个点归为距离最近的中心的类别;
然后将每类的点的平均值作为新的中心位置;
所以k-means的cost function是什么
①变量: 点属于哪一个cluster ②中心点
r
n
k
:
=
if
x
n
belongs to
k
-th cluster
J
=
∑
n
=
1
样
本
∑
k
=
1
类
别
r
n
k
∥
x
n
−
μ
k
∥
2
r_{nk}:=\text{if } x_n\text{ belongs to }k\text{-th cluster}\\ J=\sum_{n=1}^{样本}\sum_{k=1}^{类别}r_{nk}\left\|x_n-\mu_k\right\|^2
rnk:=if xn belongs to k-th clusterJ=n=1∑样本k=1∑类别rnk∥xn−μk∥2
其中的
r
n
k
r_{nk}
rnk是隐变量, (定义:隐变量是观测不到的变量, 每个点属于哪一类观测不到? 每一类的中心能观测到?)
E步 已知中心点的位置, 求每个点属于哪一类
M步 已知每个点所属的类别, 求中心点的位置
K-means换成软分类才能严格对应上EM算法.
HMM的参数估计
Complete Case
( z z z, x x x)是可观测的 → \to →使用MLE算法
估计 π \pi π
计算每个状态出现在每个序列开头的概率
估计状态转移矩阵A
根据序列中的状态转移情况, 计算每种状态转移到其它状态的概率.
估计发射矩阵B
统计序列中每种状态分别输出各种观测值的概率
Incomplete Case
先估计 z z z再估计 θ = π , A , B \theta={\pi,A,B} θ=π,A,B
估计 π \pi π
使用F/B算法计算出 p ( z 1 = 各 种 状 态 ∣ x ) p(z_1=各种状态|\boldsymbol{x}) p(z1=各种状态∣x)
(F/B算法能计算 p ( z ∣ x ) p(z|\boldsymbol{x}) p(z∣x))
然后计算每个序列在开头的概率.
例子: 假设有3个序列 x 1 , x 2 , x 3 \boldsymbol{x}_1,\boldsymbol{x}_2,\boldsymbol{x}_3 x1,x2,x3
在 x 1 \boldsymbol{x}_1 x1中, p ( z 1 = 1 ∣ x 1 ) = 0.7 p(z_1=1|\boldsymbol{x}_1)=0.7 p(z1=1∣x1)=0.7, p ( z 1 = 2 ∣ x 1 ) = 0.2 p(z_1=2|\boldsymbol{x}_1)=0.2 p(z1=2∣x1)=0.2, p ( z 1 = 3 ∣ x 1 ) = 0.1 p(z_1=3|\boldsymbol{x}_1)=0.1 p(z1=3∣x1)=0.1
在 x 2 \boldsymbol{x}_2 x2中, p ( z 1 = 1 ∣ x 2 ) = 0.4 p(z_1=1|\boldsymbol{x}_2)=0.4 p(z1=1∣x2)=0.4, p ( z 1 = 2 ∣ x 2 ) = 0.4 p(z_1=2|\boldsymbol{x}_2)=0.4 p(z1=2∣x2)=0.4, p ( z 1 = 3 ∣ x 2 ) = 0.2 p(z_1=3|\boldsymbol{x}_2)=0.2 p(z1=3∣x2)=0.2
在 x 3 \boldsymbol{x}_3 x3中, p ( z 1 = 1 ∣ x 3 ) = 0.6 p(z_1=1|\boldsymbol{x}_3)=0.6 p(z1=1∣x3)=0.6, p ( z 1 = 2 ∣ x 3 ) = 0.3 p(z_1=2|\boldsymbol{x}_3)=0.3 p(z1=2∣x3)=0.3, p ( z 1 = 3 ∣ x 3 ) = 0.1 p(z_1=3|\boldsymbol{x}_3)=0.1 p(z1=3∣x3)=0.1
则 π = 归 一 化 ( [ 0.7 + 0.4 + 0.6 , 0.2 + 0.4 + 0.3 , 0.1 + 0.2 + 0.1 ] ) \pi=归一化([0.7+0.4+0.6,0.2+0.4+0.3,0.1+0.2+0.1]) π=归一化([0.7+0.4+0.6,0.2+0.4+0.3,0.1+0.2+0.1])
估计B
统计每种状态的出现次数(各种 p ( z ∣ x ) p(z|\boldsymbol{x}) p(z∣x)求和), 然后
忘了就看🎥251第11分钟.
估计A 🎥252
P
(
z
k
+
1
=
j
∣
z
k
=
i
)
=
P
(
z
k
+
1
=
j
,
z
k
=
i
)
P
(
z
k
=
i
)
=
c
o
u
n
t
(
z
k
=
i
,
z
k
+
1
=
j
)
c
o
u
n
t
(
z
k
=
i
)
P(z_{k+1}=j|z_k=i)=\cfrac{P(z_{k+1}=j,z_k=i)}{P(z_k=i)} =\cfrac{count(z_k=i,z_{k+1}=j)}{count(z_k=i)}
P(zk+1=j∣zk=i)=P(zk=i)P(zk+1=j,zk=i)=count(zk=i)count(zk=i,zk+1=j)
P
(
z
k
=
i
,
z
k
+
1
=
j
∣
x
)
∝
P
(
z
k
=
i
,
z
k
+
1
=
j
,
x
)
(
1
)
=
P
(
z
k
=
i
,
z
k
+
1
=
j
,
x
1
:
k
,
x
k
+
1
,
x
k
+
2
:
n
)
(
2
)
=
P
(
z
k
,
x
1
:
k
)
⏟
前
向
算
法
⋅
P
(
x
k
+
2
:
n
∣
z
k
+
1
)
⏟
后
向
算
法
⋅
P
(
z
k
+
1
∣
z
k
)
⏟
A
⋅
P
(
x
k
+
1
∣
z
k
+
1
)
⏟
B
(
3
)
记
为
β
k
(
i
,
j
)
\begin{aligned} P(z_k=i,z_{k+1}=j|x)&\propto P(z_k=i,z_{k+1}=j,x)\quad{(1)}\\ &=P(z_k=i,z_{k+1}=j,x_{1:k},x_{k+1},x_{k+2:n})\quad{(2)}\\ &=\underbrace{P(z_k,x_{1:k})}_{前向算法}\cdot\underbrace{P(x_{k+2:n}|z_{k+1})}_{后向算法}\cdot\underbrace{P(z_{k+1}|z_k)}_{A}\cdot\underbrace{P(x_{k+1}|z_{k+1})}_{B}\quad{(3)}\\ &记为 \beta_k(i,j) \end{aligned}
P(zk=i,zk+1=j∣x)∝P(zk=i,zk+1=j,x)(1)=P(zk=i,zk+1=j,x1:k,xk+1,xk+2:n)(2)=前向算法
P(zk,x1:k)⋅后向算法
P(xk+2:n∣zk+1)⋅A
P(zk+1∣zk)⋅B
P(xk+1∣zk+1)(3)记为βk(i,j)
( 1 ) (1) (1)式的左边是归一化的, 也就是 ∑ i ∑ j P ( z k = i , z k + 1 = j ∣ x ) = 1 \sum\limits_i\sum\limits_j P(z_k=i,z_{k+1}=j|x)=1 i∑j∑P(zk=i,zk+1=j∣x)=1, 而 ( 1 ) (1) (1)式右边是正比于, 不再归一化,
所以要求出 P ( z k = i , z k + 1 = j ∣ x ) = β k ( 1 , 1 ) β k ( 1 , 1 ) + β k ( 1 , 2 ) + ⋯ + β k ( 3 , 3 ) P(z_k=i,z_{k+1}=j|x)=\cfrac{\beta_k(1,1)}{\beta_k(1,1)+\beta_k(1,2)+\cdots+\beta_k(3,3)} P(zk=i,zk+1=j∣x)=βk(1,1)+βk(1,2)+⋯+βk(3,3)βk(1,1) (假设共有3种状态)
转移矩阵 A = [ A 11 A 12 A 13 A 21 A 22 A 33 A 31 A 32 A 33 ] ⏟ 次 数 ⟶ 归 一 化 概 率 A=\underbrace{\begin{bmatrix}A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{33}\\A_{31}&A_{32}&A_{33}\end{bmatrix}}_{次数}\stackrel{归一化}{\longrightarrow}{概率} A=次数 ⎣⎡A11A21A31A12A22A32A13A33A33⎦⎤⟶归一化概率
A 13 = P ( z 1 = 1 , z 2 = 3 ∣ x ) + P ( z 2 = 1 , z 3 = 3 ∣ x ) + P ( z 3 = 1 , z 4 = 3 ∣ x ) + P ( z 4 = 1 , z 5 = 3 ∣ x ) + P ( z 5 = 1 , z 6 = 3 ∣ x ) \begin{aligned} A_{13}&=P(z_1=1,z_2=3|x)\\&+P(z_2=1,z_3=3|x)\\&+P(z_3=1,z_4=3|x)\\&+P(z_4=1,z_5=3|x)\\&+P(z_5=1,z_6=3|x) \end{aligned} A13=P(z1=1,z2=3∣x)+P(z2=1,z3=3∣x)+P(z3=1,z4=3∣x)+P(z4=1,z5=3∣x)+P(z5=1,z6=3∣x)
有向图和无向图
有向图的概率计算
P ( x 1 , x 2 , x 3 , x 4 , x 5 ) = P ( x 4 ) P ( x 5 ) P ( x 3 ∣ x 4 , x 5 ) P ( x 2 ∣ x 3 ) P ( x 1 ∣ x 2 ) P(x_1,x_2,x_3,x_4,x_5)=P(x_4)P(x_5)P(x_3|x_4,x_5)P(x_2|x_3)P(x_1|x_2) P(x1,x2,x3,x4,x5)=P(x4)P(x5)P(x3∣x4,x5)P(x2∣x3)P(x1∣x2)
无向图的概率计算
P ( x 1 , x 2 , x 3 , x 4 , x 5 ) = Φ 1 ( x 1 , x 2 , x 5 ) Φ 2 ( x 2 , x 3 , x 5 ) Φ 3 ( x 3 , x 4 , x 5 ) P(x_1,x_2,x_3,x_4,x_5)=\Phi_1(x_1,x_2,x_5)\Phi_2(x_2,x_3,x_5)\Phi_3(x_3,x_4,x_5) P(x1,x2,x3,x4,x5)=Φ1(x1,x2,x5)Φ2(x2,x3,x5)Φ3(x3,x4,x5)
有3个团, Φ \Phi Φ是自定义的特殊函数
生成模型一般用 P ( x , y ) P(x,y) P(x,y)建模, 判别模型用 P ( y ∣ x ) P(y|x) P(y∣x)
Log Linear 模型
P ( y ∣ x ; w ) = exp ∑ j = 1 J w j ⏞ 参 数 F j ( x , y ) ⏞ 特 征 函 数 z ( x , w ) P(y|x;w)=\cfrac{\exp \sum_{j=1}^J \overbrace{w_j}^{参数}\overbrace{F_j(x,y)}^{特征函数}}{z(x,w)} P(y∣x;w)=z(x,w)exp∑j=1Jwj 参数Fj(x,y) 特征函数
z是归一化因子, J J J是团的个数
多元逻辑回归
🎥259
设一个特征函数, x,y属于分类j则结果为x, 否则为0
F
j
(
x
,
y
)
=
x
⋅
I
(
y
=
c
)
x
∈
R
d
,
y
∈
1
,
2
,
⋯
c
F_j(\boldsymbol{x},y)=\boldsymbol{x}\cdot \mathbb{I}(y=c)\quad \boldsymbol{x}\in \mathbb{R}^d,y\in {1,2,\cdots c}
Fj(x,y)=x⋅I(y=c)x∈Rd,y∈1,2,⋯c
设
c
=
3
c=3
c=3, 那么
j
=
1
,
2
⋯
3
d
j=1,2\cdots 3d
j=1,2⋯3d, 所以
w
∈
R
3
d
w\in R^{3d}
w∈R3d, 把
w
w
w按分类分成3组:
w
=
(
w
1
,
w
2
,
⋯
,
w
d
⏟
w
(
1
)
,
w
d
+
1
,
w
d
+
2
,
⋯
,
w
2
d
⏟
w
(
2
)
,
w
2
d
+
1
,
w
2
d
+
2
,
⋯
,
w
3
d
⏟
w
(
3
)
)
T
w=(\underbrace{w_1,w_2,\cdots,w_d}_{w^{(1)}},\underbrace{w_{d+1},w_{d+2},\cdots,w_{2d}}_{w^{(2)}},\underbrace{w_{2d+1},w_{2d+2},\cdots,w_{3d}}_{w^{(3)}})^T
w=(w(1)
w1,w2,⋯,wd,w(2)
wd+1,wd+2,⋯,w2d,w(3)
w2d+1,w2d+2,⋯,w3d)T
P ( y = 1 ∣ x ; w ) = exp w ( 1 ) T ⋅ x z ( x , w ) P ( y = 2 ∣ x ; w ) = exp w ( 2 ) T ⋅ x z ( x , w ) P ( y = 3 ∣ x ; w ) = exp w ( 3 ) T ⋅ x z ( x , w ) P(y=1|\boldsymbol{x};w)=\cfrac{\exp w^{(1)T}\cdot \boldsymbol{x}}{z(\boldsymbol{x},w)}\\ P(y=2|\boldsymbol{x};w)=\cfrac{\exp w^{(2)T}\cdot \boldsymbol{x}}{z(\boldsymbol{x},w)}\\ P(y=3|\boldsymbol{x};w)=\cfrac{\exp w^{(3)T}\cdot \boldsymbol{x}}{z(\boldsymbol{x},w)} P(y=1∣x;w)=z(x,w)expw(1)T⋅xP(y=2∣x;w)=z(x,w)expw(2)T⋅xP(y=3∣x;w)=z(x,w)expw(3)T⋅x
z ( x , w ) z({\boldsymbol{x},w}) z(x,w)是三者之和
条件随机场CRF模型
P ( y ∣ x ; w ) = 1 z ( x , w ) exp ∑ j = 1 J w j F j ( x , y ) P(y|x;w)=\cfrac{1}{z(x,w)}\exp \sum_{j=1}^J w_j F_j(x,y) P(y∣x;w)=z(x,w)1expj=1∑JwjFj(x,y)
设
x
‾
\overline{x}
x是观测序列,
y
‾
\overline{y}
y是标签序列, (用
□
‾
\overline{\square}
□表示向量)则
P
(
y
‾
∣
x
‾
;
w
)
=
1
z
(
x
,
w
)
exp
∑
j
=
1
J
w
j
F
j
(
x
‾
,
y
‾
)
=
1
z
(
x
‾
,
w
)
exp
∑
j
=
1
J
w
j
∑
i
=
2
n
f
j
(
y
i
−
1
,
y
i
,
x
‾
,
i
)
\begin{aligned} P(\overline{y}|\overline{x};w)&=\cfrac{1}{z(x,w)}\exp \sum_{j=1}^J w_j F_j(\overline{x},\overline{y})\\ &=\cfrac{1}{z(\overline{x},w)}\exp \sum_{j=1}^J w_j\sum_{i=2}^n f_j(y_{i-1},y_i,\overline{x},i) \end{aligned}
P(y∣x;w)=z(x,w)1expj=1∑JwjFj(x,y)=z(x,w)1expj=1∑Jwji=2∑nfj(yi−1,yi,x,i)
把 F F F分解成一个一个的小特征, 小特征是相邻时刻的 y y y和整个序列 x x x
inference
给定
w
,
x
‾
w,\overline{x}
w,x,求出最好的序列
y
‾
\overline{y}
y
y
^
=
arg
max
y
‾
1
P
(
y
‾
∣
x
‾
;
w
)
=
arg
max
y
‾
∑
j
=
1
J
w
j
F
j
(
x
‾
,
y
‾
)
=
arg
max
y
‾
∑
j
=
1
J
w
j
∑
i
=
2
n
f
j
(
y
i
−
1
,
y
i
,
x
‾
,
i
)
=
arg
max
y
‾
∑
i
=
2
n
∑
j
=
1
J
w
j
f
j
(
y
i
−
1
,
y
i
,
x
‾
,
i
)
=
:
arg
max
y
‾
∑
i
=
2
n
g
i
(
y
i
−
1
,
y
i
)
暂
时
用
冒
号
表
示
定
义
\begin{aligned} \hat{y}&=\arg\max_{\overline{y}}1 P(\overline {y}|\overline{x};w)\\ &=\arg\max_{\overline{y}}\sum_{j=1}^Jw_j F_j(\overline{x},\overline{y})\\ &=\arg\max_{\overline{y}}\sum_{j=1}^J w_j\sum_{i=2}^n f_j(y_{i-1},y_i,\overline{x},i)\\ &=\arg\max_{\overline{y}}\sum_{i=2}^n\sum_{j=1}^Jw_j f_j(y_{i-1},y_i,\overline{x},i)\\ &=:\arg\max_{\overline{y}}\sum_{i=2}^n g_i(y_{i-1},y_i)\quad{暂时用冒号表示定义}\\ \end{aligned}
y^=argymax1P(y∣x;w)=argymaxj=1∑JwjFj(x,y)=argymaxj=1∑Jwji=2∑nfj(yi−1,yi,x,i)=argymaxi=2∑nj=1∑Jwjfj(yi−1,yi,x,i)=:argymaxi=2∑ngi(yi−1,yi)暂时用冒号表示定义
g ( ) g() g()是某个时刻所有特征的加权和.
用动态规划的方式解决, 定义
u
(
k
,
v
)
u(k,v)
u(k,v)表示以序列
1..
k
1..k
1..k以标签
v
v
v结尾的最优序列
u
(
k
,
v
)
=
max
y
1
⋯
y
k
−
1
∑
i
=
1
k
−
1
g
i
(
y
i
−
1
,
y
i
)
+
g
k
(
y
k
−
1
,
v
)
=
max
y
1
⋯
y
k
−
1
[
max
y
1
⋯
y
k
−
2
∑
i
=
1
k
−
2
g
i
(
y
i
−
1
,
y
i
)
+
g
k
−
1
(
y
k
−
2
,
y
k
−
1
)
]
+
g
k
(
y
k
−
1
,
v
)
=
max
u
[
u
(
k
−
1
,
u
)
+
g
k
(
u
,
v
)
]
用
u
表
示
倒
数
第
2
个
标
签
\begin{aligned} u(k,v)&=\max_{y_1\cdots y_{k-1}}\sum_{i=1}^{k-1}g_i(y_{i-1},y_i)+g_k(y_{k-1},v)\\ &=\max_{y_1\cdots y_{k-1}}\left[\max_{y_1\cdots y_{k-2}}\sum_{i=1}^{k-2}g_i(y_{i-1},y_i)+g_{k-1}(y_{k-2},y_{k-1})\right]+g_k(y_{k-1},v)\\ &=\max_u[u(k-1,u)+g_k(u,v)]\quad{用u表示倒数第2个标签} \end{aligned}
u(k,v)=y1⋯yk−1maxi=1∑k−1gi(yi−1,yi)+gk(yk−1,v)=y1⋯yk−1max[y1⋯yk−2maxi=1∑k−2gi(yi−1,yi)+gk−1(yk−2,yk−1)]+gk(yk−1,v)=umax[u(k−1,u)+gk(u,v)]用u表示倒数第2个标签
参数 w w w的估计
🎥262
P
(
y
∣
x
;
w
)
=
exp
∑
j
=
1
J
w
j
F
j
(
x
,
y
)
z
(
x
,
w
)
P(y|x;w)=\cfrac{\exp \sum_{j=1}^J w_jF_j(x,y)}{z(x,w)}
P(y∣x;w)=z(x,w)exp∑j=1JwjFj(x,y)
P
(
y
∣
x
;
w
)
P(y|x;w)
P(y∣x;w)是数据
x
x
x的标签是
y
y
y的概率, 其中
∑
J
\sum_J
∑J是遍历特征函数.
∂
∂
w
j
log
P
(
y
∣
x
;
w
)
=
∂
∂
w
j
[
∑
j
=
1
J
w
j
F
j
(
x
,
y
)
−
log
z
(
x
,
y
)
]
=
F
j
(
x
,
y
)
−
1
z
(
x
,
w
)
∂
∂
w
j
z
(
x
,
w
)
(
10
)
z
(
x
,
w
)
=
∑
y
′
exp
∑
j
=
1
J
w
j
F
j
(
x
,
y
′
)
\begin{aligned} \cfrac{\partial}{\partial w_j}\log P(y|x;w)&=\cfrac{\partial}{\partial w_j}\left[\sum_{j=1}^Jw_jF_j(x,y)-\log z(x,y)\right]\\ &=F_j(x,y)-\cfrac{1}{z(x,w)}\cfrac{\partial}{\partial w_j}z(x,w)\quad{(10)}\\ z(x,w)&=\sum_{y'}\exp \sum_{j=1}^Jw_jF_j(x,y')\\ \end{aligned}
∂wj∂logP(y∣x;w)z(x,w)=∂wj∂[j=1∑JwjFj(x,y)−logz(x,y)]=Fj(x,y)−z(x,w)1∂wj∂z(x,w)(10)=y′∑expj=1∑JwjFj(x,y′)
把 y y y写到 ∑ \sum ∑下面是遍历 y y y的各种可能性(组合); z z z是类似 ∑ y Z ( y , x , w ) \sum\limits_yZ(y,x,w) y∑Z(y,x,w)的写法, 求的是 x x x和 y y y的联合概率.
∂ ∂ w j z ( x , w ) = ∂ ∂ w j ∑ y ′ exp ∑ j = 1 J w j F j ( x , y ′ ) = ∑ y ′ ∂ ∂ w j [ exp ∑ j = 1 J w j F j ( x , y ′ ) ] = ∑ y ′ exp ( ∑ j ′ = 1 J w j ′ F j ′ ( x , y ′ ) ) ⋅ ∂ ∂ w j ( ∑ j ′ = 1 J w j ′ F j ′ ( x , y ′ ) ) = ∑ y ′ exp ( ∑ j ′ = 1 J w j ′ F j ′ ( x , y ′ ) ) ⋅ F j ( x , y ′ ) 因 为 后 面 只 有 一 项 w j ′ = w j ( 11 ) \begin{aligned} \cfrac{\partial}{\partial w_j}z(x,w)&=\cfrac{\partial}{\partial w_j}\sum_{y'}\exp \sum_{j=1}^Jw_jF_j(x,y')\\ &=\sum_{y'}\cfrac{\partial}{\partial w_j}\left[\exp \sum_{j=1}^Jw_jF_j(x,y')\right]\\ &=\sum_{y'}\exp\left(\sum_{j'=1}^Jw_{j'}F_{j'}(x,y')\right)\cdot\cfrac{\partial}{\partial w_j}\left(\sum_{j'=1}^Jw_{j'}F_{j'}(x,y')\right)\\ &=\sum_{y'}\exp\left(\sum_{j'=1}^Jw_{j'}F_{j'}(x,y')\right)\cdot F_j(x,y')\quad{因为后面只有一项w_{j'}=w_j}\quad{(11)}\\ \end{aligned} ∂wj∂z(x,w)=∂wj∂y′∑expj=1∑JwjFj(x,y′)=y′∑∂wj∂[expj=1∑JwjFj(x,y′)]=y′∑exp⎝⎛j′=1∑Jwj′Fj′(x,y′)⎠⎞⋅∂wj∂⎝⎛j′=1∑Jwj′Fj′(x,y′)⎠⎞=y′∑exp⎝⎛j′=1∑Jwj′Fj′(x,y′)⎠⎞⋅Fj(x,y′)因为后面只有一项wj′=wj(11)
将
(
11
)
(11)
(11)带入
(
10
)
(10)
(10)中, 得到
∂
∂
w
j
log
P
(
y
∣
x
;
w
)
=
F
j
(
x
,
y
)
−
1
z
(
x
,
w
)
∑
y
′
exp
(
∑
j
′
=
1
J
w
j
′
F
j
′
(
x
,
y
′
)
)
⋅
F
j
(
x
,
y
′
)
=
F
j
(
x
,
y
)
−
∑
y
′
F
j
(
x
,
y
′
)
exp
∑
j
′
=
1
J
w
j
′
F
j
′
(
x
,
y
′
)
z
(
x
,
w
)
=
F
j
(
x
,
y
)
−
∑
y
′
F
j
(
x
,
y
′
)
P
(
y
′
∣
x
;
w
)
=
F
j
(
x
,
y
)
−
E
y
′
∼
P
(
y
′
∣
x
;
w
)
{
F
j
(
x
,
y
′
)
}
(
12
)
\begin{aligned} \cfrac{\partial}{\partial w_j}\log P(y|x;w)&=F_j(x,y)-\cfrac{1}{z(x,w)}\sum_{y'}\exp\left(\sum_{j'=1}^Jw_{j'}F_{j'}(x,y')\right)\cdot F_j(x,y')\\ &=F_j(x,y)-\sum_{y'}F_j(x,y')\cfrac{\exp\sum_{j'=1}^Jw_{j'}F_{j'}(x,y')}{z(x,w)}\\ &=F_j(x,y)-\sum_{y'}F_j(x,y')P(y'|x;w)\\ &=F_j(x,y)-\mathop{\mathbb{E}}_{y'\sim P(y'|x;w)}\{F_j(x,y')\}\quad{(12)} \end{aligned}
∂wj∂logP(y∣x;w)=Fj(x,y)−z(x,w)1y′∑exp⎝⎛j′=1∑Jwj′Fj′(x,y′)⎠⎞⋅Fj(x,y′)=Fj(x,y)−y′∑Fj(x,y′)z(x,w)exp∑j′=1Jwj′Fj′(x,y′)=Fj(x,y)−y′∑Fj(x,y′)P(y′∣x;w)=Fj(x,y)−Ey′∼P(y′∣x;w){Fj(x,y′)}(12)
下面是求任意 ( x ‾ , y ‾ ) (\overline x,\overline y) (x,y)的 z z z (带横线的是序列)
z ( x ‾ , w ) = ∑ y ‾ exp ∑ j = 1 J w j F j ( x ‾ , y ‾ ) 特 征 的 加 权 = ∑ y ‾ exp ∑ i = 2 n g i ( y i − 1 , y i ) 时 间 上 求 和 \begin{aligned} z(\overline{x},w)&=\sum_{\overline y}\exp \sum_{j=1}^Jw_jF_j(\overline{x},\overline y)\quad 特征的加权\\ &=\sum_{\overline{y}}\exp \sum_{i=2}^n g_i(y_{i-1},y_i)\quad 时间上求和 \end{aligned} z(x,w)=y∑expj=1∑JwjFj(x,y)特征的加权=y∑expi=2∑ngi(yi−1,yi)时间上求和
目标是求序列 z ( x ‾ , w ) z(\overline x, w) z(x,w)
前向算法
定义
α
(
k
,
v
)
\alpha(k,v)
α(k,v)为序列
y
1..
k
y_{1..k}
y1..k以tag
v
v
v结尾的概率
α
(
k
+
1
,
v
)
=
∑
y
1..
k
exp
[
∑
i
=
2
k
g
i
(
y
i
−
1
,
y
i
)
+
g
k
+
1
(
y
k
,
y
k
+
1
=
v
)
]
=
∑
y
k
=
:
u
(
∑
y
1..
k
−
1
exp
[
∑
i
=
2
k
−
1
g
i
(
y
i
−
1
,
y
i
)
+
g
k
(
y
k
−
1
,
y
k
=
u
)
]
)
×
exp
g
k
+
1
(
y
k
=
u
,
y
k
+
1
=
v
)
=
∑
y
k
=
:
u
α
(
k
,
u
)
×
exp
g
k
+
1
(
u
,
v
)
\begin{aligned} &\alpha(k+1,v)\\ =&\sum_{y_{1..k}}\exp \left[\sum_{i=2}^kg_i(y_{i-1},y_i)+g_{k+1}(y_k,y_{k+1}=v)\right]\\ =&\sum_{y_k=:u}\left(\sum_{y_{1..k-1}}\exp\left[\sum_{i=2}^{k-1}g_i(y_{i-1},y_i)+g_k(y_{k-1},y_k=u)\right]\right)\times\exp g_{k+1}(y_k=u,y_{k+1}=v)\\ =&\sum_{y_k=:u}\alpha(k,u)\times\exp g_{k+1}(u,v) \end{aligned}
===α(k+1,v)y1..k∑exp[i=2∑kgi(yi−1,yi)+gk+1(yk,yk+1=v)]yk=:u∑(y1..k−1∑exp[i=2∑k−1gi(yi−1,yi)+gk(yk−1,yk=u)])×expgk+1(yk=u,yk+1=v)yk=:u∑α(k,u)×expgk+1(u,v)
后向算法🎥262 22:00
定义
β
(
u
,
k
)
\beta(u,k)
β(u,k)为序列
y
k
.
.
n
y_{k..n}
yk..n以tag
u
u
u开始的概率
β
(
u
,
k
−
1
)
=
∑
y
k
.
.
n
exp
[
∑
i
=
k
+
1
n
g
i
(
y
i
−
1
,
y
i
)
+
g
k
(
y
k
−
1
=
u
,
y
k
)
]
=
∑
y
k
=
:
v
(
∑
y
k
+
1..
n
exp
[
∑
i
=
k
+
2
n
g
i
(
y
i
−
1
,
y
i
)
+
g
k
+
1
(
y
k
,
y
k
+
1
)
]
)
×
exp
g
k
(
y
k
−
1
=
u
,
y
k
=
v
)
=
∑
y
k
=
:
v
β
(
v
,
k
)
×
exp
g
k
(
u
,
v
)
\begin{aligned} &\beta(u,k-1)\\ =&\sum_{y_{k..n}}\exp\left[\sum_{i=k+1}^ng_i(y_{i-1},y_i)+g_k(y_{k-1}=u,y_k)\right]\\ =&\sum_{y_k=:v}\left(\sum_{y_{k+1..n}}\exp\left[\sum_{i=k+2}^ng_i(y_{i-1},y_i)+g_{k+1}(y_k,y_{k+1})\right]\right)\times\exp g_k(y_{k-1}=u,y_k=v)\\ =&\sum_{y_k=:v}\beta(v,k)\times\exp g_k(u,v) \end{aligned}
===β(u,k−1)yk..n∑exp[i=k+1∑ngi(yi−1,yi)+gk(yk−1=u,yk)]yk=:v∑(yk+1..n∑exp[i=k+2∑ngi(yi−1,yi)+gk+1(yk,yk+1)])×expgk(yk−1=u,yk=v)yk=:v∑β(v,k)×expgk(u,v)
然后, 序列
x
‾
\overline x
x出现的概率
z
(
x
‾
,
w
)
=
∑
u
α
(
k
,
u
)
⋅
β
(
u
,
k
)
z(\overline x,w)=\sum_u\alpha(k,u)\cdot\beta(u,k)
z(x,w)=u∑α(k,u)⋅β(u,k)
解释一下
sum = 0
for u = 第k个标签的各种取值:
sum += 标签序列的0..k部分以u结尾的概率 * 标签序列的k..n部分以v开始的概率
假设
y
y
y是离散变量, 则
x
‾
\overline x
x序列的第
k
k
k个位置标签是
u
u
u的概率:
P
(
y
k
=
u
∣
x
‾
;
w
)
=
P
(
y
k
=
u
,
x
‾
;
w
)
P
(
x
‾
;
w
)
=
α
(
k
,
u
)
β
(
u
,
k
)
z
(
x
‾
,
w
)
P(y_k=u|\overline x;w)=\cfrac{P(y_k=u,\overline x;w)}{P(\overline x;w)}=\cfrac{\alpha(k,u)\beta(u,k)}{z(\overline x,w)}
P(yk=u∣x;w)=P(x;w)P(yk=u,x;w)=z(x,w)α(k,u)β(u,k)
分母就是刚才求的 为什么需要分母? 因为
α
\alpha
α和
β
\beta
β都是
x
x
x,
y
y
y的联合概率
P
(
y
k
=
u
,
y
k
+
1
=
v
∣
x
‾
;
w
)
=
α
(
k
,
u
)
exp
[
g
k
+
1
(
u
,
v
)
]
β
(
k
+
1
,
v
)
z
(
x
‾
,
w
)
(
13
)
P(y_k=u,y_{k+1}=v|\overline x;w)=\cfrac{\alpha(k,u)\exp[g_{k+1}(u,v)]\beta(k+1,v)}{z(\overline x, w)}\quad{(13)}
P(yk=u,yk+1=v∣x;w)=z(x,w)α(k,u)exp[gk+1(u,v)]β(k+1,v)(13)
然后梦回公式
(
12
)
(12)
(12), 但是换成了向量版
∂
∂
w
j
log
P
(
y
‾
∣
x
‾
;
w
)
=
F
j
(
x
‾
,
y
‾
)
−
E
y
‾
′
∼
P
(
y
‾
′
∣
x
‾
;
w
)
{
F
j
(
x
‾
,
y
‾
′
)
}
序
列
y
‾
′
出
现
的
概
率
×
F
j
=
F
j
(
x
‾
,
y
‾
)
−
E
y
‾
′
{
∑
i
=
2
n
f
j
(
y
i
−
1
′
,
y
i
′
,
x
‾
,
i
)
}
在
时
间
维
度
上
展
开
=
F
j
(
x
‾
,
y
‾
)
−
∑
i
=
2
n
E
y
‾
′
{
f
j
(
y
i
−
1
′
,
y
i
′
,
x
‾
,
i
)
}
交
换
∑
(
14
)
=
F
j
(
x
‾
,
y
‾
)
−
∑
i
=
2
n
E
y
i
−
1
′
,
y
i
′
{
f
j
(
y
i
−
1
′
,
y
i
′
,
x
‾
,
i
)
}
(
15
)
=
F
j
(
x
‾
,
y
‾
)
−
∑
i
=
2
n
∑
y
i
−
1
′
∑
y
i
′
P
(
y
i
,
y
i
−
1
∣
x
‾
;
w
)
f
j
(
y
i
−
1
,
y
i
,
x
‾
,
i
)
=
F
j
(
x
‾
,
y
‾
)
−
∑
i
=
2
n
∑
y
i
−
1
′
∑
y
i
′
α
(
k
,
u
)
exp
[
g
k
+
1
(
u
,
v
)
]
β
(
k
+
1
,
v
)
z
(
x
‾
,
w
)
f
j
(
y
i
−
1
,
y
i
,
x
‾
,
i
)
(
16
)
\begin{aligned} \cfrac{\partial}{\partial w_j}\log P(\overline y|\overline x;w)&=F_j(\overline x,\overline y)-\mathop{\mathbb{E}}_{\overline y'\sim P(\overline y'|\overline x;w)}\{F_j(\overline x,\overline y')\}\quad 序列\overline y'出现的概率\times F_j\\ &=F_j(\overline x, \overline y)-\mathop{\mathbb{E}}_{\overline y'}\left\{\sum_{i=2}^nf_j(y'_{i-1},y'_i,\overline x,i)\right\}\quad 在时间维度上展开\\ &=F_j(\overline x,\overline y)-\sum_{i=2}^n\mathop{\mathbb{E}}_{\overline y'}\left\{f_j(y'_{i-1},y'_i,\overline x,i)\right\}\quad交换\sum\quad{(14)}\\ &=F_j(\overline x, \overline y)-\sum_{i=2}^n\mathop{\mathbb{E}}_{y'_{i-1},y'_i}\{{f_j(y'_{i-1},y_i',\overline x,i)}\}\quad{(15)}\\ &=F_j(\overline x, \overline y)-\sum_{i=2}^n\sum_{y'_{i-1}}\sum_{y'_i}P(y_i,y_{i-1}|\overline x;w)f_j(y_{i-1},y_i,\overline x,i)\\ &=F_j(\overline x, \overline y)-\sum_{i=2}^n\sum_{y'_{i-1}}\sum_{y'_i}\cfrac{\alpha(k,u)\exp[g_{k+1}(u,v)]\beta(k+1,v)}{z(\overline x, w)}f_j(y_{i-1},y_i,\overline x,i)\quad{(16)} \end{aligned}
∂wj∂logP(y∣x;w)=Fj(x,y)−Ey′∼P(y′∣x;w){Fj(x,y′)}序列y′出现的概率×Fj=Fj(x,y)−Ey′{i=2∑nfj(yi−1′,yi′,x,i)}在时间维度上展开=Fj(x,y)−i=2∑nEy′{fj(yi−1′,yi′,x,i)}交换∑(14)=Fj(x,y)−i=2∑nEyi−1′,yi′{fj(yi−1′,yi′,x,i)}(15)=Fj(x,y)−i=2∑nyi−1′∑yi′∑P(yi,yi−1∣x;w)fj(yi−1,yi,x,i)=Fj(x,y)−i=2∑nyi−1′∑yi′∑z(x,w)α(k,u)exp[gk+1(u,v)]β(k+1,v)fj(yi−1,yi,x,i)(16)
从第
14
14
14步到第
15
15
15步,
E
a
,
b
,
c
,
y
f
(
y
)
=
∑
a
,
b
,
c
,
y
P
(
a
,
b
,
c
,
y
)
f
(
y
)
=
∑
y
(
∑
a
,
b
,
c
P
(
a
,
b
,
c
,
y
)
)
f
(
y
)
=
∑
y
P
(
y
)
f
(
y
)
=
E
y
f
(
y
)
\mathop{\mathbb{E}}_{a,b,c,y}f(y)=\sum_{a,b,c,y}P(a,b,c,y)f(y)=\sum_y(\sum_{a,b,c}P(a,b,c,y))f(y)=\sum_yP(y)f(y)=\mathop{\mathbb{E}}_yf(y)
Ea,b,c,yf(y)=a,b,c,y∑P(a,b,c,y)f(y)=y∑(a,b,c∑P(a,b,c,y))f(y)=y∑P(y)f(y)=Eyf(y)
也就是说没用的项可以合并消失.
到第 16 16 16步, P P P对每个特征的参数 w j w_j wj的梯度已经知道了, 可以用梯度下降法求 w w w了.