打卡2——逻辑回归算法梳理

1、逻辑回归与线性回归的联系与区别 

Logistic回归与多重线性回归实际上有很多相同之处,最大的区别就在于它们的因变量不同,其他的基本都差不多。正是因为如此,这两种回归可以归于同一个家族,即广义线性模型。但是一般的线性回归是不应用在分类问题之上的。而逻辑回归则可以面对一个回归或者分类问题,建立代价函数求解出最优的模型参数。而逻辑回归虽然名字里带有“回归”两字,但是实质上是一个分类方法。

2、 逻辑回归的原理 

逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。 因此与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。逻辑回归是以线性回归为理论支持的,但是逻辑回归通过Sigmoid函数引入了非线性因素,因此可以轻松处理0/1分类问题。

3、逻辑回归损失函数推导及优化

逻辑回归的损失函数J(m个样本,每个样本有n个特征):

cost函数和J函数如下,基于最大似然估计推导得到的

打卡2——逻辑回归算法梳理

推导过程:

1)求代价函数:

概率综合函数:

打卡2——逻辑回归算法梳理

取似然函数为:

打卡2——逻辑回归算法梳理

对数似然函数为:

打卡2——逻辑回归算法梳理 

最大似然估计就是求使l(θ)取最大值时的θ,其实这里可以使用梯度上升法求解,求得的θ就是要求的最佳参数。

在Andrew Ng的课程中将J(θ)取为下式,即: 

打卡2——逻辑回归算法梳理

2) 梯度下降法求解最小值 

打卡2——逻辑回归算法梳理

θ更新过程可以写成:  

打卡2——逻辑回归算法梳理

4、 正则化与模型评估指标 

正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。

正则项可以取不同的形式,在回归问题中取平方损失,就是参数的L2范数,也可以取L1范数。取平方损失时,模型的损失函数变为:

打卡2——逻辑回归算法梳理

lambda是正则项系数: 
            如果它的值很大,说明对模型的复杂度惩罚大,对拟合数据的损失惩罚小,这样它就不会过分拟合数据,在训练数据上的偏差较大,在未知数据上的方差较小,但是可能出现欠拟合的现象; 
            如果它的值很小,说明比较注重对训练数据的拟合,在训练数据上的偏差会小,但是可能会导致过拟合。 
            正则化后的梯度下降算法θ的更新变为:  

打卡2——逻辑回归算法梳理

5、逻辑回归的优缺点 

优点:

速度快,适合二分类问题

易解释,可以直接看到模型中各个变量的权重

易调整,能容易地更新模型,吸收新的数据

缺点: 

对数据和场景的适应性有限,容易欠拟合,精度一般,不如树模型、SVM、adaboost等一些其他的常用分类模型给力。

6、样本不均衡问题解决办法

1.扩充数据集

2.对数据集进行重采样

3.人造数据

4.改变分类算法

5.尝试其他评价指标

sklearn参数

逻辑回归sklearn参数