核逻辑回归(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. 铰链损失)。