是什么让神经网络成为非线性分类模型?

机器算法验证 神经网络 非线性回归 非线性
2022-01-26 10:47:36

我试图理解非线性分类模型的数学含义:

我刚刚读到一篇文章,谈到神经网络是一种非线性分类模型。

但我只是意识到:

在此处输入图像描述

第一层:

h1=x1wx1h1+x2wx1h2

h2=x1wx2h1+x2wx2h2

下一层

y=bwby+h1wh1y+h2wh2y

可以简化为

=b+(x1wx1h1+x2wx1h2)wh1y+(x1wx2h1+x2wx2h2)wh2y

=b+x1(wh1ywx1h1+wx2h1wh2y)+x2(wh1ywx1h1+wx2h2wh2y)

一个两层神经网络只是一个简单的线性回归

=b+x1W1+x2W2

这可以显示给任意数量的层,因为任意数量的权重的线性组合也是线性的。

是什么真正使神经网络成为非线性分类模型?
激活函数将如何影响模型的非线性?
你能给我解释一下吗?

3个回答

我认为您忘记了神经网络中节点中的激活函数,它是非线性的,会使整个模型成为非线性的。

在你的公式中并不完全正确,在哪里,

h1w1x1+w2x2

h1=sigmoid(w1x1+w2x2)

像这样的sigmoid函数,sigmoid(x)=11+ex

在此处输入图像描述

让我们用一个数值例子来解释 sigmoid 函数的影响,假设你有w1x1+w2x2=4然后sigmoid(4)=0.99. 另一方面,假设你有w1x1+w2x2=4000,sigmoid(4000)=1它几乎和sigmoid(4),这是非线性的。


此外,我认为本教程中的幻灯片 14可以准确地显示您在哪里做错了。为了H1请不要 otuput 不是 -7.65,但是sigmoid(7.65)

在此处输入图像描述

您是正确的,多个线性层可以等效于单个线性层。正如其他答案所说,非线性激活函数允许非线性分类。说分类器是非线性的意味着它具有非线性决策边界。决策边界是一个分隔类的表面;分类器将为决策边界一侧的所有点预测一个类别,并为另一侧的所有点预测另一个类别。

让我们考虑一个常见的情况:使用包含多层非线性隐藏单元和具有 sigmoid 激活函数的输出单元的网络执行二进制分类。y给出输出,h是最后一个隐藏层的激活向量,w是它们在输出单元上的权重向量,并且b是输出单元的偏差。输出是:

y=σ(hw+b)

在哪里σ是逻辑 sigmoid 函数。输出被解释为类的概率1. 预测类c是:

c={0y0.51y>0.5

让我们考虑关于隐藏单元激活的分类规则。我们可以看到隐藏单元激活被投影到一条线上hW+b. 分配类的规则是y,它与沿线的投影单调相关。因此分类规则等价于判断沿线的投影是否小于或大于某个阈值(在这种情况下,阈值由偏差的负值给出)。这意味着决策边界是一个与线正交的超平面,并在对应于该阈值的点处与线相交。

我之前说过,决策边界是非线性的,但超平面正是线性边界的定义。但是,我们一直在将边界视为输出之前隐藏单元的函数。由于先前的隐藏层及其非线性激活函数,隐藏单元激活是原始输入的非线性函数。考虑网络的一种方法是将数据非线性地映射到某些特征空间中。该空间中的坐标由最后一个隐藏单元的激活给出。然后网络在这个空间中执行线性分类(在这种情况下为逻辑回归)。我们还可以将决策边界视为原始输入的函数。由于从输入到隐藏单元激活的非线性映射,该函数将是非线性的。

这篇博客文章展示了这个过程的一些漂亮的图形和动画。

非线性来自 sigmoid 激活函数 1/(1+e^x),其中 x 是您在问题中引用的预测变量和权重的线性组合。

顺便说一句,这个激活的界限是 0 和 1,因为分母变得如此之大以至于分数接近于零,或者 e^x 变得如此之小以至于分数接近 1/1。