统计学习方法第六章:逻辑斯谛回归与最大熵模型


6.1 逻辑斯谛回归模型

6.1.1 逻辑斯谛分布

  • 定义:逻辑斯谛分布是一种连续概率分布,其累积分布函数为:
    F(x) = P(X \leq x) = \frac{1}{1 + e^{-(x-\mu)/\gamma}}
    其中,(\mu)为位置参数,(\gamma > 0) 为形状参数。
  • 概率密度函数   f(x) = F'(x) = \frac{e^{-(x-\mu)/\gamma}}{\gamma (1 + e^{-(x-\mu)/\gamma})^2}
  • 特性
    • 对称性:分布关于 (\mu) 对称。
    • S形曲线:累积分布函数呈S形(sigmoid函数)。
    • 常用于二分类问题建模。

6.1.2 二项逻辑斯谛回归模型

  • 定义
    • 逻辑斯谛回归模型用于二分类问题,假设给定输入 (x),输出 (y=1) 的条件概率为:
      P(Y=1|x) = \frac{1}{1 + e^{-(w \cdot x + b)}}
      其中,(w) 为权重向量,(b) 为偏置。
    • 输出 (y=0) 的条件概率为:P(Y=0|x) = 1 - P(Y=1|x) = \frac{e^{-(w \cdot x + b)}}{1 + e^{-(w \cdot x + b)}}
       
  • 对数几率
    • 对数几率定义为:

      \text{logit}(p) = \ln \frac{P(Y=1|x)}{P(Y=0|x)} = w \cdot x + b
       
    • 逻辑斯谛回归将对数几率变为线性函数。
  • 模型形式
    • 逻辑斯谛回归本质是将输入特征的线性组合通过sigmoid函数映射到 ([0,1]) 区间,表示概率。

6.1.3 模型参数估计

  • 最大似然估计
    • 给定训练数据集 ({(x_i, y_i)}{i=1}^N),逻辑斯谛回归的目标是最大化对数似然函数:

      l(w, b) = \sum{i=1}^N \left[ y_i \ln P(Y=1|x_i) + (1-y_i) \ln P(Y=0|x_i) \right]
       
    • 等价于最小化负对数似然(损失函数):

      L(w, b) = -\sum_{i=1}^N \left[ y_i (w \cdot x_i + b) - \ln (1 + e^{w \cdot x_i + b}) \right]
       
  • 优化方法
    • 梯度下降法:通过迭代更新 (w) 和 (b) 最小化损失函数。
    • 牛顿法/拟牛顿法:利用二阶导数(Hessian矩阵)加速收敛。

6.1.4 多项逻辑斯谛回归

  • 定义
    • 用于多分类问题,假设有 (K) 个类别,类别 (k) 的条件概率为:
       
    P(Y=k|x) = \frac{e^{w_k \cdot x + b_k}}{\sum_{j=1}^K e^{w_j \cdot x + b_j}}, \quad k=1,2,\dots,K
  • 参数估计
    • 类似二项逻辑斯谛回归,使用最大似然估计。
    • 损失函数为交叉熵损失,优化方法包括梯度下降或牛顿法。
  • 应用
    • 多项逻辑斯谛回归常用于多类分类任务,如手写数字识别。

6.2 最大熵模型

6.2.1 最大熵原理

  • 定义
    • 最大熵原理是指在满足已知约束条件下,选择熵最大(就是最稳定的模型,分到每一类的概率大致相等)的概率分布作为模型。
    • 熵定义为:

      H(P) = -\sum_{x,y} P(x,y) \ln P(x,y)
  • 约束条件
    • 通常以特征函数(f_i(x, y))的期望约束表示:

      E_P(f_i) = E_{\hat{P}}(f_i), \quad i=1,2,\dots,n

      其中,(E_P(f_i))是模型期望,(E_{\hat{P}}(f_i)) 是经验期望。
  • 意义:是模型更加“公正”,在没有特征的情况下,是模型分类时,分到每一类的概率都大致相等

