统计学习方法7.2-7.3笔记—22.7.30


7.3.4 最大熵模型的学习(书上P98)

学习有三件事:

  • 1.哪些是已/未知的信息;
  • 2.目的是什么;
  • 3.如何实现目的?

  • 1.已知信息:

要从T的N个样本中训练出概率分布模型,并且要满足n个特征函数(约束);

  • 2.目的:用上面训练所得的概率分布函数就可以通过x得到y的类了;

  • 3.如何实现目的:具体说就是怎么来实现这个概率分布函数的训练,就是用最大熵,进而转为了约束最优化问题:


    与之前学习的最大熵模型比较:

目标函数:第一个求的是最小值,而第二个求的是最大值(不过加个负号就变最小值了);
约束条件:第一个的约束条件既可以是等式也可以是不等式,而第二个的约束条件只能是等式

然后就变成了求解有约束的最小化问题:


转为拉格朗日乘子法来进行求解

什么情况下原始问题和对偶问题是相同解:kkt条件?

仿射函数就是最高次数为1的函数,x为条件概率分布(一次项)
统计学的凹凸函数:


这里和高数学的不一样,要注意

“严格”是指上面的那个不等式没有等号存在

所带来的结果:


P,Q为两个不同的概率分布

把上面的式子展开后并进行变号可以得到:


p,q互换位置对于这个函数没有影响——>只用关注其中一个即可,也就是



根据图像:

可以得到不等式:

但是前面说了P,Q不同,所以关于0的等号不可能成立;
又由于λ1,2都是大于等于0的,所以原来<0的不等式成立。

这样一来,f(x)就是一个严格的凸函数,那么就可以通过对偶问题解决原始问题了。


7.3.5 如何利用对偶问题解决原始问题

  • 解决步骤:

先化为对偶问题,然后通过偏导数求其内部极小化,进而得到了概率密度函数ψ(w),对于n+1个w,他们都跟着一个条件概率分布记为Pw

从拉格朗日函数出发:


对于这里的P^(x)是可以通过经验分布得到的,然后对后面的式子求偏导,

得到了下面的公式:



一共有三部分(三块),他们的偏导数分别为:



那么最后就是让①+②+③=0就可以求得解了,也就是下面的公式:

为了计算方便,最好每一项都能有个P^(x)的求和,不过对于其单独求和(就像这里的第二项)都等于1,所以只用前面乘个1就可以了,那么第三项就变成了:


简化后变成了:


这样就可以求得条件概率表达式了:


进而整理可得:


红字是说还有个概率求和=1的约束条件还没用,所以用起来进而让分母用特征函数和N个拉格朗日乘子表示出来:


这个式子里边有对y求和,所以y就没了,只剩下x了
称Zw(x)为规范化因子

规范化因子来表示所得解:

完整流程:


拉格朗日乘子的解在不同问题下有着不同的解法,将倒数第二步的w带回刚得到的条件概率中就完成了解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容