最大熵模型求解:训练和学习

http://blog.csdn.net/pipisorry/article/details/52791036

最大熵模型的训练和学习

最大熵模型求解的思路和步骤


最大熵模型学习的具体推导

Note: 通过交换极大极小位置,即得其对偶问题。

求解内部极小化问题:lagrange乘子法

右边更详细的解释


从式6.22中可以看出,通过式6.22可以进行最大熵分类(x为文本d, y为类别c),只需要求解出wi参数(如下)和定义好所有n个特征f。

求解外层极大值问题:最大似然估计

{这里要求解对偶问题外部的极大化,求解出w代入6.22式中作为特征的权重,不过这里只是给出了对偶问题外部极大化问题关于w的表示,在下节将给出w的具体求解方法。}

对偶函数的极大化和最大熵模型的极大似然估计的等价性

{这里要说明的问题是,如果我们定义一个特定的函数,求解这个似然函数的极大值和求解对偶函数的极大化问题的公式是一样的。也就是

}


至此,我们得到了这个对偶问题外部极大问题关于w的表达式了。

皮皮blog



最大熵模型学习的示例


皮皮blog



最大熵模型的学习方法

上面一节中,我们已经得到了对偶问题外部极大值问题关于w的表达式了,要求解这个表达式需要使用数值方法求解其极大值。

GIS通用迭代尺度法


IIS改进的迭代尺度法

[10 Adam Berger. The Improved Iterative Scaling Algorithm: A Gentle Introduction. 1997.]

梯度下降法


皮皮blog

from: http://blog.csdn.net/pipisorry/article/details/52791036

ref: [李航 统计学习方法]

[数学之美 吴军]

[52nlp MIT自然语言处理第五讲:最大熵和对数线性模型(第一部分)]

[北大常宝宝 《自然语言处理的最大熵模型》]


转载于:https://my.oschina.net/u/3579120/blog/1508544

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最大熵模型是一种基于概率模型的分类方法,它通过最大化熵来学习模型参数。DFP算法(Davidon-Fletcher-Powell algorithm)是一种用于非线性优化的算法,可以用于最大熵模型学习。 DFP算法的核心思想是利用当前点处的函数值和梯度信息来构造一个二次模型,然后求解该模型的极小值点,更新当前点,并继续迭代。具体来说,DFP算法的步骤如下: 1. 初始化参数向量 $\theta_0$,计算其对应的函数值和梯度。 2. 利用函数值和梯度信息构造一个近似的Hessian矩阵 $H_k$。 3. 求解 $H_k p_k = -g_k$,其中 $p_k$ 是搜索方向,$g_k$ 是当前点处的梯度。 4. 计算步长 $\alpha_k$,使得 $f(\theta_k + \alpha_k p_k)$ 最小。 5. 更新参数向量 $\theta_{k+1} = \theta_k + \alpha_k p_k$,计算其对应的函数值和梯度。 6. 判断是否满足终止条件,若满足则停止迭代,否则返回第二步。 在最大熵模型中,我们需要求解的是一个带约束条件的最优化问题,可以采用拉格朗日乘子法将其转化为无约束条件的问题。然后,我们可以利用DFP算法求解无约束条件下的最优化问题,得到最大熵模型的参数向量。 需要注意的是,DFP算法的收敛性并不能得到保证,因此在实际应用中需要进行一些技巧性的处理,如设置合适的步长、更新Hessian矩阵等。同时,还可以采用其他的非线性优化算法来求解最大熵模型,如L-BFGS算法、牛顿法等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值