机器学习“降临日历”第 14 天:Excel 中的 Softmax 回归

Softmax 回归只是扩展到多个类别的 Logistic 回归。通过计算每个类别的一个线性分数并使用 Softmax 对其进行归一化,我们在不改变核心逻辑的情况下获得多类别概率。损失、梯度和优化保持不变。只是并行分数的数量增加。在 Excel 中实现,模型变得透明:您可以看到分数、概率以及系数如何随时间变化。机器学习“降临日历”日帖子14:Excel 中的 Softmax 回归首先出现在《Towards Data Science》上。

来源:走向数据科学

通过逻辑回归,我们学习了如何分类为两类。

现在,如果有两个以上的类会发生什么。

n 只是这个想法的多类扩展。我们将在我的机器学习“降临日历”的第 14 天讨论这个模型(点击此链接获取有关该方法和我使用的文件的所有信息)。

我们现在为每个班级创建一个分数,而不是一个分数。我们应用 Softmax 函数来生成总和为 1 的概率,而不是一个概率。

理解 Softmax 模型

在训练模型之前,我们先了解一下模型是什么。

Softmax 回归还不是关于优化。

首先是关于如何计算预测。

包含 3 个类的小型数据集

让我们使用一个包含一个特征 x 和三个类的小型数据集。

正如我们之前所说,目标变量 y 不应该被视为数值。

它代表类别,而不是数量。

表示这种情况的一种常见方法是 one-hot 编码,其中每个类都由其自己的指示符表示。

从这个角度来看,Softmax 回归可以看作是三个并行运行的 Logistic 回归,每个类一个。

小数据集非常适合学习。

您可以看到每个公式、每个值以及模型的每个部分如何对最终结果做出贡献。

模型描述

那么模型到底是什么?

每班得分

在逻辑回归中,模型得分是一个简单的线性表达式:score = a * x + b。

Softmax 回归的作用完全相同,但每个类别有一个分数:

分数_0 = a0 * x + b0

分数_1 = a1 * x + b1

分数_2 = a2 * x + b2

在这个阶段,这些分数只是实数。

它们还不是概率。

将分数转化为概率:Softmax 步骤

Softmax 将三个分数转换为三个概率。每个概率都是正数,并且所有三个概率之和为 1。

计算直接:

  • 对每个分数求幂
  • 计算所有指数的总和
  • 将每个指数除以该总和
  • 这为我们提供了每行的 p0、p1 和 p2。

    可视化 Softmax 模型

    我们有: