二、逻辑回归算法梳理

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

  • 联系
    逻辑回归与线性回归都属于广义线性回归模型
  • 区别
    因变量不同,如果是连续的,就是多重线性回归,如果是二项分布,就是logistic回归。logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释。所以实际中最为常用的就是二分类的logistic回归。
    线性回归用于解决回归问题,逻辑回归主要用于解决分类问题

2、 逻辑回归的原理

逻辑回归

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

既然可以转化成概率,那么便可以利用最大似然估计(MLE)来写出目标函数:

L(θ)=p(y⃗ |X;θ)=∏i=1mp(yi|xi;θ)=∏i=1m(hθ(xi))yi(1−hθ(xi))1−yi
接下来就是求解 MLE 的老套路,取对数加负号,然后代入 hθ(x),可以得到 LR 的代价函数,即对数损失:

J(θ)=loss(hθ(xi),yi)=−1ml(θ)=−1m∑i=1m(yiloghθ(xi)+(1−yi)log(1−hθ(xi)))
将 sigmiod 函数代入 hθ(xi),并使用 ln 代替 log,上述公式还可以继续化简为:

J(θ)=–1m∑i=1m[yilnhθ(xi)+(1−yi)ln(1−hθ(xi)]=−1m∑i=1m[yiln11+e−θTxi+(1−yi)lne−θTxi1+e−θTxi]=−1m∑i=1m[ln11+eθTxi+yiln1e−θTxi]=1m∑i=1m[−yiθTxi+ln(1+eθTxi)]

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

正则化
正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束、调整或缩小。也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险。
L1范数:L1范数在正则化的过程中会趋向于产生少量的特征,而其他的特征都是0(L1会使得参数矩阵变得稀疏)。因此L1不仅可以起到正则化的作用,还可以起到特征选择的作用。
L2范数:L2范数是通过使权重衰减,进而使得特征对于总体的影响减小而起到防止过拟合的作用的。L2的优点在于求解稳定、快速。
模型评估指标
精确率,precision = TP / (TP + FP) 即正确预测的正反例数 /总数
准确率,accuracy = (TP + TN) / (TP + FP + TN + FN) 精确率容易和准确率不能混为一谈,为预测出是正的里面有多少真正是正的。可理解为查准率。
召回率,recall = TP / (TP + FN) 表现为在实际正样本中,分类器能预测出多少。
F1 Score = P*R/2(P+R),其中P和R分别为 precision 和 recall ,在precision与recall都要求高的情况下,可以用F1 Score来衡量。
ROC曲线 逻辑回归里面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。如果我们减小这个阀值,更多的样本会被识别为正类,提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了直观表示这一现象,引入ROC。在图中,横坐标为False Positive Rate(FPR假正率),纵坐标为True Positive Rate(TPR真正率)。
AUC(Area Under Curve)被定义为ROC曲线下的面积(ROC的积分),通常大于0.5小于1。AUC值(面积)越大的分类器,性能越好。

5、逻辑回归的优缺点

优点
1形式简单,模型的可解释性非常好。从特征的权重可以看到不同的特征对最后结果的影响,某个特征的权重值比较高,那么这个特征最后对结果的影响会比较大。
2模型效果不错,如果特征工程做的好,效果不会太差。
3训练速度较快。分类的时候,计算量仅仅只和特征的数目相关。
缺点
1准确率并不是很高。因为形式非常的简单(非常类似线性模型),很难去拟合数据的真实分布。
2很难处理数据不平衡的问题。举个例子:如果我们对于一个正负样本非常不平衡的问题比如正负样本比 10000:1.我们把所有样本都预测为正也能使损失函数的值比较小。但是作为一个分类器,它对正负样本的区分能力不会很好。
3处理非线性数据较麻烦。逻辑回归在不引入其他方法的情况下,只能处理线性可分的数据

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

1)增加少样本数据
机器学习是使用现有的数据对整个数据的分布进行估计,因此更多的数据往往能够得到更多的分布信息,以及更好分布估计。即使再增加小类样本数据时,又增加了大类样本数据。
2)重采样
对小类的数据样本进行采样来增加小类的数据样本个数,即过采样(over-sampling ,采样的个数大于该类样本的个数)。即添加部分样本的副本。
对大类的数据样本进行采样来减少该类数据样本的个数,即欠采样(under-sampling,采样的次数少于该类样本的个素)。即删除部分样本。
3)采用不同分类算法
应该使用不同的算法对其进行比较,因为不同的算法使用于不同的任务与数据。决策树往往在类别不均衡数据上表现不错。它使用基于类变量的划分规则去创建分类树,因此可以强制地将不同类别的样本分开。

7. sklearn参数

LogisticRegressionttps

猜你喜欢

转载自www.cnblogs.com/robindong/p/11329118.html