核逻辑回归(Kernel Logistic Regression)的数学推导与优化求解过程
字数 4651 2025-12-06 23:26:09

核逻辑回归(Kernel Logistic Regression)的数学推导与优化求解过程

题目描述

核逻辑回归是一种非线性分类算法,它将核技巧(Kernel Trick)引入逻辑回归(Logistic Regression)。在标准逻辑回归中,模型本质上是线性的,决策边界是一个超平面。核逻辑回归通过核函数将原始特征空间映射到一个更高维(甚至是无限维)的特征空间,使得在原始空间中线性不可分的数据,在高维空间中可能变得线性可分,从而用线性逻辑回归模型解决非线性分类问题。本题要求详细讲解核逻辑回归的数学建模、损失函数构造、以及优化求解的整个过程。

解题过程

让我们循序渐进地理解核逻辑回归的完整推导。

1. 逻辑回归回顾

逻辑回归是一种线性分类模型,其基本形式为:

  1. 线性函数:对于一个样本特征向量 \(\mathbf{x} \in \mathbb{R}^d\),其线性加权和为:
    \(z = \mathbf{w}^T \mathbf{x} + b\)
  2. 逻辑函数(Sigmoid函数):将线性函数的结果映射到概率:
    \(P(y=1|\mathbf{x}) = \sigma(z) = \frac{1}{1 + e^{-z}}\)
  3. 损失函数(交叉熵损失):对于训练集 \(\{(\mathbf{x}_i, y_i)\}_{i=1}^N\),其中 \(y_i \in \{0, 1\}\),模型的损失函数为:
    \(L(\mathbf{w}, b) = -\frac{1}{N} \sum_{i=1}^N \left[ y_i \log P(y_i=1|\mathbf{x}_i) + (1 - y_i) \log (1 - P(y_i=1|\mathbf{x}_i)) \right]\)
  4. 优化:通过梯度下降等优化方法,最小化损失函数,学习参数 \(\mathbf{w}\)\(b\)

在标准逻辑回归中,决策边界 \(\mathbf{w}^T \mathbf{x} + b = 0\) 是一个线性超平面,因此只能处理线性可分数据。

2. 引入核技巧的思路

为了解决非线性问题,我们希望将原始特征 \(\mathbf{x}\) 映射到某个高维特征空间 \(\phi(\mathbf{x})\) 中,然后在该空间中进行线性逻辑回归。模型变为:
\(z = \mathbf{w}^T \phi(\mathbf{x}) + b\)
\(P(y=1|\mathbf{x}) = \sigma(\mathbf{w}^T \phi(\mathbf{x}) + b)\)
然而,\(\phi(\mathbf{x})\) 的维度可能非常高,甚至无限,直接计算 \(\mathbf{w}\) 不现实。核技巧的核心思想是避免显式计算 \(\phi(\mathbf{x})\),而是通过核函数 \(K(\mathbf{x}_i, \mathbf{x}_j) = \phi(\mathbf{x}_i)^T \phi(\mathbf{x}_j)\) 在高维空间中内积的等价计算。

3. 核逻辑回归的表示定理

根据表示定理(Representer Theorem),在最小化正则化损失函数时,最优的 \(\mathbf{w}\) 可以表示为所有训练样本的映射向量的线性组合:
\(\mathbf{w} = \sum_{i=1}^N \alpha_i \phi(\mathbf{x}_i)\)
其中 \(\alpha_i\) 是新的待求系数。将上述表达式代入线性模型:
\(\mathbf{w}^T \phi(\mathbf{x}) + b = \left( \sum_{j=1}^N \alpha_j \phi(\mathbf{x}_j) \right)^T \phi(\mathbf{x}) + b = \sum_{j=1}^N \alpha_j K(\mathbf{x}_j, \mathbf{x}) + b\)
因此,决策函数变为:
\(P(y=1|\mathbf{x}) = \sigma\left( \sum_{j=1}^N \alpha_j K(\mathbf{x}_j, \mathbf{x}) + b \right)\)
核函数 \(K(\mathbf{x}_i, \mathbf{x}_j)\) 常用选择有:径向基函数(RBF)核 \(K(\mathbf{x}_i, \mathbf{x}_j) = \exp\left(-\gamma \|\mathbf{x}_i - \mathbf{x}_j\|^2\right)\)、多项式核等。

4. 带正则化的损失函数

