1 逻辑回归基础理论
逻辑回归(Logistic regression)又叫对数几率回归,是一个分类模型。主要进行二分类。在线性回归的基础上进行一个sigmoid变换,于是得到逻辑回归模型。逻辑回归输出值在(0,1) 之间,直观含义是y=1的概率。
逻辑回归假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。
1.1 公式
y = 1 1 + e − ( θ T X + b ) y = \frac{1}{1+e^{-(\theta^TX+b)}} y=1+e−(θTX+b)1
也可以写成:
l n y 1 − y = θ T X + b ln\frac{y}{1-y} = \theta^TX +b ln1−yy=θTX+b
从上式可以看出,逻辑回归实际是用线性回归拟合真实标签的对数几率。
1.2 sigmoid函数
理想的二分类函数为阶跃函数,然而其不连续,于是找到一定程度上近似单位阶跃函数的替代函数,并希望它单调可微。
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1+e^{-z}} g(z)=1+e−z1
sigmoid函数的特点是:
- 取值永远在0,1之间
- 输出值在z=0附近变化陡峭,远离0时变化平缓
1.3 逻辑回归的优缺点和适用数据
优点:模型简单简单,可解释性强。计算速度快,存储资源底。对线性关系拟合效果好。
缺点:容易欠拟合,分类精度可能不高。因为本质是线性分类器,无法应对较为复杂的数据。
适用数据:数值型和标称型数据。
1.4 损失函数
虽然逻辑回归源于线性回归,但是并不会用线性回归的MSE作为损失函数,因为如果使用MSE的话得到的是一个非凸函数(non-convexfunction),这将影响梯度下降算法寻找全局最小值。
逻辑回归的参数估计方法为极大似然法(maximum likelihood method),即令每个样本属于其真实标签的概率越大越好。
m个样本服从伯努利分布,其概率密度函数为:
p ( y ∣ x , θ ) = h θ ( x ) y ( 1 − h θ ( x ) ) 1 − y p(y|x,\theta)=h_\theta(x)^y(1-h_\theta(x))^{1-y} p(y∣x,θ)=hθ(x)y(1−hθ(x))1−y
极大似然即为求联合概率密度最大值:
L ( θ ) = ∏ i = 1 m p ( y i ∣ x i , θ ) L(\theta)=\prod_{i=1}^m p(y_i|x_i,\theta) L(θ)=i=1∏mp(yi∣xi,θ)
负对数似然函数即为损失函数,表达式为:
J ( θ ) = − 1 m ∑ i = 0 m ( y i ∗ l o g ( h θ ( x i ) ) + ( 1 − y i ) ∗ l o g ( 1 − h θ ( x i ) ) ) J(\theta) = - \frac{1}{m}\sum_{i=0}^m (y_i *log(h_\theta(x_i))+ (1-y_i) *log(1-h_\theta(x_i))) J(θ)=−m1i=0∑m(yi∗log(hθ(xi))+(1−yi)∗log(1−hθ(xi)))
其中,m表示样本数, y i y_i yi是真实标签, h θ ( x i ) h_\theta(x_i) hθ(xi)是基于参数θ的预测值。
该损失函数的优化方法最常见的有梯度下降法,坐标轴下降法,等牛顿法·等。
梯度下降算法为:
Repeat : { θ j : = θ j − α ∂ ∂ θ j J ( θ ) \theta_j := \theta_j -\alpha\frac{\partial}{\partial \theta_j}J(\theta) θj:=θj−α∂θj∂J(θ)} ( θ \theta θ所有分量同时更新)
1.5 偏导数的推导
( y i ∗ l o g ( h θ