机器学习(3):逻辑回归
(二)分类问题
-
逻辑回归
在分类问题中,机器要预测结果属于哪个分类,也就是输出某个离散的值。
在二分类问题中,分类输出的值以【0、1】区分,而逻辑回归输出的值也约束在【0、1】区间,适用于y取值离散的状况。
-
假设函数:
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 𝐶𝑜𝑠𝑡 (ℎ𝜃(𝑥(𝑖)),𝑦(𝑖))/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)的关系如下所示:

-
梯度下降
逻辑回归中梯度下降旨在寻找最优的参数θ,使得代价函数最小化,即minJ(θ)。
尽管线性回归与逻辑回归中梯度下降的更新规则一致,但由于假设前提不同,因此两类梯度下降是不同的算法。
-
梯度下降的监控收敛,更高效的方法不是for循环更新每个参数,而是用向量化计算所有参数的梯度并更新。
-
其它方法:共轭梯度法 BFGS (变尺度法) 和L-BFGS (限制变尺度法)
-
优势:使用这些算法,通常不需要手动选择学习率α,它们内部有智能的内部循环(线性搜索算法)寻找最优的α,收敛速度比梯度下降更快。
-
缺点:太过复杂,更应调用现有的软件库,而非自己编写代码。
-
-
多分类问题
由于二分类问题中,将数据区分为正类与负类的二分类。
因此对于多分类问题,核心思想非常直观:将多分类问题分解为多个独立的二分类问题。
对于一个有 K个类别(K > 2)的分类任务,不是训练一个复杂的多分类模型,而是训练K个独立的二分类器。
-
每个二分类器都专门负责回答一个特定的是/否问题:“这个样本是属于第 i 类,还是属于其他所有类别?”
-
在预测时,我们让这
K个分类器都对这个新样本进行判断,然后看哪个分类器“最有信心”地说“是”,就将该样本归为哪一类。
|
线性回归 |
逻辑回归 | |
|---|---|---|
|
任务类型 |
回归 |
分类 |
|
输出含义 |
预测一个连续的数值。 |
预测一个离散的类别。 |
|
输出范围 |
输出值可以是任意实数,范围是 |
输出值是一个概率,范围被限制在 |
|
假设函数 |
(线性方程) |
(其中 |
|
函数图形 |
一条直线(或平面/超平面)。 |
一条 “S”形曲线。 |
|
决策边界 |
不直接提供决策边界。 |
虽然其核心是概率输出,但本质上是用一个线性决策边界(如 |
|
代价函数 |
均方误差
|
对数损失函数
|
|
设计原因 |
目标是让预测值尽可能地接近真实值,直接最小化它们之间的平方差距在数学上是合理且有效的。 |
如果使用均方误差,代价函数会变成非凸函数,有很多局部最小值,不利于优化。对数损失函数能很好地惩罚预测概率与真实标签之间的差异:
这个函数是凸函数,能保证找到全局最优解。 |
|
常用指标 |
均方误差,均方根误差,平均绝对误差,R²分数等。这些指标都用于衡量预测值与真实值之间的误差。 |
准确率,精确率,召回率,F1-Score,AUC-ROC曲线等。这些指标都用于衡量分类结果的准确性和可靠性。 |
更多推荐



所有评论(0)