Solution (source code)

= Solution

Write
$$
L(\beta)=\frac1n\sum_{i=1}^n\left[-y_ix_i^T\beta+\log(1+e^{y_ix_i^T\beta})\right].
$$
Its score is
$$
\nabla_jL(\beta)=-\frac1n\sum_{i=1}^n\frac{y_ix_{ij}}{1+e^{y_ix_i^T\beta}}.
$$
The <Karush-Kuhn-Tucker conditions> for <L1-penalized logistic regression> are therefore
$$
-\frac1n\sum_{i=1}^n\frac{y_ix_{ij}}{1+e^{y_ix_i^T\widehat\beta}}+\lambda z_j=0,
\qquad
z_j\in\begin{cases}
\{\operatorname{sgn}(\widehat\beta_j)\},&\widehat\beta_j\ne0,\\
[-1,1],&\widehat\beta_j=0.
\end{cases}
$$