机器学习04-逻辑回归(python)-02原理与损失函数
1. 逻辑回归概念
逻辑回归(Logistic Regression) 是一种 分类模型,主要用于解决 二分类问题(即分成两类,如是否通过、是否患病等)。逻辑回归的目标是根据输入的特征预测一个 概率,这个概率值介于 0 到 1 之间。
逻辑回归与线性回归的关系:
-
线性回归 是用来预测连续值的(如房价、身高),它输出的是一个具体的数值。
-
逻辑回归 则是用来预测类别的(如是否通过考试),它通过一个线性模型输出一个概率值,表示某个样本属于某一类别的概率。
总结:
-
线性回归输出数值,而逻辑回归输出概率。
-
逻辑回归的输出值是 0 到 1 之间的概率,通常我们会设定一个阈值,比如 0.5,将大于 0.5 的归为 1 类,低于 0.5 的归为 0 类。
2. 基本思想
逻辑回归的基本思想,我们可以从以下几个步骤来理解。
Step 1. 线性模型
逻辑回归首先构建的是一个线性模型,即根据输入的特征计算出一个值: 这里的 ( w ) 是权重向量,表示每个特征的重要性;( b ) 是偏置项,帮助调整模型的输出。
这个线性模型的输出 可以是任何实数(正数、负数、大值、小值都有可能)。但是我们不能直接使用这个值进行分类,因为分类任务需要输出的值在 0 到 1 之间,表示概率。
Step 2. Sigmoid 函数
为了将线性模型的输出值转换为 0 到 1 之间的概率值,逻辑回归使用了 Sigmoid 函数:其中,。
Sigmoid 函数的作用:
-
将任意实数映射到 0 到 1 之间。例如,当 ( z ) 非常大时,Sigmoid 函数的输出接近 1;当 非常小时,Sigmoid 函数的输出接近 0。
-
输出的概率值 表示样本属于某一类别(通常为 1 类)的概率。
Step 3. 分类预测
逻辑回归的最终目标是对样本进行分类。我们通常通过设定一个 阈值 来判断:
-
如果 函数的输出概率值大于设定的阈值(如 0.5),则预测该样本属于 1 类;
-
如果小于阈值,则预测该样本属于 0 类。
总结:逻辑回归首先通过线性模型计算出一个值,然后将该值通过 Sigmoid 函数转换为概率,最后根据设定的阈值进行分类。
3. 逻辑回归的假设函数
在逻辑回归中,假设函数表示的是模型如何通过输入 ( x ) 得到输出的概率值。假设函数如下:其中:
-
是输入特征的线性组合;
-
是 Sigmoid 函数,用来将线性模型的输出转换为概率值。
通过这个假设函数,我们可以将任何输入特征转换为一个概率值,这个概率值用于表示样本属于某一类的可能性。
4. 逻辑回归的预测过程(PPT中的例子)
看PPT中的例子,假设有一组样本输入特征,逻辑回归的预测过程可以总结为以下几个步骤:
-
输入样本特征:如一个人的年龄、体重、是否吸烟等特征。
-
线性回归计算:根据权重 ( w ) 和偏置 ( b ),计算出线性回归的结果 。
-
Sigmoid 函数转换:将线性回归的输出通过 Sigmoid 函数转换为概率值。
-
分类结果:根据设定的阈值,将概率值转换为预测类别。
举例:
假设有一个样本的输入特征为 ( x = [年龄, 体重, 是否吸烟] ),计算过程如下:
-
使用权重和特征的线性组合计算出 ,例如输出为 1.5。
-
通过 Sigmoid 函数将 1.5 转换为概率 。
-
假设阈值为 0.6,由于 0.82 > 0.6,因此预测该样本属于 1 类。
5. 损失函数:对数似然损失
为了衡量逻辑回归模型的好坏,我们需要计算 损失函数。损失函数表示模型的预测值与真实值之间的差距。逻辑回归使用的损失函数是 对数似然损失函数,又称为 交叉熵损失(Cross-Entropy Loss)。
损失函数的公式如下: 其中:
-
是第 ( i ) 个样本的真实类别(0 或 1);
-
是模型预测第 ( i ) 个样本属于 1 类的概率。
损失函数的工作原理:
-
如果样本的真实标签是 1,那么模型预测的概率值越接近 1,损失就越小。
-
如果样本的真实标签是 0,那么模型预测的概率值 越接近 0,损失也越小。
举例:
假设我们有一个样本,它的真实类别是 1,模型预测它的概率为 0.9。根据损失函数公式: [ 损失 = ] 由于预测的概率接近真实值(1 类),损失较小,说明模型预测得很好。
如果模型预测的概率为 0.1(远离真实值),则损失会非常大,表明模型预测得很差。
6. 逻辑回归的优化:梯度下降
为了让模型能够更好地预测,我们需要找到 最优的参数 ( w ) 和 ( b )。为此,我们使用 梯度下降 来最小化损失函数。
梯度下降的步骤:
-
计算损失函数的梯度:损失函数对参数 ( w ) 和 ( b ) 的偏导数。
-
更新参数:沿着负梯度方向更新参数,使得损失函数的值逐渐减小。
更新公式如下:这里的 是学习率,控制每次更新的步长大小。
通过反复进行梯度下降,模型会逐渐找到最优的参数,使得损失函数达到最小值。
总结
-
逻辑回归的工作原理:逻辑回归通过线性模型输出一个值,并通过 Sigmoid 函数将其转换为 0 到 1 之间的概率值,表示样本属于某一类的概率。
-
损失函数:使用对数似然损失函数衡量模型预测结果与真实结果的差距,模型通过最小化损失函数来优化自身参数。
-
梯度下降:通过梯度下降算法更新模型的参数,使损失函数逐渐减小,找到最优的模型参数。
逻辑回归是一种非常直观和基础的分类算法,理解了它的原理可以帮助我们更好地理解其他更复杂的模型。