什么是逻辑算法?(逻辑回归算法是最常用的二值分类机器学习算法之一)

qinzhiqiang 12-31 17:04 722次浏览

逻辑回归算法是最常用的二值分类机器学习算法之一,是一个相对简单的算法。它可以用作性能基线,并且在许多任务中都表现得很好。因此,每一个机器学习工程师都应该对它有所了解。在这篇文章中,你将学习什么是逻辑回归算法,它是如何工作的,优点、缺点有哪些等等。

内容表:

  • 什么是逻辑回归算法?
  • 它是如何工作的
  • 逻辑算法VS线性回归算法

优缺点:

  • 什么情况下需要使用逻辑回归算法
  • 多类分类(OVA,OVO)
  • 其他分类算法

摘要

1,什么是逻辑回归

和许多其他机器学习技术一样,它是从统计领域借用来的。尽管它的名称是回归算法,但它不是用于解决回归问题的算法。因为在回归问题中,您需要的是一个连续的结果。然而,逻辑回归算法是二元分类的一种算法,是0到1之间的离散二进制结果。用简单的话来说,两者之间没有必然联系。

以检测癌症为例,该算法通过筛选图片并输入,判断患者是否患有癌症(1)或不患癌症(0)。

2,它是如何工作的

逻辑回归算法利用因变量(通常是标签,或我们想要预测的内容)和一个或多个自变量(通常指特征)之间的关系,利用它的基本逻辑函数来估计概率。

然后,要进行实际预测,则需要将概率转换为二进制值。这是逻辑函数的任务,也称为sigmoid函数。Sigmoid函数是一条S形曲线,它可以取任何实数,并将其映射为0到1之间的值。(但取值多不会取到0或1。)然后通过阈值分类器将0到1之间的值转换为0或1。

下图将为您提供逻辑回归所需的输出步骤。

下图是逻辑函数(Sigmoid函数)的函数图:

我们把正确分类的(最大化)随机数据点的可能性,称为最大似然估计。最大似然估计是统计模型中估计参数的一种通用方法。当然还有其他算法,比如优化算法。牛顿法就是这样一种算法,它多用来求不同函数的最大值(或极小值),包括似然函数。除了牛顿法,您也可以使用梯度下降。

3,逻辑算法VS线性回归算法

你可能会问自己,逻辑回归和线性回归的区别是什么?逻辑回归算法给你一个离散的结果,而线性回归算法给出一个连续的结果。这就是不同,举一个结果是连续的例子,比如建立一个预测房屋价值的模型。由于它的大小或位置等参数不同,它的最终值是不确定的。而离散结果往往是确定的,即你得了癌症或你没有癌症。

4,优缺点

它被人们广泛采用。优势在于,它非常高效,不需要太多的计算资源。它具有高度的可解释性,它不需要对输入的内容进行缩放。它不需进行任何调试,就有较好的预测率。

与线性回归相比。当您删除与输出变量无关的属性或与输出变量相似的属性,逻辑回归确实工作得更好。需要了解的是,特征工程对逻辑回归算法和线性回归算法的性能都有着重要的影响。逻辑回归算法的优点是,它非常容易操作,并且可以进行针对性的训练。

作者通常以逻辑回归算法模型作为基础,并尝试使用更复杂的算法。

由于它操作简单,而且它相对容易、快速的落实。逻辑回归算法可以作为您来衡量其他更复杂的算法性能的一条基线。

它的缺点是由于它的决策面是线性的,而逻辑回归算法是不能求解非线性问题的。只需看看下面的例子。(它是两个包含二进制特点的例子。

很明显,我们不能保证在不犯错误的情况下画出分隔这两类的线。使用一个简单的决策树反而是更好的选择。

Logistic回归不是最强大的算法,它很容易被更复杂的算法所超越。另一个缺点是它高度依赖于适当的数据表示。这意味着,如果您没有确定了所有重要的自变量,不建议您使用。因为Logistic回归只能预测一个绝对的结果。作为一种算法,它太容易受到数据的影响。

5,何时使用

正如我已经提到的,Logistic回归算法将您的输入通过一个线性边界划分为两个“区域”,每类都有一个。所以,您的数据必须是线性可分的,就像下面图像中的数据点一样:

换句话说:当变量Y只有两个值时,您可以考虑使用Logistic回归算法。需要注意的是,Logistic回归算法还可以进行多类分类,下一节作者将对此进行讨论。

6.多类分类

有一些算法可以自己处理(预测)多个类,如Random Forest分类器和Naive Bayes分类器。但有些算法不能做到这一点,比如Logistic回归算法。但是使用一些技巧,您也可以用它预测多个类。

以MNIST数据集为例,讨论刚才所说的“技巧”,该数据集包含从0到9不等的手写数字图像。作为一个分类任务,我们的算法应该告诉我们图像上的数字。

1) one-versus-all

使用此策略,您将训练10个二进制分类器,每个数字一个。这意味着训练一个分类器来检测0s,一个用来检测1s,一个用来检测2s等等。然后,当您想对图像进行分类时,只需查看哪个分类器的决策得分最高就行。

2)one-versus-one

在这里,您将为每一对数字训练一个二进制分类器。这意味着训练一个能区分0s和1s的分类器,一个能区分0s和2s的分类器,一个能区分1s和2s等的分类器。如果有N类,则需要对NxN(N-1)/2分类器进行培训。在MNIST数据集中分类器个数应为45。

当你想对图像进行分类时,你需要运行这45个分类器中的每一个,最后并选择性能最好的那一个。这么做的优势是,你只需要在它所区分的两个类的训练集合中训练它。相较于支持向量机(SupportVectorMachine)等算法在大型数据集上不能很好的应用。使用像Logistic回归算法和OVO策略这样的二进制分类算法反而是更好的选择。因为在一个小数据集上训练大量分类器比在大型数据集中训练一个分类器要快得多。

在大多数算法中,skLearning在多类分类任务中使用二进制分类器并自动使用OVA策略。有一个例外:当您尝试使用支持向量机分类器时,它会自动运行Ovo策略。

7,其他分类算法

常见的分类算法有Naive Bayes, Decision Trees, Random Forests, Support Vector Machines, k-nearest neighbor and many others,这些也将是作者在后面讨论的内容。

8,摘要

在这篇文章中,您了解了什么是逻辑回归算法以及它是如何工作的。您现在已经对它的优点和缺点有了充分的了解,并且知道什么时候可以使用它。此外,您还发现了使用逻辑回归算法对skLearning进行多类分类的方法,以及为什么它是比较其他机器学习算法的一个很好的基线。