为了避免过拟合,通常加入L2正则化项,控制模型复杂度。目标函数变为:
\(J(\boldsymbol{\alpha}, b) = -\frac{1}{N} \sum_{i=1}^N \left[ y_i \log p_i + (1 - y_i) \log (1 - p_i) \right] + \frac{\lambda}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j K(\mathbf{x}_i, \mathbf{x}_j)\)
其中 \(p_i = \sigma\left( \sum_{j=1}^N \alpha_j K(\mathbf{x}_j, \mathbf{x}_i) + b \right)\)\(\boldsymbol{\alpha} = (\alpha_1, \dots, \alpha_N)^T\)\(\lambda\) 是正则化系数。
注意:正则化项 \(\frac{\lambda}{2} \|\mathbf{w}\|^2\) 利用 \(\mathbf{w} = \sum_i \alpha_i \phi(\mathbf{x}_i)\) 和核函数内积性质,化简为 \(\frac{\lambda}{2} \sum_{i,j} \alpha_i \alpha_j K(\mathbf{x}_i, \mathbf{x}_j)\)

5. 优化求解

我们需要优化 \(\boldsymbol{\alpha}\)\(b\),这是一个无约束优化问题。由于损失函数非凸,但逻辑损失是凸函数,整体目标函数是凸的,可以使用梯度下降法、牛顿法等。

梯度计算
定义 \(f_i = \sum_{j=1}^N \alpha_j K(\mathbf{x}_j, \mathbf{x}_i) + b\),则 \(p_i = \sigma(f_i)\)
计算损失函数对 \(\alpha_k\) 的偏导数:
\(\frac{\partial J}{\partial \alpha_k} = \sum_{i=1}^N \frac{\partial J}{\partial p_i} \frac{\partial p_i}{\partial f_i} \frac{\partial f_i}{\partial \alpha_k} + \lambda \sum_{j=1}^N \alpha_j K(\mathbf{x}_k, \mathbf{x}_j)\)
\(\frac{\partial J}{\partial p_i} = -\frac{1}{N} \left( \frac{y_i}{p_i} - \frac{1 - y_i}{1 - p_i} \right) = -\frac{1}{N} \cdot \frac{y_i - p_i}{p_i(1 - p_i)}\)
\(\frac{\partial p_i}{\partial f_i} = p_i(1 - p_i)\)
\(\frac{\partial f_i}{\partial \alpha_k} = K(\mathbf{x}_k, \mathbf{x}_i)\)
合并后:
\(\frac{\partial J}{\partial \alpha_k} = -\frac{1}{N} \sum_{i=1}^N (y_i - p_i) K(\mathbf{x}_k, \mathbf{x}_i) + \lambda \sum_{j=1}^N \alpha_j K(\mathbf{x}_k, \mathbf{x}_j)\)
类似地,对 \(b\) 的偏导数为:
\(\frac{\partial J}{\partial b} = -\frac{1}{N} \sum_{i=1}^N (y_i - p_i)\)

梯度下降更新
初始化 \(\boldsymbol{\alpha}\)\(b\) 为小随机数或零,迭代更新:
\(\alpha_k \leftarrow \alpha_k - \eta \left[ -\frac{1}{N} \sum_{i=1}^N (y_i - p_i) K(\mathbf{x}_k, \mathbf{x}_i) + \lambda \sum_{j=1}^N \alpha_j K(\mathbf{x}_k, \mathbf{x}_j) \right]\)
\(b \leftarrow b - \eta \left[ -\frac{1}{N} \sum_{i=1}^N (y_i - p_i) \right]\)
其中 \(\eta\) 是学习率。

牛顿法(或IRLS)
牛顿法需要计算Hessian矩阵,但对于核逻辑回归,参数数量为 \(N+1\),Hessian矩阵大小为 \((N+1) \times (N+1)\),计算和存储开销大。实践中常用拟牛顿法(如L-BFGS)或随机梯度下降。

6. 预测新样本

对于新样本 \(\mathbf{x}_{\text{new}}\),计算:
\(f_{\text{new}} = \sum_{j=1}^N \alpha_j K(\mathbf{x}_j, \mathbf{x}_{\text{new}}) + b\)
\(P(y=1|\mathbf{x}_{\text{new}}) = \sigma(f_{\text{new}})\)
若概率大于0.5,则预测为正类,否则为负类。

核心要点

  • 核逻辑回归将逻辑回归扩展为非线性模型,通过核函数隐式映射到高维空间。
  • 利用表示定理,将权重向量表示为训练样本的线性组合,从而避免直接处理高维映射。
  • 优化问题转化为求解对偶系数 \(\boldsymbol{\alpha}\) 和偏置 \(b\),可通过梯度下降等方法求解。
  • 与核SVM相比,核逻辑回归输出的是概率,且损失函数不同(交叉熵损失 vs. 铰链损失)。
