6.2 最大熵模型
目录
-
- 6.2 最大熵模型
-
- 6.2.1 最大熵原理
- 6.2.2 定义最大熵模型
-
- 拉格朗日的对偶性
- 6.2.3 最大熵模型的学习问题
- 6.2.似乎估计了最大熵模型的最大熵模型
- 6.3 模型学习优化算法
-
- 最快梯度下降法
- 6.3.1 改进迭代尺度法( Improved Iterative Scaling Algorithm)简称IIS算法
- 牛顿法
- 6.3.2 拟牛顿法
-
- 牛顿法的合理性
- DFP算法
- BFGS算法
- Broyden算法:
最大熵模型是指信息最多的条件概率分布; 问:为什么要求条件概率分布? 答: 最大熵模型实际上是一种判断方法,即获得条件概率分布; 最大熵模型,计算熵最大条件概率分布,根据条件概率分布对输入x进行分类; 获得最大熵模型的是中的模型; 由于模型数量相关,模型计算量大,难以实际应用,影响模型的拟合和预测能力;
6.2.1 最大熵原理
熵计算式: 随机变量为离散用求和,随机变量为连续积分;
熵表示随机变量的不确定性和复杂性; 最大熵模型是指包含最多信息的最大熵模型;
如何找到熵最大对应的熵?? 取熵最大时的概率;
对H(P)求导,让一阶导0; 此时函数取最大值,计算概率p,这个p对应的熵是最大熵;
若有限制(),就使用,引进拉格朗日乘子; 偏导为0得一式,与约束条件相连p; 将p带入H(p),得;
//默认计算熵()对数取最后,单位为比特(bit);
//默认计算熵()对数取最后,单位为比特(nat);
例如:正态分布是附加三个约束条件(常规、平均值、方差)的最大熵原理;
6.2.2 定义最大熵模型
C是满足所有约束条件的集合; 前P是指满足约束条件的概率; 后P代表所有概率分布; f(i): {f(x,y)} x和y满足事实为1,否者为0; 预期: 使经验分布等同于理论分布,即经验分布的期望等同于理论分布的期望;
条件熵概念:
条件 | 对应不同条件的类别 |
---|---|
输入变量x | 输出变量y |
条件熵公式推导:
最大熵模型得应用: 对于输入x,我们将选择概率高的类别作为输出变量 问:如果概率最大得类有两个及以上? 答:,导入正则项将转化为,再次估量;
拉格朗日的对偶性
方法的: 不等式原始问题将有约束的优化-> 用将原始问题转化为无约束等式-> 对偶问题;
加拉格朗日乘子,转化为无约束的原始问题
易得: 当满足KKT条件等号成立: 仿射函数的定义 多项式函数最高次数为:y=Ax b(一般形式)
6.2.3 最大熵模型的学习问题
1.学习最大熵模型的想法 已知信息:训练数据集,特征函数(约束); 学习目的:利用最大熵模型找到的,通过已知x找到y类; 实现方法: 添加负号将最大熵转化为最小值; 根据概率分布的概率和为一,以及特征函数确定两个约束条件; 这样就转化为求解; 应用得到以下内容n 1维参数公式: 易证,f(x)是上凸函数。两种约束的简化是仿射函数; 现在我们可以用解决其; 首先,最大熵函数的偏差导致极小值,此时固定p; 1 2.
3 1.2.3联立 获取关于参数w的函数w*使函数获得最大值;
用w *要求条件概率分布;
6.2.似乎估计了最大熵模型的最大熵模型
: 简单来说就是找出结果的最可能条件;
最大熵模型应用只是为了找到最大的可能性;
计算:对数似然函数(已删除数据集样本总数N)等于对偶函数; ///样本点默认独立 从此问题转移到求w;
6.3 模型学习优化算法
最快梯度下降法
它是通过一阶泰勒展开的;
最大熵模型的最快梯度下降法
6.3.1 改进迭代尺度法( Improved Iterative Scaling Algorithm)简称IIS算法
找到一个δ,使得w δ似乎函数值大于上一轮: 引入下式(去对数) 得: 展开规划因素: 分子分为两项: 第一项除以分母得 联立得:已知参数ω,关于δ的函数; 找对的δ使函数大于0,即可迭代到下一个值;
求A(δ|ω)的最小值: 若直接对函数A(δ|ω)求偏导等于0,第三项指数部分任存在δin项累乘不易单独求δi的值; 引入函数f#(x,y),值为(x,y)符合特征的数量:
f#(x,y)函数性质:
导入(原函数为下凸,指数函数为下凸函数) 得: 也就是这两个步骤,指数部分n个δi移除,然后对δi求偏导,只剩下唯一的δi;
带入A(δ|ω)的式子得:
右端为下:
得: B(δ|ω)是对数似乎函数变量相对不紧的下一届: 求偏导:
偏导为0,得: 对每一δi求解上方方程即可解δ;
(3)重复上述步骤,更新参数直至收敛; (4)将得到ω*带入Pω(y|x)获得最优条件概率分布模型
牛顿法
牛顿法就是因为牛顿改进了方程求根,而得名; 牛顿法的:求解极值;(简单来说就是高中的二导求极值;) :函数f(x)在x0点邻域D,且在x0处; :,对于任意x属于D,如果f(x0)是极值,那么其导数为0; 自此求极值问题转化为求解导函数0点问题; //θ放置在一阶导函数图像里更易理解:新的θ为原θ-一阶导函数f(θ)‘值除以二阶导f(θ)’‘;令g(θ)等于一阶导函数f(θ)’,那么,新的θ为原θ-函数g(x)值除以一阶导g(θ)',即函数值除以斜率k,得θ距离,新θ即等于原θ-该θ距离;
扩展到n维就是求: 梯度(一阶导数)直接求偏导; 二阶导数求偏导得矩阵:
6.3.2 拟牛顿法
:多项中存在某项为二次项的多项式;
由于牛顿法中的海森矩阵涉及大量二次偏导,计算量大,所有我们想找一个式子代替海森矩阵; 的实质是对目标函数f(x)进行二阶泰勒展开; 对x求导: 向量的平方求导: (由于海森矩阵是对称矩阵,逆与原矩阵相同,值应为2Ax;)
令 得出替代Gk的满足条件;
拟牛顿法的合理性
应用梯度下降法原理,但还需要一个最优步长; 如下计算得出; 对目标函数f(x)进行一阶泰勒展开(验证其满足梯度下降的合理性)
带入搜素公式,牛顿方向, 得: 假设海森矩阵是正定的,那么它的逆是正定,则其二次型大于0,第二项小于0,上式成立; 证明:初值H(k)是正定的对称矩阵;
DFP算法
求海森矩阵的逆的替代品Gk; 令 由于海森矩阵是正定且对称的,所有,Gk,Qk,Pk都是对称的 令: 为求Pk构造函数满足条件; 该函数分子为矩阵,分母为数,相除得矩阵; 同理,构造Qk; 最终得迭代式:
BFGS算法
BFGS过程推导同理;不过是由条件二 推导而出:
Broyden算法:
令 这个Gk记作Gk(BFGS) BFP算法的GK记作Gk(DFP) 两者线性组合得出一类拟牛顿算法,称为Broyden类 算法
笔记内容参阅于简博士机器学习系列课程