张敏灵,周志华
传统监督学习主要是单标签学习,而现实生活中目标样本往往比较复杂,具有多个语义,含有多个标签。本综述主要介绍了多标签学习的一些相关内容,包括相关定义,评价指标,8个多标签学习算法,相关的其它任务。
X = R d X = \mathbb{R}^{d} X=Rd表示d维的输入空间, Y = { y 1 , y 2 , . . . , y q } Y=\{y_1, y_2, ..., y_q\} Y={y1,y2,...,yq} 表示带有q个可能标签的标签空间。
训练集 D = ( x i , y i ) ∣ 1 ≤ i ≤ m D = {(x^i, y^i)| 1 \leq i \leq m} D=(xi,yi)∣1≤i≤m ,m表示训练集的大小,上标表示样本序数,有时候会省略。
x i ∈ X x^i \in X xi∈X ,是一个d维的向量。 y i ⊆ Y y^i \subseteq Y yi⊆Y ,是 Y Y Y 的一个标签子集。
任务就是要学习一个多标签分类器 h ( ⋅ ) h(\cdot ) h(⋅),预测 h ( x ) ⊆ Y h(x)\subseteq Y h(x)⊆Y作为x的正确标签集。
常见的做法是学习一个衡量x和y相关性的函数 f ( x , y j ) f(x, y_j) f(x,yj),希望 f ( x , y j 1 ) > f ( x , y j 2 ) f(x, y_{j1}) > f(x, y_{j2}) f(x,yj1)>f(x,yj2) ,其中 y j 1 ∈ y , y j 2 ∉ y y_{j1} \in y, y_{j2} \notin y yj1∈y,yj2∈/y。
h ( x ) h(x) h(x) 可以由 f ( x ) f(x) f(x) 衍生得到 h ( x ) = { y j ∣ f ( x , y j ) > t ( x ) , y j ∈ Y } h(x) = \{y_j | f(x,y_j) > t(x), y_j \in Y\} h(x)={yj∣f(x,yj)>t(x),yj∈Y}。 t ( x ) t(x) t(x) 扮演阈值函数的角色,把标签空间对分成相关的标签集和不相关的标签集。
阈值函数可以由训练集产生,可以设为常数。当 f ( x , y j ) f(x, y_j) f(x,yj) 返回的是一个概率值时,阈值函数可设为常数0.5。
多标签学习的主要难点在于输出空间的爆炸增长,比如20个标签,输出空间就有 2 20 2^{20} 220,为了应对指数复杂度的标签空间,需要挖掘标签之间的相关性。比方说,一个图像被标注的标签有热带雨林和足球,那么它具有巴西标签的可能性就很高。一个文档被标注为娱乐标签,它就不太可能和政治相关。有效的挖掘标签之间的相关性,是多标签学习成功的关键。根据对相关性挖掘的强弱,可以把多标签算法分为三类。
略
可分为两类(具体算法如下图所示)
把多个标签分离开来,对于q个标签,建立q个数据集和q个二分类器来进行预测。
这是最简单最直接的方法,是其它先进的多标签算法的基石。
没有考虑标签之间的关联性,是一个一阶策略(first-order)
首先按特定的顺序(这个顺序是自己决定的)对q个标签排个序,得到yτ(1)≻yτ(2)≻…≻yτ(q)。对于第j个标签yτ(j)构建一个二分类的数据集。
D τ ( j ) = { ( [ x i , p r e τ ( j ) i ] , 1 { y τ ( j ) ∈ y i } )    ∣    1 ≤ i ≤ m } w h e r e p r e τ ( j ) i = ( 1 { y τ ( 1 ) ∈ y i } , . . . , 1 { y τ ( j − 1 ) ∈ y i } ) T D_{\tau(j)}=\{ ([x^i, pre^i_{\tau(j)}], 1\{ y_{\tau(j)} \in y^i \}) \; | \; 1 \leq i \leq m\} \\ where \ pre^i_{\tau(j)}=(1\{ y_{\tau(1)} \in y^i \},...,1\{ y_{\tau(j-1)} \in y^i \})^T Dτ(j)={([xi,preτ(j)i],1{yτ(j)∈yi})∣1≤i≤m}where preτ(j)i=(1{yτ(1)∈yi},...,1{yτ(j−1)∈yi})T
第j个标签构建的二分类数据集中, x i x^i xi 会concat上前j-1个标签值。
以这样chain式的方法构建q个数据集,训练q个分类器。
在预测阶段,由于第j个分类器需要用到前j-1个分类器预测出的标签集,所以需要顺序调用这q个分类器来预测。
算法的基本思想是把多标签学习问题转为标签排序问题,该算法通过“成对比较”来实现标签间的排序。
对q个标签,可以构建q(q-1)/2个标签对,所以可以构建q(q-1)/2个数据集。
D j k = { ( x i , ψ ( y i , y j , y k ) )    ∣    ϕ ( y i , y j ) ≠ ϕ ( y i , y k ) , 1 ≤ i ≤ m } w h e r e ψ ( y i , y j , y k ) ) = { + 1 , i f ϕ ( y i , y j ) = + 1 a n d ϕ ( y i , y k ) = − 1 − 1 , i f ϕ ( y i , y j ) = − 1 a n d ϕ ( y i , y k ) = + 1 ϕ ( y i , y j ) = { + 1 i f y j ∈ y i − 1 e l s e D_{jk} = \{ (x_i, \psi (y^i, y_j, y_k)) \; | \; \phi (y^i, y_j) \neq \phi (y^i, y_k), 1 \leq i \leq m \} \\ where \ \psi (y^i, y_j, y_k)) = \left\{\begin{matrix} +1, & if \ \phi (y^i, y_j) = +1 \ and \ \phi (y^i, y_k) = -1\\ -1, & if \ \phi (y^i, y_j) = -1 \ and \ \phi (y^i, y_k) = +1 \end{matrix}\right. \\ \phi (y^i, y_j) = \left\{\begin{matrix} +1 & if \ y_j \in y^i\\ -1 & else \end{matrix}\right. Djk={(xi,ψ(yi,yj,yk))∣ϕ(yi,yj)̸=ϕ(yi,yk),1≤i≤m}where ψ(yi,yj,yk))={+1,−1,if ϕ(yi,yj)=+1 and ϕ(yi,yk)=−1if ϕ(yi,yj)=−1 and ϕ(yi,yk)=+1ϕ(yi,yj)={+1−1if yj∈yielse
算法的基本思想是把多标签学习问题转为多分类问题。把 2 q 2^q 2q 个可能的标签集,映射成 2 q 2^q 2q 个自然数。
映射函数记为 σ Y σ_Y σY ,则原数据集变为
D Y + = ( x i , σ Y ( y i ) ) ∣ 1 ≤ i ≤ m D^+_Y={(x^i,σ_Y(y^i)) | 1≤i≤m} DY+=(xi,σY(yi))∣1≤i≤m
所对应的新类别记为
Γ ( D Y + ) = σ Y ( y i ) ∣ 1 ≤ i ≤ m , ∣ Γ ( D Y + ) ∣ ≤ m i n ( m , 2 ∣ Y ∣ ) \Gamma(D^+_Y) = { \sigma_Y(y^i) | 1 \leq i \leq m}, \left | \Gamma(D^+_Y) \right | \leq min(m, 2^{|Y|}) Γ(DY+)=σY(yi)∣1≤i≤m,∣∣Γ(DY+)∣∣≤min(m,2∣Y∣)
这样来训练一个多分类器,最后根据输出的自然数映射回标签集的算法称为LP(Label Powerest)算法,它有两个主要的局限性
为了克服LP的局限性,Random k-Labelsets使用的LP分类器只训练Y中的一个长度为k的子集,然后集成大量的LP分类器来预测。
Y k Y^k Yk 表示 Y Y Y 的所有的长度为 k k k 的子集, Y k ( l ) Y^k(l) Yk(l) 表示随机取的一个长度为 k k k 的子集,这样就可以进行收缩样本空间,得到如下样本集和标签集。
D Y k ( l ) + = { ( x i , σ Y k ( l ) ( y i ∩ Y k ( l ) ) ) ∣ 1 ≤ i ≤ m } D^+_{Y^k(l)}= \{ (x^i, \sigma_{Y^k(l)}(y^i \cap Y^k(l) )) \ | \ 1 \leq i \leq m \} DYk(l)+={(xi,σYk(l)(yi∩Yk(l))) ∣ 1≤i≤m}
Γ ( D Y k ( l ) + ) = { σ Y k ( l ) ( y i ∩ Y k ( l ) ) ∣ 1 ≤ i ≤ m } \Gamma(D^+_{Y^k(l)})= \{ \sigma_{Y^k(l)}(y^i \cap Y^k(l) ) \ | \ 1 \leq i \leq m \} Γ(DYk(l)+)={σYk(l)(yi∩Yk(l)) ∣ 1≤i≤m}
更进一步,我们随机取n个这样的子集:
Y k ( l r ) , 1 ≤ r ≤ n Y^k(l_r), 1 \leq r \leq n Yk(lr),1≤r≤n
来构造n个分类器做集成。
最后预测的时候需要计算两个指标,一个为标签j能达到的最大投票数,一个为实际投票数。
τ ( x , y j ) = ∑ r = 1 n 1 { y j ∈ Y k ( l r ) } \tau(x, y_j) = \sum_{r=1}^{n} 1\{ y_j \in Y^k(l_r)\} τ(x,yj)=r=1∑n1{yj∈Yk(lr)}
μ ( x , y j ) = ∑ r = 1 n 1 { y j ∈ σ Y k ( l ) − 1 ( g Y k ( l ) + ( x ) ) } \mu (x, y_j) = \sum_{r=1}^{n} 1\{ y_j \in \sigma_{Y^k(l)}^{-1}(g^+_{Y^k(l)}(x) )\} μ(x,yj)=r=1∑n1{yj∈σYk(l)−1(gYk(l)+(x))}
其中$ \sigma_{Yk(l)}{-1}(\cdot)表示从自然数映射回标签集的函数,g^+(\cdot)$表示分类器学习到的函数。最后预测的时以0.5为阈值进行预测,得到标签集。
y = { y j ∣ μ ( x , y j ) / τ ( x , y j ) > 0.5 , 1 ≤ j ≤ q } y = \{ y_j \ | \ \mu (x, y_j) \ / \ \tau(x, y_j) > 0.5\ , \ 1 \leq j \leq q\} y={yj ∣ μ(x,yj) / τ(x,yj)>0.5 , 1≤j≤q}
因为是随机长度为k的子集,考虑了多个标签之间的相关性,所以是高阶策略(high-order)。
用 N ( x ) N(x) N(x) 表示 x x x 的 k k k 个邻居,则 C j = ∑ ( x , y ) ∈ N ( x ) 1 y j ∈ y C_j=∑(x,y)∈N(x)1{yj∈y} Cj=∑(x,y)∈N(x)1yj∈y 表示样本 x x x 的邻居中带有标签 y j y_j yj的邻居个数。 用 H j H_j Hj 表示样本 x x x 含有标签 y j y_j yj ,根据后验概率最大化的规则,有
y = { y j ∣ P ( H j ∣ C j ) / P ( ┐ H j ∣ C j ) > 1 , 1 ≤ j ≤ q } y = \{y_j \ | \ P(H_j \ | \ C_j)\ / \ P(\urcorner H_j \ | \ C_j) > 1 \ , \ 1 \leq j \leq q \} y={yj ∣ P(Hj ∣ Cj) / P(┐Hj ∣ Cj)>1 , 1≤j≤q}
根据贝叶斯规则,有
P ( H j ∣ C j ) P ( ┐ H j ∣ C j ) = P ( H ) ⋅ P ( C j ∣ H j ) P ( ┐ H ) ⋅ P ( C j ∣ H j ) \frac{P(H_j \ | \ C_j)} {P(\urcorner H_j\ | \ C_j)} = \frac {P(H) \cdot P(C_j \ | \ H_j)} {P(\urcorner H) \cdot P(C_j \ | \ H_j)} P(┐Hj ∣ Cj)P(Hj ∣ Cj)=P(┐H)⋅P(Cj ∣ Hj)P(H)⋅P(Cj ∣ Hj)
先验概率 P ( H j ) , P ( ┐ H j ) P(H_j),P(\urcorner H_j) P(Hj),P(┐Hj) 可以通过训练集计算得到,表示样本带有或不带有标签 y q y_q yq 的概率
P ( H j ) = s + ∑ i = 1 m 1 { y j ∈ y i } s × 2 + m P ( ┐ H j ) = 1 − P ( H j ) ( 1 ≤ j ≤ q ) P(H_j) = \frac { s + \sum_{i=1}^{m} 1\{ y_j \in y^i \} } {s \times 2 + m} \\ P(\urcorner H_j) = 1 - P(H_j) \ \ (1 \leq j \leq q) P(Hj)=s×2+ms+∑i=1m1{yj∈yi}P(┐Hj)=1−P(Hj) (1≤j≤q)
其中s是平滑因子,s为1时则使用的是拉普拉斯平滑。
条件概率的计算需要用到两个值
κ j [ r ] = ∑ i = 1 m 1 { y j ∈ y i } ⋅ 1 { δ j ( x i ) = r } ( 0 ≤ r ≤ k ) κ ~ j [ r ] = ∑ i = 1 m 1 { y j ∉ y i } ⋅ 1 { δ j ( x i ) = r } ( 0 ≤ r ≤ k ) w h e r e δ j ( x i ) = ∑ ( x ∗ , y ∗ ) ∈ N ( x i ) 1 { y j ∈ y ∗ } \kappa_j[r] = \sum_{i=1}^{m} 1\{ y_j \in y^i \} \cdot 1\{ \delta_j(x^i) = r \} \ \ \ \ (0 \leq r \leq k) \\ \tilde{\kappa}_j[r] = \sum_{i=1}^{m} 1\{ y_j \notin y^i \} \cdot 1\{ \delta_j(x^i) = r \} \ \ \ \ (0 \leq r \leq k) \\ where \ \ \delta_j(x^i) = \sum_{(x^*,y^*) \in N(x^i)} 1 \{y_j \in y^*\} κj[r]=i=1∑m1{yj∈yi}⋅1{δj(xi)=r} (0≤r≤k)κ~j[r]=i=1∑m1{yj∈/yi}⋅1{δj(xi)=r} (0≤r≤k)where δj(xi)=(x∗,y∗)∈N(xi)∑1{yj∈y∗}
κ j [ r ] \kappa_j[r] κj[r]表示“含有标签 y j y_j yj而且 r r r 个邻居也含有标签 y j y_j yj 的”样本的个数。
κ ~ j [ r ] \tilde{\kappa}_j[r] κ~j[r]表示“不含有标签 y j y_j yj 但是 r r r 个邻居含有 y j y_j yj 的”样本的个数。
根据这两个值,可以计算相应的条件概率
P ( C j ∣ H j ) = s + κ j [ C j ] s × ( k + 1 ) + ∑ r = 0 k κ j [ r ] ( 1 ≤ j ≤ q , 0 ≤ C j ≤ k ) P ( C j ∣ ┐ H j ) = s + κ ~ j [ C j ] s × ( k + 1 ) + ∑ r = 0 k κ ~ j [ r ] ( 1 ≤ j ≤ q , 0 ≤ C j ≤ k ) P(C_j \ | \ H_j) = \frac{s+\kappa_j[C_j]} {s \times (k+1) + \sum_{r=0}^{k} \kappa_j[r]} \ \ (1 \leq j \leq q, 0 \leq C_j \leq k) \\ P(C_j \ | \ \urcorner H_j) = \frac{s+\tilde{\kappa}_j[C_j]} {s \times (k+1) + \sum_{r=0}^{k} \tilde{\kappa}_j[r]} \ \ (1 \leq j \leq q, 0 \leq C_j \leq k) P(Cj ∣ Hj)=s×(k+1)+∑r=0kκj[r]s+κj[Cj] (1≤j≤q,0≤Cj≤k)P(Cj ∣ ┐Hj)=s×(k+1)+∑r=0kκ~j[r]s+κ~j[Cj] (1≤j≤q,0≤Cj≤k)
这两个条件概率表示的是,样本带有或不带有标签 y j y_j yj 的条件下,它有 C j C_j Cj 个邻居带有标签 y j y_j yj 的概率。
使用决策树的思想来处理多标签数据,数据集 T T T中,使用第 l l l个特征,划分值为 ϑ \vartheta ϑ,计算出如下信息增益:
I G ( T , l , ϑ ) = M L E n t ( T ) − ∑ ρ ∈ { − , + } ∣ T ρ ∣ ∣ T ∣ ⋅ M L E n t ( T ρ ) w h e r e T − = { ( x i , y i ) ∣ x i l ≤ v , 1 ≤ i ≤ n } w h e r e T + = { ( x i , y i ) ∣ x i l > v , 1 ≤ i ≤ n } IG(T, l, \vartheta ) = MLEnt(T) - \sum_{\rho \in \{-, +\} } \frac{|T^{\rho }|} {\left | T \right |} \cdot MLEnt(T^{\rho}) \\ where \ \ T^- = \{ (x^i, y^i) \ | \ x_{il} \leq v, 1 \leq i \leq n\} \\ where \ \ T^+ = \{ (x^i, y^i) \ | \ x_{il} \gt v, 1 \leq i \leq n\} IG(T,l,ϑ)=MLEnt(T)−ρ∈{−,+}∑∣T∣∣Tρ∣⋅MLEnt(Tρ)where T−={(xi,yi) ∣ xil≤v,1≤i≤n}where T+={(xi,yi) ∣ xil>v,1≤i≤n}
递归地构建一颗决策树,每次选取特征和划分值,使得上式的信息增益最大。
其中式子中的熵的公式可以按如下计算(为了方便计算,假定标签之间独立)。
M L E n t ( T ) = ∑ j = 1 q − p j l o g 2 p j − ( 1 − p j ) l o g 2 ( 1 − p j ) w h e r e p j = ∑ i = 1 n 1 { y j ∈ y i } n MLEnt(T) = \sum_{j=1}^{q} -p_j log_2p_j - (1-p_j)log_2(1-p_j) \\ where \ \ p_j= \frac {\sum_{i=1}^{n} 1\{ y_j \in y^i \}} {n} MLEnt(T)=j=1∑q−pjlog2pj−(1−pj)log2(1−pj)where pj=n∑i=1n1{yj∈yi}
使用最大间隔的思想来处理多标签数据。
Rank-SVM考虑系统对相关标签和不相关标签的排序能力。
考虑最小化 x i x^i xi 到每一个“相关-不相关”标签对的超平面的距离,来得到间隔。
min ( x i , y i ) ∈ D min ( y j , y k ) ∈ y i × y i ‾ ⟨ w j − w k , x i ⟩ + b j − b k ∥ w j − w k ∥ \min_{(x^i, y^i) \in D} \min_{(y_j, y_k) \in y^i \times \overline{y^i}} \frac{ \langle w_j-w_k,x^i \rangle +b_j-b_k}{\left \| w_j - w_k\right \|} (xi,yi)∈Dmin(yj,yk)∈yi×yimin∥wj−wk∥⟨wj−wk,xi⟩+bj−bk
像SVM一样对w和b进行缩放变换后可以对式子进行改写,然后最大化间隔,再调换分子分母进行改写,得到:
min w max 1 ≤ j < k ≤ q ∥ w j − w k ∥ 2 s u b j e c t t o :    ⟨ w j − w k , x i ⟩ + b j − b k ≥ 1 ( 1 ≤ i ≤ m , ( y i , y k ) ∈ y i × y i ‾ ) \begin{matrix} \min_{w} & \max_{1 \leq j < k \leq q} {\left \| w_j - w_k\right \|^2}\\ subject\ to: & \; \langle w_j - w_k, x^i \rangle + b_j - b_k \geq 1 \\ & (1 \leq i \leq m, \ \ (y_i,y_k) \in y^i \times \overline{y^i}) \end{matrix} minwsubject to:max1≤j<k≤q∥wj−wk∥2⟨wj−wk,xi⟩+bj−bk≥1(1≤i≤m, (yi,yk)∈yi×yi)
为了简化,用sum操作来近似max操作
min w ∑ j = 1 q ∥ w j ∥ 2 s u b j e c t t o :    ⟨ w j − w k , x i ⟩ + b j − b k ≥ 1 ( 1 ≤ i ≤ m , ( y i , y k ) ∈ y i × y i ‾ ) \begin{matrix} \min_{w} & \sum_{j=1}^q {\left \| w_j \right \|^2}\\ subject\ to: & \; \langle w_j - w_k, x^i \rangle + b_j - b_k \geq 1 \\ & (1 \leq i \leq m, \ \ (y_i,y_k) \in y^i \times \overline{y^i}) \end{matrix} minwsubject to:∑j=1q∥wj∥2⟨wj−wk,xi⟩+bj−bk≥1(1≤i≤m, (yi,yk)∈yi×yi)
跟SVM一样,为了软间隔最大化,引入松弛变量,得到下式:
min w , Ξ ∑ j = 1 q ∥ w j ∥ 2 + C ∑ i = 1 m 1 ∣ y i ∣ ∣ y i ‾ ∣ ∑ ( y i , y k ) ∈ y i × y i ‾ ) ξ i j k s u b j e c t t o :    ⟨ w j − w k , x i ⟩ + b j − b k ≥ 1 − ξ i j k ξ i j k > 0 ( 1 ≤ i ≤ m , ( y i , y k ) ∈ y i × y i ‾ ) 其 中 Ξ = { ξ i j k ∣ 1 ≤ i ≤ m , ( y i , y k ) ∈ y i × y i ‾ } \begin{matrix} \min_{w, \Xi } & \sum_{j=1}^q {\left \| w_j \right \|^2} + C \sum_{i=1}^m \frac {1}{\left | y^i \right | \left | \overline{y^i} \right | } \sum_{(y_i,y_k) \in y^i \times \overline{y^i})} \xi _{ijk} \\ subject\ to: & \; \langle w_j - w_k, x^i \rangle + b_j - b_k \geq 1 - \xi _{ijk}\\ & \xi _{ijk} > 0 \ (1 \leq i \leq m, \ \ (y_i,y_k) \in y^i \times \overline{y^i}) \end{matrix} \\ 其中\Xi = \{ \xi_{ijk} \ | \ 1 \leq i \leq m, \ (y_i,y_k) \in y^i \times \overline{y^i} \} minw,Ξsubject to:∑j=1q∥wj∥2+C∑i=1m∣yi∣∣yi∣1∑(yi,yk)∈yi×yi)ξijk⟨wj−wk,xi⟩+bj−bk≥1−ξijkξijk>0 (1≤i≤m, (yi,yk)∈yi×yi)其中Ξ={ξijk ∣ 1≤i≤m, (yi,yk)∈yi×yi}
该算法的核心思想最大熵原则。用 ( x , y ) (x,y) (x,y) 表示任意的一个多标签样本,其中 y = ( y 1 , y 2 , . . . , y q ) ∈ { − 1 , + 1 } q y = (y_1, y_2, ..., y_q) \in \{-1, +1\}^q y=(y1,y2,...,yq)∈{−1,+1}q 算法的任务等价于学习一个联合概率分布 p ( x , y ) p(x,y) p(x,y) ,用 H p ( x , y ) H_p(x,y) Hp(x,y) 表示给定概率分布 p p p 时 ( x , y ) (x,y) (x,y) 的信息熵。最大熵原则认为熵最大的模型是最好的模型。
max p H p ( x , y ) s u b j e c t t o : E p [ f k ( x , y ) ] = F k ( k ∈ K ) \begin{matrix} &\max_{p} H_p(x,y) \\ &subject \ to: E_p[f_k(x,y)] = F_k \ (k \in K) \end{matrix} maxpHp(x,y)subject to:Ep[fk(x,y)]=Fk (k∈K)
其中 f k ( x , y ) f_k(x,y) fk(x,y) 是一个特征函数,描述 x x x 和 y y y 之间的一个事实 k k k ,满足这个事实时返回1,否则返回0。约束做的是希望这个分布上,特征函数的期望能够等于一个我们希望的值 F k F_k Fk,这个值通常通过训练集来估计。解这个优化问题,会得到
p ( y ∣ x ) = 1 Z Λ ( x ) e x p ( ∑ k ∈ K λ k ⋅ f k ( x , y ) ) p(y|x) = \frac{1}{Z_{\Lambda}(x) } exp(\sum_{k \in K} \lambda_k \cdot f_k(x,y)) p(y∣x)=ZΛ(x)1exp(k∈K∑λk⋅fk(x,y))
其中 Λ = λ k ∣ k ∈ K Λ={λk|k∈K} Λ=λk∣k∈K表示一系列的权重。 Z Λ = ∑ y e x p ( ∑ k ∈ K λ k ⋅ f k ( x , y ) ) 作 为 规 范 化 因 子 。 假 设 有 一 个 高 斯 先 验 λ k ∼ N ( 0 , ε 2 ) , 就 可 以 通 过 最 大 化 以 下 这 个 l o g 后 验 概 率 来 求 得 参 数 Λ Z_{\Lambda} = \sum_y exp(\sum_{k \in K} \lambda_k \cdot f_k(x,y)) 作为规范化因子。假设有一个高斯先验\lambda_k \sim N(0, \varepsilon^2),就可以通过最大化以下这个log后验概率来求得参数\Lambda ZΛ=∑yexp(∑k∈Kλk⋅fk(x,y))作为规范化因子。假设有一个高斯先验λk∼N(0,ε2),就可以通过最大化以下这个log后验概率来求得参数Λ。
l ( Λ ∣ D ) = l o g P ( D ∣ Λ ) + l o g P ( Λ ) = l o g ∏ ( x , y ) ∈ D p ( y ∣ x ) + l o g P ( Λ ) = l o g ( ∏ ( x , y ) ∈ D p ( y ∣ x ) ) − ∑ k ∈ K λ 2 2 ε 2 \begin{matrix} l(\Lambda | D) & = log P(D|\Lambda) + log P(\Lambda) \\ & = log \prod_{(x,y) \in D} p(y|x) + log P(\Lambda) \\ & = log(\prod_{(x,y) \in D} p(y|x)) - \sum_{k \in K} \frac {\lambda^2}{2 \varepsilon^2} \\ \end{matrix} l(Λ∣D)=logP(D∣Λ)+logP(Λ)=log∏(x,y)∈Dp(y∣x)+logP(Λ)=log(∏(x,y)∈Dp(y∣x))−∑k∈K2ε2λ2