(二)分类问题

  1. 逻辑回归

在分类问题中,机器要预测结果属于哪个分类,也就是输出某个离散的值。

在二分类问题中,分类输出的值以【0、1】区分,而逻辑回归输出的值也约束在【0、1】区间,适用于y取值离散的状况。

  1. 假设函数:h(x)=g(θ^TX)= 1/(1+e^{-θᵀX})

逻辑回归的假设函数是:h(x)=g(θ^TX),计算分为三部分:

  • 线性回归:θ^TX→得到预测值

    • X:输入的特征向量。

    • θ:模型的参数(也叫权重)。每个特征对应一个权重,表示该特征对最终决策的重要性和方向。

    • θ^TX:这是向量θ转置与向量X的点积(内积)。它的计算结果是一个单一的数值(标量)。

      • 几何意义:它定义了数据空间中的一个决策边界(一条直线或一个平面)。这个数值越大,说明样本点离决策边界越远,且更倾向于“正类”。

      • 直观理解:θ^TX就像是根据所有特征进行的一个综合打分。但这个打分值可以是任意实数(比如-∞到+∞),它还不能直接作为概率使用。

  • 逻辑回归:g(z)→得到概率值

    • g:S型函数,它的公式是g(z)=1/(1+e^{-z}),其中z就是上一步的θ^TX

    • 作用:把任何实数z压缩到(0,1)这个区间内。

      • 0<z<+∞ 时,g(z)越大越接近1。

      • -∞<z<0 时,g(z)越小越接近0。

      • z=0时,g(z)=0.5

    • 直观理解:S型函数就像一个“概率转换器”,它将线性输出的连续值转换为确切的概率值。

  • 最终输出:h(x)→二分类y值

    • 由于h(x)=g(θ^TX)=1/(1+e^{-θᵀX}),且θᵀX是一个线性组合,其以θᵀX=0作为决策边界。

    • 而对函数h(x)而言,取值在(0,1)区间,其往往以0.5为决策边界,因此综合而言:

      • 如果 z = θᵀX >= 0,则 g(z) >= 0.5,预测 y=1

      • 如果 z = θᵀX < 0,则 g(z) < 0.5,预测 y=0

      • 对于右图中数据分布呈现非线性特征的状况,可以设置多项式回归以捕捉非线性关系,如h(x)=g(θ0X0+θ1X1+θ2X2+θ3X1²+θ4X2²)

 

  1. 代价函数:𝐽(𝜃)= Σ𝑚 𝑖=1 𝐶𝑜𝑠𝑡 (ℎ𝜃(𝑥(𝑖)),𝑦(𝑖))/m

线性回归中的代价函数旨在计算建模误差的平方和最小点,若将公式引入逻辑回归,会得到一个非凸函数,存在多个局部最小点,影响梯度下降计算全局最低点。

因此,我们定义逻辑回归中代价函数的公式为:

其中:

  • 分段代价函数Cost(hθ(x), y)的计算原理是惩罚机制:预测错了付出高昂成本,预测对了成本很低。

    • y=1时,Cost = -log(hθ(x))决定了模型输出hθ(x)越接近 1,成本越接近 0;越远离 1(趋向于0),成本趋近于无穷大。这条曲线惩罚那些将正样本预测成负样本的错误

    • y=0时,模型输出 hθ(x)越接近 0,成本越接近 0;越远离 0(趋向于1),成本趋近于无穷大。这条曲线惩罚那些将负样本预测成正样本的错误

  • 总代价函数J(θ)衡量整个训练集上所有样本的平均犯错成本

    • 对于不同的 θ,我们会得到一个不同的总平均成本。我们的终极目标就是使用优化算法找到使 J(θ)最小的那组参数 θ。这组参数对应的模型,就是在训练集上“犯错成本最低”的模型。

hθ(x)Cost(hθ(x),y)的关系如下所示:

  1. 梯度下降

逻辑回归中梯度下降旨在寻找最优的参数θ,使得代价函数最小化,即minJ(θ)

尽管线性回归与逻辑回归中梯度下降的更新规则一致,但由于假设前提不同,因此两类梯度下降是不同的算法。

  • 梯度下降的监控收敛,更高效的方法不是for循环更新每个参数,而是用向量化计算所有参数的梯度并更新。

  • 其它方法:共轭梯度法 BFGS (变尺度法) 和L-BFGS (限制变尺度法)

    • 优势:使用这些算法,通常不需要手动选择学习率α,它们内部有智能的内部循环(线性搜索算法)寻找最优的α,收敛速度比梯度下降更快。

    • 缺点:太过复杂,更应调用现有的软件库,而非自己编写代码。

  1. 多分类问题

由于二分类问题中,将数据区分为正类与负类的二分类。

因此对于多分类问题,核心思想非常直观:将多分类问题分解为多个独立的二分类问题。

对于一个有 K个类别(K > 2)的分类任务,不是训练一个复杂的多分类模型,而是训练K个独立的二分类器。

  • 每个二分类器都专门负责回答一个特定的是/否问题:“这个样本是属于第 i 类,还是属于其他所有类别?”

  • 在预测时,我们让这 K个分类器都对这个新样本进行判断,然后看哪个分类器“最有信心”地说“是”,就将该样本归为哪一类。

线性回归

逻辑回归

任务类型

回归

分类

输出含义

预测一个连续的数值。

预测一个离散的类别。

输出范围

输出值可以是任意实数,范围是 (-∞, +∞)

输出值是一个概率,范围被限制在 (0, 1)之间。然后根据这个概率(通常以0.5为阈值)最终判定类别。

假设函数

h_θ(x) = θ₀ + θ₁x₁ + θ₂x₂ + ... + θₙxₙ

(线性方程)

h_θ(x) = g(θᵀX) = 1 / (1 + e^{-θᵀX})

(其中 g(z)是Sigmoid函数)

函数图形

一条直线(或平面/超平面)。

一条 “S”形曲线。

决策边界

不直接提供决策边界。

虽然其核心是概率输出,但本质上是用一个线性决策边界(如 θᵀX = 0)来划分空间,再通过Sigmoid函数将其“软化”为概率。

代价函数

均方误差

J(θ) = (1/2m) * Σ(h_θ(x⁽ⁱ⁾)-y⁽ⁱ⁾)²

对数损失函数

J(θ)=-(1/m)*Σ[y⁽ⁱ⁾*log(h_θ(x⁽ⁱ⁾)) + (1-y⁽ⁱ⁾)*log(1-h_θ(x⁽ⁱ⁾))]

设计原因

目标是让预测值尽可能地接近真实值,直接最小化它们之间的平方差距在数学上是合理且有效的。

如果使用均方误差,代价函数会变成非凸函数,有很多局部最小值,不利于优化。对数损失函数能很好地惩罚预测概率与真实标签之间的差异:

  • 当真实标签y=1时,预测概率h(x)越小(即预测错误),代价会趋于无穷大。

  • 当真实标签y=0时,预测概率h(x)越大(即预测错误),代价也会趋于无穷大。

这个函数是凸函数,能保证找到全局最优解。

常用指标

均方误差,均方根误差,平均绝对误差,R²分数等。这些指标都用于衡量预测值与真实值之间的误差。

准确率,精确率,召回率,F1-Score,AUC-ROC曲线等。这些指标都用于衡量分类结果的准确性和可靠性。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