【问题标题】:Neural network accuracy improvement by using polynomials使用多项式提高神经网络精度
【发布时间】:2023-01-28 07:33:34
【问题描述】:
我是神经网络背后的理论和历史的新手,并且了解到我们的主要神经元激活函数是一个线性表达式,其形式为
w1 x1 + w2 x2 + w3 x3 +...+b
我的问题是为什么不使用更高次的多项式表达式呢?那就像
a1 (w1 x1 + w2 x2 + w3 x3...+b)^n + a2(w1 x1 + w2 x2 + w3 x3...+b)^(n-1) + a3(w1 x1 + w2 x2 + w3 x3...+b)^(n-2)+...+an
假设理想的无限计算,这会提高准确性吗?如果这个问题听起来很愚蠢,我很抱歉
【问题讨论】:
标签:
math
deep-learning
neural-network
【解决方案1】:
这实际上是 GMDH 网络的一个活跃研究领域,其中熟悉的加权和被 Kolmogorov-Gabor 多项式传递函数所取代。
使用多维数据时,具有所有交叉项的“完整”多项式会变得非常大。在训练 GMDH 网络的过程中,形式的多项式
是自适应形成的,附加交叉项直到达到目标复杂性。这很好,因为它与输入数据中的(未知)交叉依赖性一起工作,并防止过拟合和欠拟合。然而,正确设计和实施确实要求很高。此外,数学涉及更多,导致计算时间更长。
另一方面,“普通”人工神经网络带有 Universal Approximation Theorem,这允许它们(近似地)适合任意函数。这使得它们易于设计,因为您实际上不必考虑要适合的函数的形状(甚至维度)。
我不认为 UAT 已被证明适用于 GMDH 网络(目前),这限制了它们的应用。
所以,有点,是的。鉴于无限的计算和完美的设计,您可能可以使用更多涉及的传递函数来设计更好的网络,但由于它们的设计非常容易,因此加权和公式无处不在。