# 逻辑回归(logistic regression)

## 从对数几率引入

\begin{align} \log{P(Y=1|x)\over P(Y=0|x)} =& \log{P(Y=1|x)\over 1-P(Y=1|x)}=wx \\ \Longrightarrow & {P(Y=1|x)\over 1-P(Y=1|x)}=e^{wx} \\ \Rightarrow P(Y=1|x)=& {e^{wx} \over 1+e^{wx}} = {1\over 1+e^{-wx}} \end{align}

\begin{align} P(Y=1|x)=& {e^{w\cdot x}\over 1+e^{w\cdot x}}={1\over 1+e^{-wx}} \\ P(Y=0|x)=& 1-P(Y=1|x) \end{align}

logistic 分布[1]

\begin{align} F(x)&=P(X\le x)={1\over 1+e^{-(x-\mu)/\gamma}} \\ f(x)&=F'(x)=\dfrac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2} \end{align}

logistic 分布函数D(x)是一条S型曲线,概率密度函数P(x)是类似正态分布的钟型曲线.图示如下[2]

## 模型参数估计

$P(Y=1|x)=\pi(x),P(Y=0|x)=1-\pi(x)$

$\Pi_{i=1}^N[\pi(x_i)]^{y_i} [1-\pi(x_i)]^{1-y_i}$

\begin{align} L(w)&=\log \Pi_{i=1}^N[\pi(x_i)]^{y_i} [1-\pi(x_i)]^{1-y_i} \\ &=\sum_{i=1}^N[y_i\log\pi(x_i)+(1-y_i)\log(1-\pi(x_i))] \end{align}

### 损失函数

$\text{Cost}(h_\theta(x),y)=\begin{cases} -\log(h_\theta(x)) && \text{, y=1} \\ -\log(1-h_\theta(x)) && \text{, y=0} \end{cases}$

$J(\theta)=[-{1\over m}\sum_{i=1}^m\big(y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))\big)]+{\lambda \over 2m}\sum_{j=1}^n\theta_j^2$

$g(z)={1\over 1+e^{-z}} \tag{sigmoid}$

$\frac{\partial}{\partial\theta_{j}}J(\theta) ={1\over m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$

$\theta_j := \theta_j-\alpha{1\over m}(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}$

## vs 最大熵模型

$P(y | \mathbf{x}, \boldsymbol\theta) = \frac{ \exp\left( \boldsymbol\theta \cdot \mathbf{f}(\mathbf{x}, y) \right) }{ \sum_{\mathbf{y} \in \textit{Dom}(y)} { \exp\left( \boldsymbol\theta \cdot \mathbf{f}(\mathbf{x}, y) \right) } }$

$f (x,y) = \begin{cases} g(x) & y=y_1 \\ 0 & y=y_0 \end{cases}$

$P(y|x) = \begin{cases} \sigma(\theta \cdot g(x)) & y=y_1 \\ 1-\sigma(\theta \cdot g(x)) & y=y_0 \end{cases}$

$\pi(x)_u$表示输入 x 得到的 y=u 的概率,

$\pi(x)_u=\frac{e^{w_u\cdot x}}{\sum_{v=1}^k e^{w_v \cdot x}}$

$L(w)=\prod_{i=1}^n \pi(x_i)_{y_i}$

$P(D|\theta)={n!\over n_1!\cdot n_2!\cdots n_k!}\prod_{i=1}^k p_i^{n_i}$

$\log P(D|\theta)=\log n!-\log n_1!\cdot n_2!\cdots n_k!+\sum_{i=1}^k n_i\log p_i$

$-\sum_{i=1}^k n_i\log p_i$

## vs Linear SVM

• Linear SVM和LR都是线性分类器
• Linear SVM不直接依赖数据分布，分类平面不受一类点影响；LR则受所有数据点的影响，如果不同类别数据严重不平衡需要先对数据做balancing。
• Linear SVM依赖数据表达的距离测度，所以需要对数据先做normalization(归一化)；LR不受其影响
• Linear SVM依赖penalty的系数，实验中需要做validation
• Linear SVM和LR的performance都会收到outlier的影响，其敏感程度而言，谁更好很难下明确结论。

## 正则项

• L2 解决过拟合

### L1和L2正则先验分别服从什么分布

L1是拉普拉斯分布，L2是高斯分布。

$f(x|\mu,b)={1\over 2b}e^{-{|x-\mu|\over b}}$

## 模型的优势

• LR 能以概率的形式输出结果,而非只是 0,1 判定; 而其它模型如 SVM 难以用概率表示,虽然存在多种概率校准方法, 但仍不能与LR的概率形式相比；
• LR 的可解释性强,可控度高；
• 训练快,feature engineering 之后效果好；
• 因为结果是概率,可以做 ranking model；
• 添加 feature 很简单。

• 容易欠拟合，一般准确度不太高
• 只能处理两分类问题. (可以应用多个逻辑回归实现多分类,类似SVM的方式; 另外对于父子类别同时分类的情况,使用逻辑回归要比Softmax等方式效果好)

### 常见应用场景

• 预估问题场景（如推荐、广告系统中的点击率预估，转化率预估等）
• 分类场景（如用户画像中的标签预测，判断内容是否具有商业价值，判断点击作弊等.

### 为什么要对特征进行离散化

1. 离散特征的增加和减少都很容易，易于模型的快速迭代；
2. 稀疏向量内积乘法运算速度快，计算结果方便存储，容易扩展；
3. 离散化后的特征对异常数据有很强的鲁棒性：比如一个特征是年龄>30是1，否则0。如果特征没有离散化，一个异常数据“年龄300岁”会给模型造成很大的干扰；
4. 逻辑回归属于广义线性模型，表达能力受限；单变量离散化为N个后，每个变量有单独的权重，相当于为模型引入了非线性，能够提升模型表达能力，加大拟合；
5. 离散化后可以进行特征交叉，由M+N个变量变为M*N个变量，进一步引入非线性，提升表达能力；
6. 特征离散化后，模型会更稳定，比如如果对用户年龄离散化，20-30作为一个区间，不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反，所以怎么划分区间是门学问；

## 逻辑回归并行化

$\frac{\partial J}{\partial \theta}=\frac{1}{M} {\sum_{i=1}^{M}{(h_\theta(x^{(i)})-y^{(i)}})\times x^{(i)}}$

$\frac{\partial J}{\partial \theta}= \frac{1}{M} \sum^{B}_{k=1}{\sum_{i \in S_k}{(h_\theta(x^{(i)})-y^{(i)}})\times x^{(i)}}$

ADMM算法结合了对偶分解法(Dual Decomposition)增广拉格朗日乘子法(Augmented Lagrangians and the Method of Multipliers)的优势，它可以在满足较弱收敛条件的情况下，分解目标函数，交替地更新变量，直至算法收敛。

1. 《统计学习方法》（李航，清华大学出版社） ↩︎ ↩︎

2. Logistic Regression 的前世今生（理论篇） https://blog.csdn.net/cyh_24/article/details/50359055 ↩︎

3. Logistic回归的CPU并行化及其 Batch Gradient Ascent 的实现 https://zhuanlan.zhihu.com/p/20511129 ↩︎

4. Boyd S, Parikh N, Chu E, et al. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends® in Machine Learning, 2011, 3(1): 1-122. ↩︎

posted @ 2018-03-16 23:29  康行天下  阅读(1390)  评论(0编辑  收藏