Press "Enter" to skip to content

“逻辑回归一站式解决方案”

“逻辑回归一站式解决方案” 四海 第1张

逻辑回归?为什么叫做回归?它是线性的吗?为什么这么受欢迎?对数几率是什么意思?

嗯,所有这些问题都是每个开始学习逻辑回归的人都会问的典型问题。我也曾陷入困惑。所以我试着阅读了VoAGI、towardsdatascience、analyticsvidhya、machinelearningmastery等各种文章。网络上的内容非常棒,但是为了更好地理解这个主题,你实际上需要访问所有这些网站。

为了让事情变得简单些,我想准备一篇文章,它可能会成为你所需的所有逻辑回归的一站式指南。

大纲:

  • 什么是逻辑回归?
  • 为什么不直接使用线性回归进行分类?
  • S型曲线和逻辑回归
  • 对数几率和正态分布函数
  • 为什么在用于分类时称之为回归?
  • 为什么它是线性模型?
  • 为什么特别使用对数几率函数?
  • 逻辑回归的损失函数
  • 逻辑回归的代价函数

1. 什么是逻辑回归?

逻辑回归是一种用于分类问题的监督学习算法。它被开发出来是为了预测事件发生的概率。与许多分类算法不同,逻辑回归实际上预测事件发生的概率,而不是预测事件是否发生(1)或者不发生(0)。逻辑回归是线性回归方程函数的改变版本,因此被称为逻辑回归。

2. 为什么不直接使用线性回归进行分类?

假设您已经熟悉线性回归和最佳拟合线的概念,让我们考虑一个问题来更好地理解。

问题:我们需要根据学生学习的小时数预测他/她是否通过考试。考虑到学习小时数(x轴)和通过考试的概率(y轴),预测结果要么是0(不通过),要么是1(通过)。然后,图形中的点要么沿y = 0要么沿y = 1。现在,如果我们针对这样的问题拟合一个回归模型,使用线方程y = ax + b,最佳拟合线的样子如下:

分类问题的线性回归拟合

现在,考虑一个阈值,假设为5。我们决定在阈值上的点(5)的概率为0.5。因此,阈值以上的点被预测为1,阈值以下的点被预测为0。这样的模型将在许多情况下预测得不错。正如我们所看到的,小于5的点被预测为0,所以学习了4个小时的人被预测为不通过(0),而学习了8个小时的人被预测为通过(1)。

现在,我们来考虑学习小时数发生变化的情况。从4.5到5.5的学习小时数变化将导致预测从0(不通过)变为1(通过)。但从7到10小时的学习小时数变化,概率将保持不变,即1(通过)。

  • 这说明只增加一个小时的学习时间(从4.5到5.5),一个人通过的机会要比增加3个小时的学习时间(从7到10)要高得多。尽管学习小时数的边际变化是1个单位,但前者通过的概率变化非常大。

因此,在分类问题中使用直线拟合时,边际增长似乎是恒定的

  • 线性回归拟合的另一个问题是,直线可以预测大于1和小于1的值。这意味着该直线在迫使拟合数据。大于1或小于1的预测在概率上毫无意义,因为概率只能在0和1之间。

因此,线性回归模型是对分类问题的强制拟合

到目前为止,我们只需要知道一条直线无法很好地拟合模型,因为:

  1. 在使用直线拟合分类问题时,边际增长似乎是恒定的。
  2. 线性回归模型预测低于0和高于1的点,因此对于分类问题是强制的拟合。

因此,我们需要一个适合模型且超越线性模型以上所述限制的曲线。这就是逻辑回归发挥作用的地方。

我们可以想象的最佳模型对于以上情况可能是一个’S曲线’。

3. 现在什么是S曲线?

嗯,答案很简单。S曲线就是S曲线。它看起来像这样:

S曲线

这些曲线被称为S型曲线

如果我们将这样的S曲线拟合到我们的分类问题中,它将看起来像这样:

分类问题上的Sigmoid函数

这个曲线解决了我们大部分的问题。

  • 曲线几乎完美地拟合了数据。它从0开始,并在1处趋于平缓。
  • 由于曲线是非线性的,并在需要预测的类之间提供了良好的插值,因此数据的边际变化不能是恒定的。
  • 曲线范围从0到1(如图所示)。因此,预测可以很好地转化为概率(没有负值),从而可以用于分类。

因此,我们将不再拟合具有方程的回归线: y = ax + b,而是拟合方程的某个函数,该函数给出S型曲线: f(ax + b)

