1. 根据最大熵的学习过程学习最大熵模型

最大熵的学习过程是一种数学计算方法
最大熵模型是一种机器学习模型
虽然都带有“最大熵”这三个字,但不是一回事

  1. 根据最大熵模型的定义列出最大熵模型的求最大熵公式和限制条件:
    最大熵公式:
    H(P)=x,yP~(x)P(yx)logP(yx)maxH(P) \begin{aligned} H(P) = -\sum_{x,y} \tilde P(x) P(y|x)\log P(y|x) \\ \max H(P) \end{aligned} 限制条件:
    EP(fi)=Ep~(fi)y=0KP(yx)=1 \begin{aligned} E_P(f_i) = E_{\tilde p}(f_i) \\ \sum_{y=0}^KP(y|x) = 1 \end{aligned}

  2. 将求最大值问题改写成求最小值问题。将condition换一种写法。
    minH(P)f0:1y=0KP(yx)=0f1:EP(f0)Ep~(f0)=0f1+n:EP(fn)Ep~(fn)=0 \begin{aligned} \min -H(P) \\ f_0: 1 - \sum_{y=0}^KP(y|x) = 0 \\ f_1: E_P(f_0) - E_{\tilde p}(f_0) = 0 \\ \cdots \\ f_{1+n}: E_P(f_n) - E_{\tilde p}(f_n) = 0 \end{aligned}

  3. 根据约束条件定义拉格朗日函数
    L(P,w)=H(P)+w0(1y=0KP(yx))+i=0nwi+1fi(EP(fi)Ep~(fi)) L(P, w) = -H(P) + w_0(1 - \sum_{y=0}^KP(y|x)) + \sum_{i=0}^nw_{i+1}f_i(E_P(f_i) - E_{\tilde p}(f_i))
  4. L(P, w)对每个P(ykx)P(y_k|x)求偏导,并这些偏导= 0
    L(P,w)(ykx)=x,yP~(x)(logP(yx)+1w0i=0n)wi+1fi(x,y)=0 \frac{\partial L(P, w)}{\partial (y_k|x)} = \sum_{x, y}\tilde P(x)(\log P(y|x)+1-w_0-\sum_{i=0}^n)w_{i+1}f_i(x, y) = 0
  5. 根据第4步得到K个等式。通过这K个等式,解出P(y1),,P(yK)P(y_1), \cdots, P(y_K),这些值都是用w表达的式子
    P(yx)=exp(i=0n)wi+1fi(x,y)exp(1w+0) P(y|x) = \frac{exp(\sum_{i=0}^n)w_{i+1}f_i(x, y)}{exp(1-w+0)} 对每个P(y|x)来说公式是一样的。
  6. 代入P(y1),,P(yK)P(y_1), \cdots, P(y_K)到第3步中的L(P,w)L(P, w),将得到新的L(P,w)L(P, w)
    Ψ(x)=\Psi(x) = 新的L(P,w)L(P, w)
    这里的Ψ(x)\Psi(x)就叫对偶函数,同时其解记作
    Pw=argminPCL(P,w)=Pw(yx) P_w = \arg \min_{P \in C} L(P, w) = P_w(y|x) 现在要极大化对偶函数Ψ(x)\Psi(x)。按照上一节的“最大熵学习过程”,将Ψ(x)\Psi(x)对所有w分别求并令导入为0,即可解出w,进而代入第5步专求出最终结果。
    但在求最大熵模型的对偶函数的极大化时,并没有使用这种方法的,而是使用了目标函数最优化问题中的方法来求w

results matching ""

    No results matching ""