逻辑回归是一种分类模型,根据输入$x\in R^n$,来判断输出Y的类别(Y=1,正类;Y=0,负类),参数为权值$w\in R^n$和偏置$b\in R$。
逻辑回归把输出作为随机变量Y对于输入X的条件概率,取值范围限定在[0,1],一般情况下,若大于0.5则Y=1,否则Y=0。从广义的线性模型角度考虑,$w\cdot x +b$ 是线性回归的输出,但它的取值范围是全体实数, 逻辑回归为了把输出的范围限定在[0,1],引入logistic函数: $$ g(x) = \frac {1}{1+e^{-x}} $$ logistic函数单调且可微,x趋向正无穷时,g(x)趋向1;x趋向负无穷时,g(x)趋向0;x=0时,g(x)=0.5。
Y对于X的条件概率分布如下:
logistic函数又称为对数几率函数。几率(odds)定义为:事件发生概率和不发生概率之间的比值,即$odds = \frac p {1-p}$。据此,可以计算得到:
换句话说,逻辑回归就是将线性回归的输出$w\cdot x +b$来拟合对数几率函数(logistic函数),核心就是将线性回归输出的取值范围从全体实数映射到概率取值[0,1]之间。
逻辑回归模型学习时,给定数据集$(x_1,y_1),(x_2,y_2), ... ,(x_n,y_n)$,用最大似然法来估计参数。
单个样本的概率
要最大化对数似然函数,即最小化:
上式即交叉熵(Cross-Entropy)损失函数,通过梯度下降等方法可以解这个最优化问题,得到逻辑回归的参数w,b。
多分类时,可以构建k-1个逻辑回归模型;如果每个类互斥,logistic回归扩展成softmax回归。设有k个分类,第i个类的概率为:
在模型训练时,一般会进行特征选择,去除冗余特征和高度相关特征。一是能降低维度,减小计算量。二是冗余特征没有增加数据的信息,但其效果也会叠加在模型中,使效果变差。
对于逻辑回归,考虑对数几率$$log\frac{p}{1-p} = w\cdot x$$ 如果所有特征重复一遍,则$w\cdot x$的值变为原来的两倍,即对数几率变为原来的两倍,显然会影响最终的分类结果。
- 速度快
- 可解释性强,每个特征对应一个权重
- 无法处理正负样本不平衡的问题(全部预测为正,损失函数依然很小)
- 准确率相对不高
- 不引入其他方法时,只能处理二分类问题