一个具有单个隐藏层的网络可以神经元(其中) 逼近任意函数,使该网络的误差接近作为方法?
一个神经网络可以只用11隐藏层解决了什么问题?
机器算法验证
机器学习
神经网络
2022-01-31 06:43:27
4个回答
这个问题似乎暗示了所谓的通用逼近定理的某个版本。这是来自 Wikipedia 的 Cybenko UAT的声明。
修复一个连续函数(激活函数)和正整数. 功能不是多项式当且仅当,对于每个连续函数函数(目标函数),每个紧凑子集的,并且每个存在一个连续函数(层输出)具有表示:
在哪里是可组合的仿射图和表示组件组合,使得近似界:对都成立(从到的距离可以无限小)。
所以并不是任何函数都可以近似——函数必须是连续的。在某个紧凑子集和某些未指定的上,该误差仅小于。
在你有一些数据并且你想估计一个神经网络的实际设置中,Cybenko UAT 是沉默的——它没有告诉你如何去估计,也没有告诉你如何选择隐藏层的宽度,以达到这个精度。
最后,对某些类型的函数实现小的近似误差并不等同于“解决任何问题”。
(神经网络有许多近似定理,它们得出不同的结论(但主题相似)并有不同的假设。)
该问题询问“任意功能”和“任何问题”;接受的答案只讨论连续函数。
对于现在所说的问题的答案,在两个版本中,显然都是“否”。一些有趣的反例:
- “任何问题”包括图灵的Entscheidungsproblem,这是众所周知的无法解决的问题。
- “任意函数”,如果你想解决更“数学”的问题,可能会很奇怪。阿克曼函数是一个很好的例子,它具有相对温和的定义,任何具有基本数学技能(和大量时间)的孩子都可以轻松计算它,但它以巨大的速度增长(比指数快得多)。它不是原始递归的,也就是说,它不能由仅由
for
循环组成的程序计算,即每个循环的迭代次数在循环开始时是已知的。具有非常简单的线性求和神经元结构和一些乘法的神经网络仅限于原始递归函数(至少在无界域上)并且无法近似。 - 有一些不连续的函数作为反例当然也很有效,例如Dirichlet 函数。
- 根据评论,并且脚踏实地,一个简单的
sin
函数也可以提供有关 UAT 的反例。
更多关于“网络错误接近 0”的评论
关于贝叶斯错误率有一个重要的概念。即使是最强大的模型也可能达到非常高的错误率,只是因为存在很大的不可约误差。
举个例子,想想我们是否有大量具有完全相同特征但标签不同的数据。
其它你可能感兴趣的问题