【Google 机器学习笔记】八、分类模型

【Google 机器学习笔记】

八、分类模型

本节内容较多,有一定难度和较多的数学知识,推荐重复阅读加深理解。


概念
  • 逻辑回归【Logistic Regression】:一种模型,极其高效的概率计算机制。通过将 S 型函数应用于线性预测,生成分类问题中每个可能的离散标签值的概率。虽然逻辑回归经常用于二元分类问题,但也可用于多类别分类问题(其叫法变为多类别逻辑回归或多项回归)。
  • S 型函数【Sigmoid function】:一种函数,可将逻辑回归输出或多项回归输出(对数几率)映射到概率,以返回介于 0 到 1 之间的值。S 型函数的公式如下: y = 1 1 + e − σ y=\frac1{1+e^{-\sigma}} y=1+eσ1  在逻辑回归问题中, σ = b + w 1 x 1 + w 2 x 2 + ⋯ + w n x n \sigma=b+w_1x_1+w_2x_2+\cdots+w_nx_n σ=b+w1x1+w2x2++wnxn  即,S 型函数可将 σ \sigma σ 转换为介于 0 到 1 之间的概率。
  • 对数损失函数【Logarithmic Loss Function】
  • 分类模型【Classification model】:一种机器学习模型,用于区分两种或多种离散类别。例如,某个自然语言处理分类模型可以确定输入的句子是法语、西班牙语还是意大利语。请与回归模型进行比较。
  • 分类阈值【Classification threshold】:也称为判定阈值。一种标量值条件,应用于模型预测的得分,旨在将正类别负类别区分开。将逻辑回归结果映射到二元分类时使用。以某个逻辑回归模型为例,该模型用于确定指定电子邮件是垃圾邮件的概率。如果分类阈值为 0.9,那么逻辑回归值高于 0.9 的电子邮件将被归类为“垃圾邮件”,低于 0.9 的则被归类为“非垃圾邮件”。
  • 混淆矩阵【Confusion matrix】:一种 N×N 表格,用于总结分类模型的预测效果;即标签和模型预测的分类之间的关联。在混淆矩阵中,一个轴表示模型预测的标签,另一个轴表示实际标签。N 表示类别个数。在二元分类问题中,N=2。详情点击此处
  • 准确率【Accuracy】:分类模型的正确预测所占的比例。常规定义如下: 准确率 = 正确的预测数 样本总数 \text {准确率}=\frac {\text {正确的预测数}}{\text {样本总数}} 准确率=样本总数正确的预测数
  • 精确率【Precision】:一种分类模型指标。精确率指模型正确预测正类别的频率,即: 精确率 = TP TP+FP \text {精确率} = \frac {\text {TP}}{\text {TP+FP}} 精确率=TP+FPTP
  • 召回率【Recall】:一种分类模型指标,用于回答以下问题:在所有可能的正类别标签中,模型正确地识别出了多少个?即: 召回率 = TP TP+FN \text {召回率}=\frac {\text {TP}}{\text {TP+FN}} 召回率=TP+FNTP
  • ROC曲线【Receiver operating characteristic,ROC】:不同分类阈值下的 真正例率(TPR)假正例率(FPR) 构成的曲线。定义如下: T P R = T P T P + F N TPR=\frac {TP}{TP+FN} TPR=TP+FNTP F P R = F P F P + T N FPR=\frac {FP}{FP+TN} FPR=FP+TNFP
  • 曲线下面积【Area under the ROC Curve,AUC】:一种会考虑所有可能分类阈值的评估指标。对于随机选择的正类别样本确实为正类别,以及随机选择的负类别样本为正类别,分类器更确信前者的概率。
  • 分桶【Bucketing】:将一个特征(通常是连续特征)转换成多个二元特征(称为桶或箱),通常根据值区间进行转换。
      例如,可以将温度区间分割为离散分箱,而不是将温度表示成单个连续的浮点特征。假设温度数据可精确到小数点后一位,则可以将介于 0.0 到 15.0 度之间的所有温度都归入一个分箱,将介于 15.1 到 30.0 度之间的所有温度归入第二个分箱,并将介于 30.1 到 50.0 度之间的所有温度归入第三个分箱。
  • 预测偏差【Prediction bias】:一种值,用于表明预测均值与数据集中标签的均值(观察均值) 相差有多大。相关公式定义如下: 预测偏差 = 预测均值 − 观察均值 \text {预测偏差}=\text {预测均值} - \text{观察均值} 预测偏差=预测均值观察均值
  • 校准层【Calibration layer】:一种预测后调整,通常是为了降低预测偏差的影响。调整后的预测和概率应与观察到的标签集的分布一致。