核逻辑回归(Kernel Logistic Regression)的数学推导与优化求解过程 题目描述 核逻辑回归是一种非线性分类算法,它将核技巧(Kernel Trick)引入逻辑回归(Logistic Regression)。在标准逻辑回归中,模型本质上是线性的,决策边界是一个超平面。核逻辑回归通过核函数将原始特征空间映射到一个更高维(甚至是无限维)的特征空间,使得在原始空间中线性不可分的数据,在高维空间中可能变得线性可分,从而用线性逻辑回归模型解决非线性分类问题。本题要求详细讲解核逻辑回归的数学建模、损失函数构造、以及优化求解的整个过程。 解题过程 让我们循序渐进地理解核逻辑回归的完整推导。 1. 逻辑回归回顾 逻辑回归是一种线性分类模型,其基本形式为: 线性函数:对于一个样本特征向量 \( \mathbf{x} \in \mathbb{R}^d \),其线性加权和为: \( z = \mathbf{w}^T \mathbf{x} + b \)。 逻辑函数(Sigmoid函数):将线性函数的结果映射到概率: \( P(y=1|\mathbf{x}) = \sigma(z) = \frac{1}{1 + e^{-z}} \)。 损失函数(交叉熵损失):对于训练集 \( \{(\mathbf{x} i, y_ i)\} {i=1}^N \),其中 \( y_ i \in \{0, 1\} \),模型的损失函数为: \( L(\mathbf{w}, b) = -\frac{1}{N} \sum_ {i=1}^N \left[ y_ i \log P(y_ i=1|\mathbf{x}_ i) + (1 - y_ i) \log (1 - P(y_ i=1|\mathbf{x}_ i)) \right ] \)。 优化:通过梯度下降等优化方法,最小化损失函数,学习参数 \( \mathbf{w} \) 和 \( b \)。 在标准逻辑回归中,决策边界 \( \mathbf{w}^T \mathbf{x} + b = 0 \) 是一个线性超平面,因此只能处理线性可分数据。 2. 引入核技巧的思路 为了解决非线性问题,我们希望将原始特征 \( \mathbf{x} \) 映射到某个高维特征空间 \( \phi(\mathbf{x}) \) 中,然后在该空间中进行线性逻辑回归。模型变为: \( z = \mathbf{w}^T \phi(\mathbf{x}) + b \), \( P(y=1|\mathbf{x}) = \sigma(\mathbf{w}^T \phi(\mathbf{x}) + b) \)。 然而,\( \phi(\mathbf{x}) \) 的维度可能非常高,甚至无限,直接计算 \( \mathbf{w} \) 不现实。核技巧的核心思想是避免显式计算 \( \phi(\mathbf{x}) \),而是通过核函数 \( K(\mathbf{x}_ i, \mathbf{x}_ j) = \phi(\mathbf{x}_ i)^T \phi(\mathbf{x}_ j) \) 在高维空间中内积的等价计算。 3. 核逻辑回归的表示定理 根据表示定理(Representer Theorem),在最小化正则化损失函数时,最优的 \( \mathbf{w} \) 可以表示为所有训练样本的映射向量的线性组合: \( \mathbf{w} = \sum_ {i=1}^N \alpha_ i \phi(\mathbf{x} i) \), 其中 \( \alpha_ i \) 是新的待求系数。将上述表达式代入线性模型: \( \mathbf{w}^T \phi(\mathbf{x}) + b = \left( \sum {j=1}^N \alpha_ j \phi(\mathbf{x} j) \right)^T \phi(\mathbf{x}) + b = \sum {j=1}^N \alpha_ j K(\mathbf{x} j, \mathbf{x}) + b \)。 因此,决策函数变为: \( P(y=1|\mathbf{x}) = \sigma\left( \sum {j=1}^N \alpha_ j K(\mathbf{x}_ j, \mathbf{x}) + b \right) \)。 核函数 \( K(\mathbf{x}_ i, \mathbf{x}_ j) \) 常用选择有:径向基函数(RBF)核 \( K(\mathbf{x}_ i, \mathbf{x}_ j) = \exp\left(-\gamma \|\mathbf{x}_ i - \mathbf{x}_ j\|^2\right) \)、多项式核等。 4. 带正则化的损失函数 为了避免过拟合,通常加入L2正则化项,控制模型复杂度。目标函数变为: \( J(\boldsymbol{\alpha}, b) = -\frac{1}{N} \sum_ {i=1}^N \left[ y_ i \log p_ i + (1 - y_ i) \log (1 - p_ i) \right] + \frac{\lambda}{2} \sum_ {i=1}^N \sum_ {j=1}^N \alpha_ i \alpha_ j K(\mathbf{x}_ i, \mathbf{x} j) \), 其中 \( p_ i = \sigma\left( \sum {j=1}^N \alpha_ j K(\mathbf{x}_ j, \mathbf{x}_ i) + b \right) \),\( \boldsymbol{\alpha} = (\alpha_ 1, \dots, \alpha_ N)^T \),\( \lambda \) 是正则化系数。 注意:正则化项 \( \frac{\lambda}{2} \|\mathbf{w}\|^2 \) 利用 \( \mathbf{w} = \sum_ i \alpha_ i \phi(\mathbf{x} i) \) 和核函数内积性质,化简为 \( \frac{\lambda}{2} \sum {i,j} \alpha_ i \alpha_ j K(\mathbf{x}_ i, \mathbf{x}_ j) \)。 5. 优化求解 我们需要优化 \( \boldsymbol{\alpha} \) 和 \( b \),这是一个无约束优化问题。由于损失函数非凸,但逻辑损失是凸函数,整体目标函数是凸的,可以使用梯度下降法、牛顿法等。 梯度计算 : 定义 \( f_ i = \sum_ {j=1}^N \alpha_ j K(\mathbf{x} j, \mathbf{x} i) + b \),则 \( p_ i = \sigma(f_ i) \)。 计算损失函数对 \( \alpha_ k \) 的偏导数: \( \frac{\partial J}{\partial \alpha_ k} = \sum {i=1}^N \frac{\partial J}{\partial p_ i} \frac{\partial p_ i}{\partial f_ i} \frac{\partial f_ i}{\partial \alpha_ k} + \lambda \sum {j=1}^N \alpha_ j K(\mathbf{x}_ k, \mathbf{x}_ j) \), \( \frac{\partial J}{\partial p_ i} = -\frac{1}{N} \left( \frac{y_ i}{p_ i} - \frac{1 - y_ i}{1 - p_ i} \right) = -\frac{1}{N} \cdot \frac{y_ i - p_ i}{p_ i(1 - p_ i)} \), \( \frac{\partial p_ i}{\partial f_ i} = p_ i(1 - p_ i) \), \( \frac{\partial f_ i}{\partial \alpha_ k} = K(\mathbf{x}_ k, \mathbf{x} i) \)。 合并后: \( \frac{\partial J}{\partial \alpha_ k} = -\frac{1}{N} \sum {i=1}^N (y_ i - p_ i) K(\mathbf{x}_ k, \mathbf{x} i) + \lambda \sum {j=1}^N \alpha_ j K(\mathbf{x}_ k, \mathbf{x} j) \)。 类似地,对 \( b \) 的偏导数为: \( \frac{\partial J}{\partial b} = -\frac{1}{N} \sum {i=1}^N (y_ i - p_ i) \)。 梯度下降更新 : 初始化 \( \boldsymbol{\alpha} \) 和 \( b \) 为小随机数或零,迭代更新: \( \alpha_ k \leftarrow \alpha_ k - \eta \left[ -\frac{1}{N} \sum_ {i=1}^N (y_ i - p_ i) K(\mathbf{x}_ k, \mathbf{x} i) + \lambda \sum {j=1}^N \alpha_ j K(\mathbf{x}_ k, \mathbf{x} j) \right ] \), \( b \leftarrow b - \eta \left[ -\frac{1}{N} \sum {i=1}^N (y_ i - p_ i) \right ] \), 其中 \( \eta \) 是学习率。 牛顿法(或IRLS) : 牛顿法需要计算Hessian矩阵,但对于核逻辑回归,参数数量为 \( N+1 \),Hessian矩阵大小为 \( (N+1) \times (N+1) \),计算和存储开销大。实践中常用拟牛顿法(如L-BFGS)或随机梯度下降。 6. 预测新样本 对于新样本 \( \mathbf{x} {\text{new}} \),计算: \( f {\text{new}} = \sum_ {j=1}^N \alpha_ j K(\mathbf{x} j, \mathbf{x} {\text{new}}) + b \), \( P(y=1|\mathbf{x} {\text{new}}) = \sigma(f {\text{new}}) \)。 若概率大于0.5,则预测为正类,否则为负类。 核心要点 核逻辑回归将逻辑回归扩展为非线性模型,通过核函数隐式映射到高维空间。 利用表示定理,将权重向量表示为训练样本的线性组合,从而避免直接处理高维映射。 优化问题转化为求解对偶系数 \( \boldsymbol{\alpha} \) 和偏置 \( b \),可通过梯度下降等方法求解。 与核SVM相比,核逻辑回归输出的是概率,且损失函数不同(交叉熵损失 vs. 铰链损失)。