返回

二元分类与损失解读

人工智能

二元分类:从损失与得分深入理解模型原理

二元分类概述

二元分类,顾名思义,就是把样本分为两类的机器学习问题。它在现实生活中有着广泛的应用,比如疾病诊断、欺诈检测、文本情感分析等等。

一个二元分类模型通常会收到一个特征向量 x∈R^d 作为输入,经过计算后输出一个分数或概率值,来衡量样本 x 属于正例的可能性。二元分类模型的训练通常基于带有标签的样本集,模型需要学习如何有效地区分正负例。

二元分类模型及其损失与得分

二元分类模型可以抽象为一个得分 (Score)或概率 (Logit)计算器,其形式化定义为:

f(x):R^d\rightarrow R
f(x)=x^T\beta

得分的计算本质上是使用权重向量 \beta 将样本投影到一维实数轴上。因此,得分的正负决定了样本的类别:

  • 正例 (y=1): f(x)\geq 0
  • 反例 (y=0): f(x)<0

二元分类的训练,也就是求解权重向量 \beta,是基于如下形式的损失 (Loss)最小化

L(\beta) = \sum_{i=1}^{N} l(f(x^i), y^i)

损失衡量了模型在数据集上分类正确的误差,是最小化问题(模型训练)的优化目标。不同的损失度量决定了二元分类的不同方法:

1. Hinge 损失(SVM)

合页损失 (Hinge loss)通常用于支持向量机(SVM) 模型,其形式如下:

l_{hinge}(f(x), y) = \max(0, 1-yf(x))

直观地说,合页损失对于在分类边界内的样本为 0,对于在分类边界外的样本与样本到边界的距离成正比。其目的是惩罚分类边界附近的样本,以增大分类间隔(SVM 的核心思想)。

2. Logistic 损失(逻辑回归)

逻辑损失 (Logistic loss)或称交叉熵损失 ,通常用于逻辑回归 模型,其形式如下:

l_{logistic}(f(x), y) = -\log(\sigma(f(x))^y(1-\sigma(f(x)))^{1-y})

逻辑损失基于Sigmoid 函数 \sigma(z) = 1 / (1 + exp(-z)) 的概率建模,衡量模型对样本的类别判断与真实类别之间的差异性。

3. 交叉损失(softmax)

交叉损失 (Cross loss)通常用于基于softmax 的多分类模型,其形式如下:

l_{softmax}(f(x), y) = -\log(\frac{e^{f(x)_y}}{\sum_k{e^{f(x)_k}}})

softmax 函数将得分向量归一化为概率向量 \hat{y},使得每个分量表示样本属于该类的概率。交叉损失衡量了模型对正确类概率(第 y 个分量)的偏离,本质上也是一种似然损失。

结论

通过从损失和得分的角度出发,我们梳理了二元分类问题中常见模型的理论原理。揭示了合页损失、逻辑损失、交叉损失等损失度量与模型自身的建模形式、训练目标之间的内在联系,有助于读者全面系统地掌握二元分类的基础知识。

常见问题解答

  1. 什么是二元分类?
    二元分类是一种机器学习问题,其目标是将样本分为两类。

  2. 二元分类模型如何工作?
    二元分类模型接收一个特征向量作为输入,计算一个得分或概率值来衡量样本属于正例的可能性。

  3. 损失函数在二元分类中的作用是什么?
    损失函数衡量模型在数据集上分类正确的误差,是模型训练的目标。

  4. 合页损失、逻辑损失和交叉损失有什么区别?
    合页损失用于 SVM,逻辑损失用于逻辑回归,交叉损失用于基于 softmax 的多分类模型。

  5. 如何选择合适的二元分类模型?
    二元分类模型的选择取决于数据的性质、问题的复杂性和所需的性能水平。