比较线性回归和逻辑回归

关于入门级数据科学面试问题的讨论

数据科学访谈的深度各不相同。 一些面试非常深入,测试候选人对高级模型或棘手微调的了解。 但许多面试都是在入门级进行的,试图测试应聘者的基本知识。 在这篇文章中,我们将看到一个可以在这样的采访中讨论的问题。 尽管问题非常简单,但讨论提出了机器学习基础知识的许多有趣方面。

问题:线性回归和逻辑回归有什么区别?

两者之间实际上有很多相似之处,首先是他们的名字听起来非常相似。 他们都使用线作为模型函数。 他们的图表看起来也非常相似。

图片作者

但是尽管有这些相似之处,它们在方法和应用上却有很大不同。 我们现在将强调这些差异。 为了进行比较,我们将使用在讨论任何机器学习模型时通常考虑的以下几点:

  • 假设或模型族
  • 输入和输出
  • 损失函数
  • 优化技术
  • 应用领域

我们现在将在每个点上比较线性回归 (LinReg) 和逻辑回归 (LogReg)。 让我们从应用开始,让讨论走上正轨。

图片来源:Rajashree Rajadhyax

线性回归用于根据其他数量估算数量。 例如,想象一下作为一名学生,您在暑假期间经营一家柠檬水摊。 你想知道明天要卖多少杯柠檬水,这样你才能买到足够的柠檬和糖。 根据您长期销售柠檬水的经验,您已经发现销售与当天的最高温度有很强的关系。 所以你想使用预测的最高温度来预测柠檬水的销售。 这是一个经典的 LinReg 应用程序,在 ML 文献中通常称为预测。

LinReg 还用于查明特定输入如何影响输出。 在柠檬水摊位示例中,假设您有两个输入 - 最高温度和当天是否是假期。 您想找出哪个对销售的影响更大——最高温度或假期。 LinReg 将有助于识别这一点。

LogReg主要用于分类。 分类是将输入分类到许多可能的篮子之一中的行为。 分类对人类智能如此重要,以至于说“大部分智能都是分类”并没有错。 分类的一个很好的例子是临床诊断。 考虑老人,可靠的家庭医生。 一位女士走进来抱怨不停地咳嗽。 医生进行各种检查以在许多可能的情况之间做出决定。 一些可能的情况相对无害,比如一阵喉咙感染。 但有些很严重,例如肺结核甚至肺癌。 根据各种因素,医生决定她所患的疾病并开始适当的治疗。 这是工作中的分类。

我们必须记住,估计和分类都是猜测任务而不是计算。 此类任务没有确切或正确的答案。 猜测任务是机器学习系统擅长的。

机器学习系统通过检测模式来解决猜测问题。 他们从给定的数据中检测出一种模式,然后将其用于执行估计或分类等任务。 在自然现象中发现的一个重要模式是关系模式。 在此模式中,一个数量与另一个数量相关。 在大多数情况下,这种关系可以通过数学函数来近似。

从给定数据中识别数学函数称为“学习”或“训练”。 学习分为两步:

  1. 函数的“类型”(例如线性、指数、多项式)由人选择
  2. 学习算法从给定数据中学习参数(如直线的斜率和截距)。

因此,当我们说机器学习系统从数据中学习时,这只是部分正确。 选择功能类型的第一步是手动操作,是模型设计的一部分。 函数类型也称为“假设”或“模型族”。

在 LinReg 和 LogReg 中,模型族都是线性函数。 如您所知,直线有两个参数——斜率和截距。 但这只有在函数只接受一个输入时才是正确的。 对于大多数现实世界的问题,有不止一个输入。 这些情况的模型函数称为线性函数,而不是直线。 线性函数有更多的参数需要学习。 如果模型有 n 个输入,则线性函数有 n+1 个参数。 如前所述,这些参数是从给定数据中学习的。 出于本文的目的,我们将继续假设该函数是带有两个参数的简单行。 LogReg 的模型函数稍微复杂一些。 该行在那里,但它与另一个功能结合在一起。 我们稍后会看到这一点。

正如我们上面所说,LinReg 和 LogReg 都是从给定的数据中学习线性函数的参数,称为训练数据。 训练数据包含什么?

训练数据是通过记录一些真实世界的现象(RWP)来准备的。 例如,白天最高温度与柠檬水销量之间的关系是一个 RWP。 我们看不到潜在的关系。 我们所能看到的只是每天的温度值和销售额。 在记录观察结果时,我们将一些数量指定为 RWP 的输入,将其他数量指定为输出。 在柠檬水示例中,我们将最高温度称为输入,将柠檬水的销售称为输出。

图片作者

我们的训练数据包含成对的输入和输出。 在此示例中,数据将包含每日最高温度行和出售的柠檬水杯数。 这将是 LinReg 的输入和输出。

LogReg 执行的任务是分类,因此它的输出应该是一个类。 假设有两个类,分别称为 0 和 1。模型的输出也应该是 0 或 1。

但是,这种指定输出的方法不是很合适。 见下图:

图片作者

