NLP学习(7) 时序模型

时序模型

应用

抛两个硬币, 抛哪个硬币是隐状态, 正反面是观测值.

词性标注里面观测值是单词, 隐状态是词性.

通过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(zkx)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..nzk)

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..nzk,x1..k)P(zk,x1..k)= P(xk+1..nzk) P(zk,x1..k)x1..kxk+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+1x)>threshold, 这个模型是可以通过 P ( z k ∣ x ) P(z_k|\boldsymbol{x}) P(zkx)得到的

前向算法

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)=zk1P(zk1,zk,x1:k)(1)=zk1P(zk1,x1:k1)P(zkzk1,x1:k1)P(xkzk1,zk,x1:k1)(2)=zk1P(zk1,x1:k1)P(zkzk1)P(xkzk)(3)

( 1 ) (1) (1) ∑ z k − 1 \sum\limits_{z_{k-1}} zk1表示遍历 z k − 1 z_{k-1} zk1的各种取值, 并且 P ( x ) = ∑ y P ( x , y ) P(x)=\sum\limits_y P(x,y) P(x)=yP(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} xk1有关.

后向算法

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:nzk)=zk+1P(xk+1:n,zk+1zk)=zk+1P(xk+2:nzk+1,zk,xk+1)P(zk+1,xk+1zk)(1)=zk+1P(xk+2:nzk+1,zk,xk+1)P(xk+1zk+1,zk)P(zk+1zk)=zk+1P(xk+2:nzk+1)P(xk+1zk+1)P(zk+1zk)(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(xy)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,yz)=P(xy,z)P(yz)

竖线长得真像除号.

到第 ( 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(xz,θ)

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)=logzp(x,zθ)(1)=logzp(zθz)p(xz,θ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=1nλixii=1nλilnxi条件是i=1nλ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)=lnzP(x,zθ)lnP(xθn)(θnz)=lnzP(xz,θ)P(zθ)lnP(xθn)(z,1λ;)=lnzP(zx,θn)P(zx,θn)1P(xz,θ)P(zθ)lnP(xθn)zP(zx,θn)lnP(zx,θn)P(xz,θ)P(zθ)lnP(xθn)=lnzP(zx,θn)lnP(zx,θn)P(xz,θ)P(zθ)zP(zx,θn)lnP(xθn)=lnzP(zx,θn)lnP(zx,θn)P(xθn)P(xz,θ)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)+zP(zx,θn)lnP(zx,θn)P(xθn)P(xz,θ)P(zθ)](θ)=argθmax[zP(zx,θn)lnP(xz,θ)P(zθ)]=argθmax[zP(zx,θn)lnP(x,zθ)]=argθmaxEzx,θ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=1k=1rnkxnμk2
其中的 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(zx))

然后计算每个序列在开头的概率.

例子: 假设有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=1x1)=0.7, p ( z 1 = 2 ∣ x 1 ) = 0.2 p(z_1=2|\boldsymbol{x}_1)=0.2 p(z1=2x1)=0.2, p ( z 1 = 3 ∣ x 1 ) = 0.1 p(z_1=3|\boldsymbol{x}_1)=0.1 p(z1=3x1)=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=1x2)=0.4, p ( z 1 = 2 ∣ x 2 ) = 0.4 p(z_1=2|\boldsymbol{x}_2)=0.4 p(z1=2x2)=0.4, p ( z 1 = 3 ∣ x 2 ) = 0.2 p(z_1=3|\boldsymbol{x}_2)=0.2 p(z1=3x2)=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=1x3)=0.6, p ( z 1 = 2 ∣ x 3 ) = 0.3 p(z_1=2|\boldsymbol{x}_3)=0.3 p(z1=2x3)=0.3, p ( z 1 = 3 ∣ x 3 ) = 0.1 p(z_1=3|\boldsymbol{x}_3)=0.1 p(z1=3x3)=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(zx)求和), 然后

忘了就看🎥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=jzk=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=jx)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:nzk+1)A P(zk+1zk)B P(xk+1zk+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 ijP(zk=i,zk+1=jx)=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=jx)=β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=3x)+P(z2=1,z3=3x)+P(z3=1,z4=3x)+P(z4=1,z5=3x)+P(z5=1,z6=3x)

有向图和无向图

有向图的概率计算

1
2
3
4
5

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(x3x4,x5)P(x2x3)P(x1x2)

无向图的概率计算

1
2
3
4
5

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(yx)

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(yx;w)=z(x,w)expj=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)=xI(y=c)xRd,y1,2,c