逻辑回归
  • 逻辑回归模型
      对于“‘垃圾邮件‘或‘非垃圾邮件’”这样的分类问题,无法使用线性回归来准确预测,此时,常常使用逻辑回归模型,输入线性方程,输出概率。
      由于逻辑回归模型需要确保输出 y ′ ∈ [ 0 , 1 ] y'\in[0,1] y[0,1] ,因此,需要使用 S型函数 y ′ = 1 1 + e − z y'=\frac1{1+e^{-z}} y=1+ez1  S型函数曲线图:
    【Google 机器学习笔记】八、分类模型_第1张图片

      其中:
         y ′ y' y :逻辑回归模型针对特定样本的输出。
         z z z :线性回归模型 b + w 1 x 1 + w 2 x 2 + ⋯ + w n x n b+w_1x_1+w_2x_2+\cdots+w_nx_n b+w1x1+w2x2++wnxn ,由于 z = l o g ( y 1 − y ) z=log(\frac y{1-y}) z=log(1yy) (S型函数反函数),故称为对数几率

      逻辑回归模型可以理解为 线性回归模型 + S型函数 的形式。
  • 逻辑回归的损失函数
      逻辑回归的损失函数是对数损失函数,定义如下:
    L o g L o s s = ∑ ( x , y ) ∈ D − y l o g ( y ′ ) − ( 1 − y ) l o g ( 1 − y ′ ) LogLoss=\sum_{(x,y) \in D} -ylog(y')-(1-y)log(1-y') LogLoss=(x,y)Dylog(y)(1y)log(1y)  其中:
         D D D :包含很多有标签样本 ( x , y ) (x,y) (x,y) 的数据集。
         y y y :有标签样本中的标签。 y y y 的每个值必须是 0 或 1 。
         y ′ y' y :对于特征集 x x x 的预测值(介于 0 和 1 之间)。
  • 逻辑回归中的正则化
      逻辑回归模型常使用 L1正则化(下面会详细介绍),L2正则化早停法

分类

  使用逻辑回归可以用来执行分类任务,下面介绍分类模型。

  • 阈值:由于逻辑回归返回的是概率,所以需要一个判定边界来进行分类,这个判定边界就是分类阈值(也称判定阈值
  • 评估二元分类模型:二元分类模型预测的结果与真实结果往往会存在偏差,此时为了评估此模型,将二元称为 正类别负类别 。对于预测结果,用 2×2 混淆矩阵,可以分为以下四类:
真正例(TP):模型将正类别样本正确地预测为正类别 假正例(FP):模型将负类别样本错误地预测为正类别
假负例(FN):模型将正类别样本错误地预测为负类别 真负例(TN):模型将正类别样本错误地预测为负类别

  • 准确率:指模型预测正确的结果所占的比例。对于二元分类问题,公式如下: Accuracy = T P + T N T P + T N + F P + F N \text {Accuracy}=\frac {TP+TN}{TP+TN+FP+FN} Accuracy=TP+TN+FP+FNTP+TN  准确率有一个非常明显的缺陷:使用分类不平衡的数据集(比如正类别标签和负类别标签的数量之间存在明显差异)时,准确率不可信。
  • 精确率和召回率
      精确率尝试回答:在被识别为正类别的样本中,确实为正类别的比例是多少?
      召回率尝试回答:在所有正类别样本中,被正确识别为正类别的比例是多少?
      相关公式见上“概念”。
      另外,要全面评估模型的有效性,必须同时检查精确率和召回率。而精确率与召回率常常呈此消彼长状态。
  • ROC曲线(接收者操作特征曲线):ROC曲线是一种显示分类模型在所有分类阈值下的效果的图表。该曲线由两个参数构成: TPRFPR 。如:

    【Google 机器学习笔记】八、分类模型_第2张图片
  • 曲线下面积(AUC):用于评估分类模型的一种指标,值域 [ 0 , 1 ] [0,1] [0,1]。预测结果 100% 错误的模型的曲线下面积为 0.0;而预测结果 100% 正确的模型的曲线下面积为 1.0。
      AUC 不受 分类阈值概率大小 影响,换言之,它测量预测的排名情况模型的质量,而不测量其绝对值和考虑分类阈值。
  • 预测偏差:如果出现非常高的非零预测偏差,则说明模型某处存在错误,因为这表明模型对正类别标签的出现频率预测有误。
      造成预测偏差的可能原因包括:
        ① 特征集不完整
        ② 数据集混乱
        ③ 模型实现流水线中有错误?
        ④ 训练样本有偏差
        ⑤ 正则化过强
  • 校准层:通过对学习模型进行后期处理来纠正预测偏差,即通过添加校准层来调整模型的输出,从而减小预测偏差。

如果可能的话,请避免添加校准层。使用校准层的项目往往会对其产生依赖——使用校准层来修复模型的所有错误。最终,维护校准层可能会令人苦不堪言。


正则化
  • L1 正则化【L1 regularization】:一种正则化,根据权重的绝对值的总和来惩罚权重。在依赖稀疏特征的模型中,L1 正则化有助于使不相关或几乎不相关的特征的权重正好为 0(L2正则化只能接近 0),从而将这些特征从模型中移除。
      L1 正则化常常用在特征较稀疏的模型中,能有效减少计算资源消耗。
  • L1 和 L2 正则化
    • L2 和 L1 采用不同的方式降低权重:
        L2 会降低权重2
        L1 会降低 |权重|。
    • L2 和 L1 具有不同的导数:
        L2 的导数为 2 * 权重。
        L1 的导数为 k(一个常数,其值与权重无关)。
      L2通常不会使权重变为 0,L1可以。

  您可以将 L1 的导数的作用理解为每次从权重中减去一个常数。不过,由于减去的是绝对值,L1 在 0 处具有不连续性,这会导致与 0 相交的减法结果变为 0。例如,如果减法使权重从 +0.1 变为 -0.2,L1 便会将权重设为 0。就这样,L1 使权重变为 0 了。


上一篇:【Google 机器学习笔记】七、特征组合与L2正则化
下一篇:【Google 机器学习笔记】九、神经网络

你可能感兴趣的:(Google,机器学习笔记,机器学习)