有许多函数可以产生S型曲线,但最流行的函数是LogitProbit函数曲线。

Logit函数:y = 1/(1+e^-(ax + b))

Probit函数:y = ⏀(x)

Probit函数是正态分布曲线的累积分布函数。

当我们寻找最佳Logit函数来拟合数据以进行预测时,我们称之为逻辑回归

4. 为什么我们要谈论这么多关于Logit函数?

嗯,答案很简单 – 它使用线性模型方程,提供了一个可靠的S型曲线,并且容易进行微分。由于易于微分,对于计算梯度下降和找到代价函数的全局最小值来说更容易。

5. 为什么它被称为回归?

产生S型曲线(S曲线)的logit函数通过处理线性回归线的系数,即y = ax + b

这意味着在后端,逻辑回归执行与线性回归模型相同的任务

大多数熟悉线性回归的人都知道算法的目标是估计模型系数的值,即计算函数Y= b + a₁X₁ + a₂X₂ + a₃X₃ + ….. +aₙXₙ的a1、a2、a3、……、b的值,并在最小误差(RMSE、MSE等)下拟合训练数据并预测输出Y

嗯,逻辑回归在底层完成相同的任务,但稍微有所增加。它在评估模型系数后获得输出y,并在一个函数(对数比、概率等)下运行,产生一个S形曲线,从而预测事件的概率。

因为逻辑回归模型在底层评估线性回归方程的系数,然后通过一个函数传递,所以它被称为回归而不是分类算法。

6. 它是线性模型还是非线性模型?

这是一个非常常见的问题,经常让人困惑。

Sigmoid曲线是一条非线性曲线,如果一个函数有非线性曲线,那么它应该是非线性的。尽管如上所述,逻辑回归被认为是一种线性模型。这可以通过对logit函数进行一点重新排列来证明。

“逻辑回归一站式解决方案” 四海 第5张

如果我们对两边取对数并重新排列等式,我们将得到

“逻辑回归一站式解决方案” 四海 第6张

比值y/1-y被称为几率比。它是事件发生的概率(y)与事件不发生的概率(1-y)之比。现在看等式的右侧,它形成了一个线性关系(ax + b)。

由于几率比的对数是x的线性函数,所以逻辑回归被称为线性模型。

但是,逻辑回归的曲线是非线性的,因此控制预测y的函数是非线性的,但模型是线性的。

7. 逻辑回归的损失函数

损失函数,就像我们知道的,是一个考虑到预测错误的函数。当对一个数据点进行损失函数计算时,称为损失函数,当对整个数据集进行计算时,称为代价函数

因此,逻辑回归的损失函数应该在我们预测与实际正好相反的点时给出更多的错误,而在正确预测时给出较小的错误。我的意思是对于实际标签(y)为1,如果预测标签(ŷ)为0.14,那么误差应该很大,如果预测标签为0.98,误差应该很小,这意味着对于y=1,如果ŷ更接近1,误差应该较小,如果ŷ越接近0,误差应该较高。

上述陈述可以定义为:

“逻辑回归一站式解决方案” 四海 第7张

为了使上述公式在数学上有意义,我们定义了对数损失

“逻辑回归一站式解决方案” 四海 第8张

对于实际标签(y)= 1,损失将为-log(ŷ),对于y = 0,损失将为-log(1-ŷ)

示例。考虑预测的值ŷ = 1和ŷ = 0

“逻辑回归一站式解决方案” 四海 第9张

以上函数可以用以下公式表示:

“逻辑回归一站式解决方案” 四海 第10张

上述方程是逻辑回归的损失函数,称为LogLoss

8. 逻辑回归的成本函数

当计算整个数据集的损失函数时,称为成本函数

“逻辑回归一站式解决方案” 四海 第11张

其中m是数据样本的数量,因此,逻辑回归的成本函数可以写为:

“逻辑回归一站式解决方案” 四海 第12张

好了,关于逻辑回归就是这些。由于易于实现和理解,逻辑回归算法在涉及医学诊断、客户流失预测、信用风险管理等机器学习分类问题中越来越受欢迎。希望本文能对你有所帮助。

结尾!

还可以查看以下内容:

支持向量机一站式服务

支持向量?机器?奥斯瓦尔德·莫斯利为什么没死?

VoAGI.com

KNN一站式服务

最近邻居?这些邻居有多近?希望它们不咬人!

VoAGI.com

Leave a Reply

Your email address will not be published. Required fields are marked *