逻辑回归(LogisticRegression)
机器学习中的一种分类模型
,逻辑回归是一种分类算法,虽然名字中带有回归。由于算法的简单和高效,在实际中应用非常广泛。
1 逻辑回归的原理
1.1 输入
逻辑回归的输入就是一个线性回归的结果。
1.2 激活函数
1.3 判断标准
- 回归的结果输入到sigmoid函数当中,输出结果:[0, 1]区间中的一个概率值,默认为0.5为阈值;
- 逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(正例),另外的一个类别会标记为0(反例);(方便损失计算)
- 输出结果解释(重要):假设有两个类别A,B,并且假设我们的概率值为属于A(1)这个类别的概率值。现在有一个样本的输入到逻辑回归输出结果0.55,那么这个概率值超过0.5,意味着我们训练或者预测的结果就是A(1)类别。那么反之,如果得出结果为0.3那么,训练或者预测结果就为B(0)类别;
- 关于逻辑回归的阈值是可以进行改变的,比如上面举例中,如果你把阈值设置为0.6,那么输出的结果0.55,就属于B类。
1.4 逻辑回归的损失
逻辑回归的损失,称之为对数似然损失,公式如下:
(1)分开类别
其中y为真实值,hθ(x)为预测值
当y=1时,我们希望hθ(x)为值越大越好;
当y=0时,我们希望hθ(x)为值越小越好
(2)综合完整损失函数
我们知道,log(hθ(x))(即hθ(x))值越大,结果越小,所以我们可以对着这个损失的式子去分析
1.5 逻辑回归的优化
同样使用梯度下降优化算法,去减少损失函数的值。这样去更新逻辑回归前面对应算法的权重参数,提升原本属于1类别的概率,降低原本是0类别的概率。
2 逻辑回归----分类评估方法
2.1 混淆矩阵
在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多分类)。
- F1-score :F1-score评估标准,反映了模型的稳健型;
- 准确率(正确率):所有样本中,预测正确的比例,即(TP+TN)/(TP+TN+FN+FP);
- 精确率(TPR、Precision):
预测
为正例的样本中,实际
为正例(预测正确)的比例,即 TP /(TP+FP); - 召回率(Recall):
实际
为正例的样本中,预测
为正例(预测正确)的比例,即 TP /(TP+FN); - FPR(伪正例):
实际
为反例的样本中,预测
为正例(预测错误)的比例,即 FP /(FP+TN)。
2.2 ROC曲线和AUC指标
(1)ROC曲线的横轴就是FPRate,纵轴就是TPRate
- 当二者相等时,表示的意义则是:对于不论真实类别是1还是0的样本,分类器预测为1的概率是相等的,此时AUC为0.5
(2)AUC指标
- AUC的概率意义是随机取一对正负样本,正样本得分大于负样本得分的概率
- AUC的范围在[0, 1]之间,并且越接近1越好,越接近0.5属于乱猜
- AUC=1,完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
- 0.5<AUC<1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。