最大熵模型

逻辑斯蒂回归

逻辑斯蒂分布

  • $\mu$:位置参数
  • $\gamma$:形状参数
  • 分布函数属于逻辑斯蒂函数
  • 分布函数图像为sigmoid curve

    • 关于的$(\mu, \frac 1 2)$中心对称
    • 曲线在靠近$\mu$中心附近增长速度快,两端速度增长慢
    • 形状参数$\gamma$越小,曲线在中心附近增加越快
  • 模型优点

    • 模型输出值位于0、1之间,天然具有概率意义,方便观测 样本概率分数
    • 可以结合$l-norm$正则化解决过拟合、共线性问题
    • 实现简单,广泛用于工业问题
    • 分类时计算量比较小、速度快、消耗资源少
  • 模型缺点

    • 特征空间很大时,性能不是很好,容易欠拟合,准确率一般
    • 对非线性特征需要进行转换

Binomial Logistic Regression Model

二项逻辑斯蒂回归模型:形式为参数化逻辑斯蒂分布的二分类 生成模型

  • $w, b$:权值向量、偏置
  • $\hat x = (x^T|1)^T$
  • $\hat w = (w^T|b)^T$
  • 逻辑回归比较两个条件概率值,将实例$x$归于条件概率较大类

  • 通过逻辑回归模型,可以将线性函数$wx$转换为概率

    • 线性函数值越接近正无穷,概率值越接近1
    • 线性函数值越接近负无穷,概率值越接近0

Odds/Odds Ratio

  • 在逻辑回归模型中,输出$Y=1$的对数几率是输入x的线性函数

  • OR在逻辑回归中意义:$x_i$每增加一个单位,odds将变为原来 的$e^{w_i}$倍

    • 对数值型变量

      • 多元LR中,变量对应的系数可以计算相应 Conditional OR
      • 可以建立单变量LR,得到变量系数及相应 Marginal OR
    • 对分类型变量

      • 可以直接计算变量各取值间对应的OR
      • 变量数值化编码建立模型,得到变量对应OR
      • 根据变量编码方式不同,变量对应OR的含义不同,其中 符合数值变量变动模式的是WOE线性编码

策略

极大似然:极小对数损失(交叉熵损失)

  • $\pi(x) = P(Y=1|x)$

算法

  • 通常采用梯度下降、拟牛顿法求解有以上最优化问题

Multi-Nominal Logistic Regression Model

多项逻辑斯蒂回归:二项逻辑回归模型推广

  • 策略、算法类似二项逻辑回归模型

Generalized Linear Model

todo

Maximum Entropy Model

最大熵原理

最大熵原理:学习概率模型时,在所有可能的概率模型(分布)中, 熵最大的模型是最好的模型

  • 使用约束条件确定概率模型的集合,则最大熵原理也可以表述为 在满足约束条件的模型中选取熵最大的模型

  • 直观的,最大熵原理认为

    • 概率模型要满足已有事实(约束条件)
    • 没有更多信息的情况下,不确定部分是等可能的
    • 等可能不容易操作,所有考虑使用可优化的熵最大化 表示等可能性

最大熵模型

最大熵模型为生成模型

  • 对给定数据集$T={(x_1,y_1),\cdots,(x_N,y_N)}$,联合分布 P(X,Y)、边缘分布P(X)的经验分布如下

    • $v(X=x,Y=y)$:训练集中样本$(x,y)$出频数
  • 用如下feature function $f(x, y)$描述输入x、输出y之间 某个事实

    • 特征函数关于经验分布$\tilde P(X, Y)$的期望

    • 特征函数关于生成模型$P(Y|X)$、经验分布$\tilde P(X)$ 期望

  • 期望模型$P(Y|X)$能够获取数据中信息,则两个期望值应该相等

    此即作为模型学习的约束条件

    • 此约束是纯粹的关于$P(Y|X)$的约束,只是约束形式特殊, 需要通过期望关联熵

    • 若有其他表述形式、可以直接带入的、关于$P(Y|X)$约束, 可以直接使用

  • 满足所有约束条件的模型集合为 定义在条件概率分布$P(Y|X)$上的条件熵为 则模型集合$\mathcal{C}$中条件熵最大者即为最大是模型

策略

最大熵模型的策略为以下约束最优化问题

  • 引入拉格朗日函数

    • 原始问题为

    • 对偶问题为

    • 考虑拉格朗日函数$L(P, w)$是P的凸函数,则原始问题、 对偶问题解相同

  • 求$L(P, w)$对$P(Y|X)$偏导

    偏导置0,考虑到$\tilde P(x) > 0$,其系数必始终为0,有

  • 考虑到约束$\sum_y P(y|x) = 1$,有

    • $Z_w(x)$:规范化因子
    • $f(x, y)$:特征
    • $w_i$:特征权值
  • 原最优化问题等价于求解偶问题极大化问题$\max_w \Psi(w)$

    记其解为

    带入即可得到最优(最大熵)模型$P_{w^{*}}(Y|X)$