黄色的点属于 1 类,浅蓝色的点属于 0 类。这条线是我们的模型函数,将这两个类分开。 根据这个分隔符,黄色点(a 和 b)都属于 Class 1 。 但是,b 点的隶属度比 a 点的隶属度确定得多。 如果模型简单地输出 0 和 1,那么这个事实就丢失了。

为了纠正这种情况,LogReg 模型产生每个点属于某个类别的概率。 在上面的示例中,点“a”属于类别 1 的概率较低,而点“b”属于类别 0 的概率较高。 由于概率是 1 到 XNUMX 之间的数字,因此 LogReg 的输出也是如此。

现在看下图:

图片作者

此图与之前的图相同,但添加了点 c。 这个点也属于1类,其实比b点更确定。 但是,根据点与线的距离来增加点的概率是错误的。 直觉上,一旦你离开直线一定距离,我们或多或少就会确定这些点的成员资格。 我们不需要进一步增加概率。 这符合概率的本质,其最大值可以为1。

为了让 LogReg 模型能够产生这样的输出,线函数必须连接到另一个函数。 这第二个函数称为 sigmoid 函数,其方程式为:

因此 LogReg 模型看起来像:

图片作者

sigmoid 函数也称为“逻辑函数”,这也是名称为“逻辑回归”的原因。

如果有两个以上的类,则 LogReg 的输出是一个向量。 输出向量的元素是输入属于该特定类别的概率。 例如,如果临床诊断模型的第一个元素的值为0.8,则表示该模型认为患者患感冒的概率为80%。

我们看到 LinReg 和 LogReg 都是从训练数据中学习线性函数的参数。 他们如何学习这些参数?

他们使用一种称为“优化”的方法。 优化通过为给定问题生成许多可能的解决方案来工作。 在我们的例子中,可能的解决方案是 (slope, intercept) 值的集合。 我们使用性能度量来评估这些解决方案中的每一个。 最终选择在该度量上被证明最好的解决方案。

在 ML 模型的学习中,性能指标有时被称为“损失”,帮助我们计算它的函数被称为“损失函数”。 我们可以将其表示为:

损失 = Loss_Function (Parameters_being_evaluated)

术语“损失”和“损失函数”具有负面含义,这意味着较低的损失值表示更好的解决方案。 换句话说,学习是一种优化,旨在找到产生最小损失的参数。

我们现在将看到用于优化 LinReg 和 LogReg 的常见损失函数。 请注意,在实际实践中使用了许多不同的损失函数,因此我们可以讨论最常见的损失函数。

对于 LinReg 参数的优化,最常见的损失函数称为误差平方和 (SSE)。 此函数采用以下输入:

1)所有的训练数据点。 对于每个点,我们指定:

a) 输入,例如最高数据温度,

b) 产出,比如卖出的柠檬水杯数量

2)带参数的线性方程

然后该函数使用以下公式计算损失:

SSE 损失 = Sum_for_all_points(
平方(
output_of_linear_equation_for_the_inputs — 数据点的实际输出
))

LogReg 的优化措施以一种非常不同的方式定义。 在 SSE 函数中,我们提出以下问题:

如果我们用这条线来拟合训练数据,它会产生多少误差?

在设计 LogReg 优化的措施时,我们要求:

如果这条线是分隔符,我们获得训练数据中的类分布的可能性有多大?

因此,该措施的输出是一种可能性。 测度函数的数学形式使用对数,因此命名为对数似然 (LL)。 在讨论输出时,我们看到 LogReg 函数涉及指数项(e 提高到 z 的项),对数有助于有效地处理这些指数。

您应该直观地清楚优化应该最大化 LL。 这样想:我们要找到使训练数据最有可能的直线。 然而在实践中,我们更喜欢可以最小化的度量,所以我们只取 LL 的负数。 因此,我们得到了负对数似然 (NLL) 损失函数,尽管根据我的说法,将其称为损失函数并不是很正确。

所以我们有两个损失函数:LinReg 的 SSE 和 LogReg 的 NLL。 请注意,这些损失函数有很多名称,您应该熟悉这些术语。

尽管线性回归和逻辑回归看起来和听起来非常相似,但实际上它们是完全不同的。 LinReg 用于估计/预测,LogReg 用于分类。 诚然,它们都是以线性函数为基础,但 LogReg 进一步增加了 logistic 函数。 它们在使用训练数据和生成模型输出的方式上有所不同。 两者还使用了非常不同的损失函数。

进一步的细节可以探讨。 为什么选择上交所? 如何计算可能性? 为了避免更多的数学运算,我们没有在这里讨论优化方法。 但是,您必须记住,LogReg 的优化通常需要迭代梯度下降法,而 LinReg 通常可以使用快速封闭形式的解决方案。 我们可以在另一篇文章中讨论这些以及更多要点。

比较线性回归和 Logistic 回归从来源重新发布 https://towardsdatascience.com/comparing-linear-and-logistic-regression-11a3e1812212?source=rss—-7f60cf5620c9—4 通过 https://towardsdatascience.com/feed

–>

时间戳记:

更多来自 区块链顾问