Logistic Regression 似然函数凸性证明

Logistic Regression,简称逻辑回归,是一种简单且有效的分类模型。对于数据集 $D = \left \{ \boldsymbol{x}_i, y_i\right \}_{i=1}^n$ 其中 $y_i\in\{0, 1\}$,我们使用函数 $y = \frac{1}{1 + e^{-\left(e^{\boldsymbol{w}^{\top} \boldsymbol{x}+b}\right)}}$ 将样本映射到类别空间中。这样的逻辑回归模型可以表示为:

$$ \begin{aligned} P(y=1|\boldsymbol{x}) &= \frac{e^{\boldsymbol{w}^{\top}\boldsymbol{x} + b}}{1+e^{\boldsymbol{w}^{\top}\boldsymbol{x} + b}} \\ P(y=0|\boldsymbol{x}) &= \frac{1}{1+e^{\boldsymbol{w}^{\top}\boldsymbol{x} + b}} \\ \end{aligned} $$

我们利用极大似然法,找到一组参数 $\boldsymbol{w}$ 最大化模型在数据集 $D$ 上的似然,即公式 $\ell(\boldsymbol{w}; b) = \sum_{i=1}^n [y_i = 1] P(y = 1 | \boldsymbol{x}) + [y_i = 1] P(y = 1 | \boldsymbol{x})$。令 $\boldsymbol{\beta} = (\boldsymbol{w}; b), \hat{\boldsymbol{x}}_i =( \boldsymbol{x}; 1)$,再经过化简等价于最小化如下负对数似然函数:

$$ \begin{aligned} \ell(\boldsymbol{\beta}) = \sum_{i=1}^n \left (-y_i\boldsymbol{\beta}^{\top}\hat{\boldsymbol{x}}_i + \ln\left( 1+ e^{\boldsymbol{\beta}^{\top}\hat{\boldsymbol{x}_i}}\right) \right) \end{aligned} $$

为了得知此函数的凸性,我们求此函数的 Hessian 矩阵:

$$ \begin{aligned} \frac{\partial \ell(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} &= \sum_{i=1}^n \left ( -y_i\hat{\boldsymbol{x}_i} + \frac{e^{\boldsymbol{\beta}^{\top}\hat{\boldsymbol{x}_i}}\hat{\boldsymbol{x}_i}}{e^{\boldsymbol{\beta}^{\top}\hat{\boldsymbol{x}_i}}+1} \right )\\ \frac{\partial^2 \ell(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}\partial \boldsymbol{\beta}^{\top}} &= \sum_{i=1}^n \hat{\boldsymbol{x}_i}\hat{\boldsymbol{x}_i}^{\top}\frac{e^{\boldsymbol{\beta}^{\top}\hat{\boldsymbol{x}_i}}}{\left (e^{\boldsymbol{\beta}^{\top}\hat{\boldsymbol{x}_i}}+1\right )^2} \\ \end{aligned} $$

我们发现 Hessian 矩阵可以写成 $ \boldsymbol{H} = \boldsymbol{X} \boldsymbol{V} \boldsymbol{X}^{\top} $ 的形式且 $\boldsymbol{V} \geq \boldsymbol{0}$,那么对于任意的列向量 $\boldsymbol{v}$,我们就有:

$$ \begin{aligned} \boldsymbol{v}^{\top} \boldsymbol{H} \boldsymbol{v} &= \boldsymbol{v}^{\top} \boldsymbol{X} \boldsymbol{V} \boldsymbol{X}^{\top} \boldsymbol{v}\\ &= \boldsymbol{A}^{\top} \boldsymbol{V} \boldsymbol{A} \\ &\geq \boldsymbol{0} \end{aligned} $$

所以 Hessian 矩阵半正定,对应的函数就是一个凸函数。