神经网络是学习函数还是概率密度函数?

机器算法验证 机器学习 神经网络
2022-01-18 07:05:38

这个问题可能听起来有点奇怪,因为我是统计推断和神经网络的新手。

在使用神经网络进行分类问题时,我们说我们想学习一个函数,它将输入的空间映射到输出的空间:fxy

f(x;θ)=y

我们是拟合参数()来模拟非线性函数,还是模拟概率密度函数?θ

我真的不知道如何以更好的方式编写问题。我已经读过好几次这两件事(概率密度函数,或类似的函数),所以我很困惑。

3个回答

严格来说,神经网络是拟合非线性函数。

如果选择了合适的激活函数并遵守某些条件(值必须为正且 1 等),它们可以被解释为拟合概率密度函数。但这是一个关于你如何选择解释他们的输出的问题,而不是他们实际在做什么的问题。在幕后,它们仍然是非线性函数估计器,您选择将其应用于 PDF 估计的特定问题。

通常,神经网络不用于模拟完整的概率密度。他们的重点是仅对分布的平均值进行建模(或在确定性情况下仅对非线性函数进行建模)。然而,通过神经网络对完整的概率密度进行建模是很有可能的。

例如,对于高斯情况,一种简单的方法是从网络的一个输出发出平均值,从另一个输出发出方差,然后最小化函数作为训练过程而不是常见的平方误差。这是神经网络的最大似然过程。logN(y|x;μ,σ)

一旦你每次插入一个值作为输入来训练这个网络,它就会给你,然后你可以将整个三元组插入到密度以获得您喜欢的密度值。在这个阶段,您可以根据实际的域损失函数选择要使用的要记住的一件事是,对于,输出激活应该是不受限制的,这样你就可以将发射到应该是一个正向激活。xμσy,μ,σf(y|x)N(μ,σ)yyμinf+infσ

一般来说,除非我们追求的是确定性函数,否则神经网络中使用的标准平方损失训练与我上面描述的过程几乎相同。在引擎盖下分布而不关心,如果你仔细检查给你一个平方损失的表达式(高斯最大似然的损失函数估计器)。然而,在这种情况下,每次给定一个新的而不是您喜欢值。GaussianσlogN(y|x;μ,σ)yμx

对于分类,输出将是分布而不是分布,它有一个要发射的参数。正如其他答案中所指定的,此参数介于之间,因此输出激活应该是相应的。它可以是后勤功能或其他实现相同目的的功能。BernoulliGaussian01

更复杂的方法是 Bishop 的混合密度网络。您可以在此处经常引用的论文中了解它:

https://publications.aston.ac.uk/373/1/NCRG_94_004.pdf

我反对的答案是,在最令人印象深刻的实际应用中(例如,那些在媒体中获得最多报道的应用),它既不是函数也不是概率。他们实施随机决策。

从表面上看,NN 只是在拟合函数,将通用逼近参考排队。在某些情况下,当使用某些激活函数和特定假设(例如高斯误差)或阅读有关贝叶斯网络的论文时,NN 似乎可以产生概率分布。

然而,这只是顺便说一句。NN 的目的是为决策建模。当汽车被人工智能驾驶时,它的神经网络不会试图计算它前面有一个物体的概率,而是假设有一个物体来计算它是一个人的概率。它也没有计算传感器输入到各种对象的映射。不,NN 应该根据所有输入来做出决定是横向转向还是继续行驶。它不是在计算概率,而是在告诉汽车该做什么。