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 矩阵半正定,对应的函数就是一个凸函数。

上一篇
下一篇