Logistic Regression 的推导以及与 logit loss 之间的关系
最初是一个线性分类器 \(f(x) = w^Tx+b\), 设类别为 \(y\in\{+1, -1\}\) ,规定当 \(f(x)>0\) 预测为 \(y=+1\);当 \(f(x)<0\), 预测为 \(y=-1\)。
引入 sigmoid 函数 \(\sigma(z) = \frac{1}{1+\exp(-z)}\) 将\(f(x)\) 的输出从 \([-\infty, +\infty]\) 变到 \([0,1]\) 区间,并使之有概率解释:
注意到,sigmoid 函数有一个非常好的性质: \(1 - \sigma(z) = \sigma(-z)\),于是有:
然后采用极大似然法,对于给定数据集 \(\{(x_i,y_i)\}_{i=1}^n\),最大化在此数据集上的似然函数:
取\(\log\), 然后公式简单变形,等价于采用 log loss,优化负对数似然 loss:
然而推导得到:
于是对于 \(y\in\{+1,-1\}\), 可以定义 logit loss:
如果把 \(y\cdot f(x)\) 视为 margin,则 logit loss function 可以定义为:
巧妙之处在于:
- \(\ell_{logit}(z)\) 这一 loss 的简单形式,恰好对应到 Logistic Regression 这个分类器。于是研究这一 loss function 的一些性质,例如相容性,凸性等,就相当于是在研究 logistic regression 这一算法。
- [5] 中提及 \(\ell_{logit}(z)\) 相当于 cross-entropy loss 在二分类情形下的版本
PS:西瓜书,李航老师的《统计学习方法》,《Understanding Machine Learning》 都有提到过 logit loss function。
注意到当假定 \(y\in\{0,1\}\)(例如:西瓜书就是采用 \(y\in\{0,1\})\), 无法得到上面简洁的 logit loss function。
假定 \(y\in\{0,1\}\), 可以接着式子
进行推导,也能得到一些结果,得到简化后的 loss function 形式,参见西瓜书 和 《Understanding Machine Learning》。
Reference:
[1] ICML-16 Revisiting Semi-Supervised Learning with Graph Embeddings
[2] CVPR-19 Class-Balanced Loss Based on Effective Number of Samples
[3] JASA-06 Convexity, classification, and risk bounds
[4] 另一篇 Paper 中也提及此 logit loss 的推导,但有一些忘记了。应该是 noisy label 相关的 paper 或者一些函数的性质的 paper。
[5] Gradient descent optimizes over-parameterized deep ReLU Networks