我看到很多实现使用GIS或IIS来训练最大熵模型。我们可以使用梯度下降法吗?如果我们可以使用它,为什么大多数教程直接告诉GIS或IIS方法,但是没有显示简单的梯度desent方法来训练最大熵模型?我们知道,softmax回归相当于maxent模型,但我从未在softmax中听过GIS或IIS。为什么?是否有玩具代码使用简单的梯度反向方法训练maxent模型?我认为实现玩具代码很容易,推导只是计算经验期望和模型期望。
答案 0 :(得分:1)
"最大熵模型"是一个定义不明确的术语,可以描述几十种最大化熵的方法。但是,如果您参考最着名的" MaxEnt"然后只是逻辑回归,可以通过渐变下降来解决 。此外,经典的前馈网络在最后一层使用逻辑回归成本(因此最大熵成本),并且它们也用SGD解决。
更一般地回答 - 任何具有参数成本可区分的模型都可以使用GD学习。例如,可以使用GD学习SVM(尽管通常不是因为我们有更有效的方法来利用SVM的某些特定功能)。
再一次"可以解决"并不意味着"应该是",因为GD是非常通用的工具,它不利用问题特征(例如曲率等)。迭代缩放方法更适合MaxEnt的特定优化问题,因为我们对MaxEnt成本的了解更多,它是可区分的并且具有单一解决方案。
请参阅Berkley lecture了解许多详细信息,并逐步介绍许多可能的方法。