Softmax回归的几何解释

机器算法验证 回归 物流 广义线性模型 解释
2022-03-21 01:37:11

我正在写一系列关于机器学习基础的博客文章,只是为了好玩,主要是为了验证我对 Andrew Ng 课程的理解。由于我目前正在研究广义线性模型 (GLM),我目前的方法是为每个回归算法生成一个小的 2D 数据集,并对相应的误差函数应用批量梯度下降来训练参数。我使用 Python 工具尝试以直观的方式说明和解释结果。

在我关于线性回归的第一篇文章之后:

http://cjauvin.blogspot.ca/2013/10/linear-regression-101.html

我已经能够建立我的逻辑回归帖子,以强调训练有素的几何解释θ参数,即表明它们对应于一般形式的二维决策边界方程的参数,ax+by+c=0

http://cjauvin.blogspot.ca/2013/10/logistic-regression-101.html

接下来我一直在尝试对 softmax 回归做同样的事情(正在进行中,尚未发布):

http://nbviewer.ipython.org/6904092

一切似乎都很好(即负对数似然正在最小化,以及分类错误,正如我的笔记本图表所示)但是当我尝试解释θ几何方式的参数,就像我对逻辑回归所做的那样:由此产生的决策线没有意义(正如我笔记本的最后一张图所示)。我有很多疑问:首先尝试以这种方式解释这些参数是否有意义?或者我的训练算法中可能存在错误?或者是其他东西?

更新(不需要外部读取)

如果我在 2D 数据上训练逻辑回归模型,得到的三个组成部分θ可以解释为决策线方程的参数,一般形式(θ0x+θ1y+θ3=0),在绘制时可能会产生类似

在此处输入图像描述

如果我将此推理扩展到 3 类 softmax 回归的训练参数,则 9 个分量应对应于 3 个通用形式方程。但是,当我绘制它们时,如下所示,它们看起来不像决策线,我想知道像这样以几何方式解释它们是否有意义。如果没有,是否有另一种直观的方式可以解释它们?

在此处输入图像描述

1个回答

首先,我将参考您关于 softmax 回归的博文。

在那里进行的分析几乎完成了,它所需要的只是:当我们想在测试期间预测一个类时,我们只需选择概率最高的类。假设我们想查看第 1 类的决策区域。它对应于在所有单独的 1 与 k 案例中取对应于第 1 类的半平面的交点。生成的凸多面体将是第 1 类的决策区域。

重申一下,不需要外部阅读:softmax 回归模型返回n权重向量,每个类别一个。对于数据点 x,我们为其分配一个对应于 softmax 输出最大值的类。很明显,最大的 softmax 输出对应于我们从权重向量中得到的线性函数的最大值——我们称它们为f1,,fn. 获得类的决策边界k,我们需要解决

fk(x)=max{f1(x),f2(x),,fn(x)},
或者,等价地 对应与上述每个方程的解相交(每个方程都是一个半平面)。取结果形状的边界(顺便说一下,凸多面体)是类的决策边界。因此,softmax 将空间划分为 n 个凸多面体(尽管其中一些可能是空集)。
fk(x)>f1(x)fk(x)>f2(x)fk(x)>fn(x)
k