c = 3 c=3 c=3, 那么 j = 1 , 2 ⋯ 3 d j=1,2\cdots 3d j=1,23d, 所以 w ∈ R 3 d w\in R^{3d} wR3d, 把 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=1x;w)=z(x,w)expw(1)TxP(y=2x;w)=z(x,w)expw(2)TxP(y=3x;w)=z(x,w)expw(3)Tx

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(yx;w)=z(x,w)1expj=1JwjFj(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(yx;w)=z(x,w)1expj=1JwjFj(x,y)=z(x,w)1expj=1Jwji=2nfj(yi1,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(yx;w)=argymaxj=1JwjFj(x,y)=argymaxj=1Jwji=2nfj(yi1,yi,x,i)=argymaxi=2nj=1Jwjfj(yi1,yi,x,i)=:argymaxi=2ngi(yi1,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)=y1yk1maxi=1k1gi(yi1,yi)+gk(yk1,v)=y1yk1max[y1yk2maxi=1k2gi(yi1,yi)+gk1(yk2,yk1)]+gk(yk1,v)=umax[u(k1,u)+gk(u,v)]u2

参数 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(yx;w)=z(x,w)expj=1JwjFj(x,y)

P ( y ∣ x ; w ) P(y|x;w) P(yx;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} wjlogP(yx;w)z(x,w)=wj[j=1JwjFj(x,y)logz(x,y)]=Fj(x,y)z(x,w)1wjz(x,w)(10)=yexpj=1JwjFj(x,y)

y y y写到 ∑ \sum 下面是遍历 y y y的各种可能性(组合); z z z是类似 ∑ y Z ( y , x , w ) \sum\limits_yZ(y,x,w) yZ(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} wjz(x,w)=wjyexpj=1JwjFj(x,y)=ywj[expj=1JwjFj(x,y)]=yexpj=1JwjFj(x,y)wjj=1JwjFj(x,y)=yexpj=1JwjFj(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} wjlogP(yx;w)=Fj(x,y)z(x,w)1yexpj=1JwjFj(x,y)Fj(x,y)=Fj(x,y)yFj(x,y)z(x,w)expj=1JwjFj(x,y)=Fj(x,y)yFj(x,y)P(yx;w)=Fj(x,y)EyP(yx;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)=yexpj=1JwjFj(x,y)=yexpi=2ngi(yi1,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..kexp[i=2kgi(yi1,yi)+gk+1(yk,yk+1=v)]yk=:u(y1..k1exp[i=2k1gi(yi1,yi)+gk(yk1,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,k1)yk..nexp[i=k+1ngi(yi1,yi)+gk(yk1=u,yk)]yk=:v(yk+1..nexp[i=k+2ngi(yi1,yi)+gk+1(yk,yk+1)])×expgk(yk1=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=ux;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=vx;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} wjlogP(yx;w)=Fj(x,y)EyP(yx;w){Fj(x,y)}y×Fj=Fj(x,y)Ey{i=2nfj(yi1,yi,x,i)}=Fj(x,y)i=2nEy{fj(yi1,yi,x,i)}(14)=Fj(x,y)i=2nEyi1,yi{fj(yi1,yi,x,i)}(15)=Fj(x,y)i=2nyi1yiP(yi,yi1x;w)fj(yi1,yi,x,i)=Fj(x,y)i=2nyi1yiz(x,w)α(k,u)exp[gk+1(u,v)]β(k+1,v)fj(yi1,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,yP(a,b,c,y)f(y)=y(a,b,cP(a,b,c,y))f(y)=yP(y)f(y)=Eyf(y)
也就是说没用的项可以合并消失.

到第 16 16 16步, P P P对每个特征的参数 w j w_j wj的梯度已经知道了, 可以用梯度下降法求 w w w了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python Transformer时序模型是深度学习领域中非常重要的一类模型,它在自然语言处理任务以及音频处理任务等方面表现出色。Transformer是利用注意力机制来实现序列建模的,它能够处理变长序列的输入,这在很多NLP任务中非常有用。其中,时序Transformer也被称为脉冲Transformer,是针对时间序列建模的一种Transformer模型。 与Seq2Seq等传统的循环神经网络相比,Transformer模型能够更好地捕捉长距离依赖关系,在NLP中能够处理各种不同长度的句子输入,例如机器翻译、文本分类、命名实体识别等任务。而在音频领域中,例如语音识别和文本到语音合成等任务,Transformer也被广泛应用。 时序Transformer利用了注意力机制来建立序列模型,它能够对输入序列中每个时间步的信息都分别进行处理,并计算不同时间步之间的相互依赖关系。不同于传统的循环神经网络,时序Transformer直接对所有时间步的输入进行并行化处理,不需要依次地连续操作,从而大大提高了计算效率。 时序Transformer的工作原理基本与普通的Transformer相同,主要包括多头自注意力机制和全连接前馈网络。在自注意力机制中,模型通过对输入序列进行注意力加权计算,同时保持了输入序列中各个位置之间的相对关系。而在全连接前馈网络中,则是将对应的时间步的特征进行多层全连接计算,以实现更深层次的特征提取和变换。 总之,Python Transformer时序模型是一种非常先进的序列建模方法,在NLP和音频领域中有着广泛的应用。它通过利用注意力机制来建立模型,实现了高效的并行计算和较好的序列建模能力,为深度学习领域带来了许多新的技术突破。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值