策略性质

  • 已知训练数据的经验概率分布为$\tilde P(X,Y)$,则条件概率 分布$P(Y|X)$的对数似然函数为

    • 这里省略了系数样本数量$N$
  • 将最大熵模型带入,可得

    对偶函数$\Psi(w)$等价于对数似然函数$L_{\tilde P}(P_w)$, 即最大熵模型中,对偶函数极大等价于模型极大似然估计

改进的迭代尺度法

  • 思想

    • 假设最大熵模型当前参数向量$w=(w_1,w_2,\cdots,w_M)^T$
    • 希望能找到新的参数向量(参数向量更新) $w+\sigma=(w_1+\sigma_1,\cdots,w_M+\sigma_M)$ 使得模型对数似然函数/对偶函数值增加
    • 不断对似然函数值进行更新,直到找到对数似然函数极大值
  • 对给定经验分布$\tilde P(x,y)$,参数向量更新至$w+\sigma$ 时,对数似然函数值变化为

    • 不等式步利用$a - 1 \geq log a, a \geq 1$

    • 最后一步利用

  • 记上式右端为$A(\sigma|w)$,则其为对数似然函数改变量的 一个下界

    • 若适当的$\sigma$能增加其值,则对数似然函数值也应该 增加
    • 函数$A(\sigma|w)$中因变量$\sigma$为向量,难以同时 优化,尝试每次只优化一个变量$\sigma_i$,固定其他变量 $\sigma_j$
  • 考虑到$f_i(x,y)$为二值函数,则$f^{**}(x,y)$表示所有特征 在$(x,y)$出现的次数,且有

  • 考虑到$\sum_{i=1}^M \frac {f_i(x,y)} {f^{**}(x,y)} = 1$, 由指数函数凸性、Jensen不等式有

  • 记上述不等式右端为$B(\sigma|w)$,则有

    其为对数似然函数改变量的一个新、相对不紧的下界

  • 求$B(\sigma|w)$对$\sigma_i$的偏导

    置偏导为0,可得

    其中仅含变量$\sigma_i$,则依次求解以上方程即可得到 $\sigma$

算法

  • 输入:特征函数$f_1, f_2, \cdots, f_M$、经验分布 $\tilde P(x)$、最大熵模型$P_w(x)$
  • 输出:最优参数值$wi^{*}$、最优模型$P{w^{*}}$
  1. 对所有$i \in {1,2,\cdots,M}$,取初值$w_i = 0$

  2. 对每个$i \in {1,2,\cdots,M}$,求解以上方程得$\sigma_i$

    • 若$f^{**}(x,y)=C$为常数,则$\sigma_i$有解析解

    • 若$f^{**}(x,y)$不是常数,则可以通过牛顿法迭代求解

      • $g(\sigma_i)$:上述方程对应函数
      • 上述方程有单根,选择适当初值则牛顿法恒收敛
  3. 更新$w_i$,$w_i \leftarrow w_i + \sigma_i$,若不是所有 $w_i$均收敛,重复2

BFGS算法

对最大熵模型

  • 为方便,目标函数改为求极小

  • 梯度为

算法

将目标函数带入BFGS算法即可

  • 输入:特征函数$f_1, f_2, \cdots, f_M$、经验分布 $\tilde P(x)$、最大熵模型$P_w(x)$
  • 输出:最优参数值$wi^{*}$、最优模型$P{w^{*}}$
  1. 取初值$w^{(0)}$、正定对称矩阵$B^{(0)}$,置k=0

  2. 计算$g^{(k)} = g(w^{(k)})$,若$|g^{(k)}| < \epsilon$, 停止计算,得到解$w^{*} = w^{(k)}$

  3. 由拟牛顿公式$B^{(k)}p^{(k)} = -g^{(k)}$求解$p^{(k)}$

  4. 一维搜索,求解

  5. 置$w^{(k+1)} = w^{(k)} + \lambda^{(k)} p_k$

  6. 计算$g^{(k+1)} = g(w^{(k+1)})$,若 $|g^{(k+1)}| < \epsilon$,停止计算,得到解 $w^{*} = w^{(k+1)}$,否则求

    • $s^{(k)} = w^{(k+1)} - w^{(k)}$
    • $y^{(k)} = g^{(k+1)} - g^{(k)}$
  7. 置k=k+1,转3

Author

UBeaRLy

Posted on

2019-08-01

Updated on

2021-07-16

Licensed under

Comments