6.2.2 最大熵模型定义

  • 模型形式
    • 最大熵模型的条件概率分布为:

      P_w(y|x) = \frac{1}{Z(x)} \exp \left( \sum_{i=1}^n w_i f_i(x, y) \right)

      其中:
      • (f_i(x, y))为特征函数,表示输入 (x) 和输出 (y) 的某种关系。
      • (w_i)为特征函数的权重。
      • (Z(x) = \sum_y \exp \left( \sum_{i=1}^n w_i f_i(x, y) \right))为规范化因子,确保概率和为 1。
  • 特征函数
    • 通常是二值函数(例如 是或否 两个值的函数)。
  • 与逻辑斯谛回归的关系
    • 二项逻辑斯谛回归是最大熵模型的特例,当特征函数为输入特征(w \cdot x + b)时,两种模型等价。

6.2.3 模型学习

  • 目标
    • 最大熵模型的学习目标是最大化对数似然函数:

      L(w) = \sum_{x,y} \tilde{P}(x,y) \ln P_w(y|x)

      其中,(\tilde{P}(x,y))为经验分布。
  • 优化问题
    • 等价于在约束条件下最大化熵:

      \max H(P) = -\sum_{x,y} P(x)P(y|x) \ln P(y|x)

      约束:

      \sum_{y} P(y|x) f_i(x,y) = \sum_{x,y} \tilde{P}(x,y) f_i(x,y), \quad \sum_{y} P(y|x) = 1
       
  • 优化方法
    • 改进的迭代尺度法(IIS)
      • 迭代更新权重 (w_i),使模型满足约束条件。
      • 每次迭代求解非线性方程,更新公式为:

        w_i \leftarrow w_i + \frac{1}{C} \ln \frac{E_{\hat{P}}(f_i)}{E_P(f_i)}

        其中,(C) 为常数。
    • 广义迭代尺度法(GIS)
      • IIS的简化版本,假设特征函数和为常数,更新更高效。
    • 拟牛顿法
      • 利用梯度和Hessian矩阵,直接优化对数似然函数。
  • 特点
    • 最大熵模型是凸优化问题,保证全局最优。
    • 计算复杂度较高,需高效算法支持。

6.3 模型之间的关系

  • 逻辑斯谛回归与最大熵模型的等价性
    • 当最大熵模型的特征函数定义为输入特征 (x) 和类别 (y) 的乘积时,其形式与逻辑斯谛回归一致。
    • 两者的目标函数(对数似然)等价,优化方法也类似。
  • 区别
    • 逻辑斯谛回归专注于二分类或多分类,特征函数固定为输入特征。
    • 最大熵模型更通用,特征函数可灵活定义,适用于更广泛的任务(如自然语言处理中的标注任务)。

6.4 算法总结

  • 逻辑斯谛回归算法
    1. 输入:训练数据集 ({(x_i, y_i)}_{i=1}^N),学习率(\eta)
    2. 初始化:权重 (w) 和偏置 (b)。
    3. 迭代:
      • 计算梯度:
        [ \nabla_w L = \sum_{i=1}^N \left( P(Y=1|x_i) - y_i \right) x_i ][ \nabla_b L = \sum_{i=1}^N \left( P(Y=1|x_i) - y_i \right) ]
      • 更新参数:
        w \leftarrow w - \eta \nabla_w L, \quad b \leftarrow b - \eta \nabla_b L
    4. 输出:模型参数 (w, b)。
  • 最大熵模型算法(IIS)
    1. 输入:训练数据集,特征函数集合 ({f_i})
    2. 初始化:权重 (w_i = 0)。
    3. 迭代:
      • 计算模型期望 (E_P(f_i))
      • 更新权重:

        w_i \leftarrow w_i + \frac{1}{C} \ln \frac{E_{\hat{P}}(f_i)}{E_P(f_i)} ]
    4. 输出:模型参数 (w)。

6.5 优缺点

  • 逻辑斯谛回归
    • 优点
      • 简单高效,适合线性可分数据。
      • 输出具有概率意义,易于解释。
      • 凸优化问题,保证全局最优。
    • 缺点
      • 仅能处理线性关系,需特征工程处理非线性问题。
      • 对异常值敏感。
  • 最大熵模型
    • 优点
      • 灵活性强,可自定义特征函数。
      • 理论上能建模任意复杂的条件概率分布。
      • 适合NLP等复杂任务。
    • 缺点
      • 计算复杂度高,训练时间长。
      • 特征选择和设计需经验,影响性能。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