机器学习与数据挖掘逻辑回归

逻辑回归

2018-07-10  本文已影响15人  吴金君

逻辑回归

0.引言

本文主要参考了李航的《统计学习方法》,算做学习笔记。

1. 二元逻辑回归模型定义

二元逻辑回归是一种分类模型,由条件概率P(Y|X)来表示,其中随机变量X是实数,随机变量Y的取值范围是{0,1}。用公式来描述这个模型:
P(Y=1|X)=\frac{e^{w\cdot x+b}}{1+e^{w\cdot x+b}}
P(Y=0|X)=\frac{1}{1+e^{w\cdot x+b}}
其中,wb都是这个逻辑回归模型的参数。w是权重项,b是偏置项。为了方便,我们可以把偏重项看做权重为b的的权重项,然后再在输入中扩充一个维度。即\bold w=\{w_1,w_2,...w_n,b\}, \bold x=\{x_1,x_2,...,x_n,1\}.再改写模型描述为:
P(Y=1|X)=\frac{e^{w\cdot x}}{1+e^{w\cdot x}}
P(Y=0|X)=\frac{1}{1+e^{w\cdot x}}
其中,wb都是这个逻辑回归模型的参数。

2.逻辑回归模型的由来

疑问

其实我一开始也觉得很疑惑,怎么以上来就出来个逻辑回归,为什么叫逻辑回归?它的由来是什么?甚至考虑到找工作面试官让你手撕逻辑回归的时候会有些懵逼,从何开始呢?现在就来记录对这些问题的思考,其实也就是读了《统计学习方法》对逻辑回归这部分内容以后的理解。

事件发生的几率

一个事件发生或者不发生除了用概率来描述,还可以用几率来描述。几率的定义是“事件发生概率与该时间不发生概率的比值”。如果一个事件发生的概率为p,那么几率就可以这样表示:
p=\frac{p}{1-p}

对数几率

有了几率的概念,再来引入对数几率
logit(p)=log\frac{p}{1-p}
对数几率实际上就是几率的对数函数。

3.逻辑回归模型的模型参数估计

逻辑回归模型在学习时,需要通过训练数据集来拟合得到模型的参数,如权重wb。参数估计的方法采用极大似然估计法。估计得到参数后就可以得到逻辑回归模型:
假设:
P(Y=1|X)=p(x),P(Y=0|X)=1-p(x)
数据集T=\{(x_1,y_1),(x_2,y_2),...(x_N,y_N)\}则可以得到似然函数:
\prod_{i=1}^{N}[p(x_i)]^{y_{i}}[1-p(x_i)]^{1-y_i}
对数似然函数:
\begin{aligned} L(w) &=\sum_{i=1}^{N}[y_ilogp(x_i)+(1-y_i)log\big(1-p(x_i)\big)] \\ & = \sum_{i=1}^{N}\big[y_ilog\frac{p(x_i)}{1-p(x_i)}+log\big(1-p(x_i)\big)\big] \\ \end{aligned}
推导到这里需要一个想办法把w给变出来,因为w是我们需要估计的参数。用什么变出来呢?从p(x)w的关系入手!
P(Y=1|X)=\frac{e^{w\cdot x}}{1+e^{w\cdot x}}=p(x) \Rightarrow log\frac{p(x_i)}{1-p(x_i)}=w \cdot x
P(Y=0|X)=\frac{1}{1+e^{w\cdot x}}=1-p(x) \Rightarrow log\big(1-p(x_i)\big)\big]=-log(1+e^{w\cdot x})
于是我们抄写一遍前面的式子,继续推导L(w)
\begin{aligned} L(w) &=\sum_{i=1}^{N}[y_ilogp(x_i)+(1-y_i)log\big(1-p(x_i)\big)] \\ & = \sum_{i=1}^{N}\big[y_ilog\frac{p(x_i)}{1-p(x_i)}+log\big(1-p(x_i)\big)\big] \\ & = \sum_{i=1}^{N}\big[y_i(w\cdot x_i)-log(1+e^{w\cdot x}) \big] \end{aligned}
得到对数似然函数后,我们得到了一个目标函数,将其看成一个最优化问题进行求解即可。可以采用梯度下降法或者拟牛顿法进行学习求解。

4.再访二元逻辑回归模型描述

如果逻辑回归模型在理论上最优的权值为w,那么我们将通过数据集训练得到的权值记为\hat {w}.
最终的二元逻辑回归模型描述为:
P(Y=1|X)=\frac{e^{\hat{w}\cdot x}}{1+e^{\hat{w}\cdot x}}
P(Y=0|X)=\frac{1}{1+e^{\hat{w} \cdot x}}

5.多元逻辑回归模型——二元逻辑回归的拓展

相比二元逻辑回归,多元逻辑回归中随机变量Y的取值为\{1,2,...,K\}
那么模型描述为:
P(Y=k|X)=\frac{e^{w_k\cdot x}}{1+\sum_{k=1}^{K-1}e^{w_k\cdot x}},K=1,2,...K-1
P(Y=K|X)=\frac{1}{1+\sum_{k=1}^{K-1}e^{w_k\cdot x}}
实际上是一对多的思路,同样可以采用二元逻辑回归中的参数估计方法,求对数似然函数的方式构造目标函数,再通过求解最优化问题来求出权重参数。

上一篇下一篇

猜你喜欢

热点阅读