神经网络与其他一切


15

我没有从google找到满意的答案。

当然,如果我拥有的数据量达到数百万,那么深度学习就是一种方法。

我已经读到,当我没有大数据时,也许最好在机器学习中使用其他方法。给出的原因是过度拟合。机器学习:即查看数据,特征提取,从收集的内容中构建新特征等。例如删除高度相关的变量等。整个机器学习9码。

我一直想知道:为什么具有一层隐藏层的神经网络不是解决机器学习问题的灵丹妙药?它们是通用估计器,可以通过辍学,l2正则化,l1正则化,批归一化来管理过度拟合。如果我们只有50,000个培训示例,那么培训速度通常不会成为问题。在测试时,它们比随机森林要好。

那么为什么不呢?-像通常那样清理数据,估算缺失值,将数据居中,标准化数据,将其扔到具有一个隐藏层的神经网络集合中并应用正则化,直到看不到过度拟合为止,然后进行训练他们到最后。梯度爆炸或梯度消失是没有问题的,因为它只是2层网络。如果需要较深的层,则意味着要学习分层功能,然后其他机器学习算法也不好。例如,SVM是仅具有铰链损耗的神经网络。

一个示例,其中其他一些机器学习算法的性能将超过经过精心调整的2层(也许是3?)神经网络。您可以给我链接到问题,然后我将训练最好的神经网络,我们可以看到2层或3层神经网络是否低于其他任何基准机器学习算法。


14
神经网络是一种机器学习算法……
马修·德鲁里

6
当然,在某些领域中,深度学习是最重要的领域,例如图像识别,但是在大多数其他领域中,它们往往以梯度提升为主导,这从观察Kaggle竞赛的结果可以明显看出。
杰克·韦斯特伦

1
@MatthewDrury-确实是!不好意思的道歉。我希望该消息能够传达。尽管如此,仍要更改问题,以使其更可靠。感谢您指出
MiloMinderbinder

1
关于网络深度,一定要检查一下:stats.stackexchange.com/questions/182734
jld

Answers:


31

每种机器学习算法都有不同的归纳偏差,因此并不总是适合使用神经网络。通过简单的线性回归而不是非线性网络的集成,总是可以最好地了解线性趋势。

如果您查看过去的Kaggle竞赛的获胜者,除了图像/视频数据面临的任何挑战之外,您会很快发现神经网络并不是解决所有问题的方法。这里有一些过去的解决方案。

应用正则化,直到看不到过度拟合,然后将它们训练到最后

无法保证您可以应用足够的正则化来防止过度拟合,而又不会完全破坏网络学习任何东西的能力。在现实生活中,消除火车测试的差距几乎是不可行的,这就是为什么论文仍然报告火车和测试性能的原因。

他们是普遍估计

这仅在拥有无限数量的单位的限制中是正确的,这是不现实的。

您可以为我提供问题的链接,我将训练我能提供的最佳神经网络,我们可以看到2层或3层神经网络是否低于任何其他基准机器学习算法

我希望神经网络永远无法解决一个示例问题:给定整数,将其分类为素数或非素数。

我相信可以通过一个简单的算法完美解决该问题,该算法以递增的长度遍历所有有效程序并找到最短的程序以正确识别素数。的确,此13个字符的正则表达式字符串可以匹配素数,对于搜索而言,这在计算上是困难的。


正则化是否可以采用一种模型,该模型过于适合正则化严重阻碍其代表性的模型?两者之间是否总会有那个甜蜜点?

是的,这是一个最佳选择,但这通常是您停止过度拟合之前的方法。看这个图:

http://gluon.mxnet.io/_images/regularization-overfitting.png

如果翻转水平轴并将其重新标记为“正则化量”,这将非常准确-如果您进行正则化直到完全没有过度拟合,您的误差就会很大。当有一些过拟合但不是太多时,就会出现“最佳点”。

“简单的算法如何以递增的长度遍历所有有效程序并找到正确标识素数的最短程序”。学习的算法?

θHθθ


因此,如果我正确地理解了您,那么您在争辩说,如果数据不是实质性的,则深层网络将永远都无法达到最佳浅层网络的验证准确性,因为两者均具有最佳超参数?

是。这是一个难看但希望有效的数字来说明我的观点。 https://i.imgur.com/nM3aI2l.png

但这没有道理。一个深层网络只能学习浅层之上的1-1映射

问题不是“可以”,而是“可以”,如果您正在训练反向传播,答案可能不是。

我们讨论了一个事实,即较大的网络将始终比较小的网络更好地工作

没有进一步的限定,这种说法是错误的。


谢谢您的回答!正则化能否将模型从过度拟合的模型转换成正当性严重阻碍其代表性的模型?两者之间是否总会有那个甜蜜点?
MiloMinderbinder

关于您的玩具问题。“简单的算法如何以递增的长度遍历所有有效程序并找到正确标识素数的最短程序”。学习的算法?
MiloMinderbinder

请注意cs231n讲义-“我们讨论了一个事实,即较大的网络将始终比较小的网络更好地工作,但是必须通过较强的正则化(例如较高的权重衰减)适当地解决其较高的模型容量,否则它们可能会过度拟合。在后面的部分中,我们将看到更多形式的正则化(尤其是辍学)。” cs231n.github.io/neural-networks-1
MiloMinderbinder

@ user46478我通过编辑答案解决了您的上述问题
shimao

“不能保证您可以应用足够的正则化来防止过度拟合,而又不会完全破坏网络学习任何东西的能力。” -很抱歉,我仍然不明白这句话。我将训练数据{train,val}进行了拆分,使机器允许的最大网络数量增加了,增加了退出机率,直到我看到在各种退出机率下得到的确认错误中将确认错误最小化为止。如果不通过良好的模型,此过程是否会导致过度拟合的模型无效?
MiloMinderbinder

11

我要补充一点,没有像机器学习灵丹妙药这样的东西:

通过免费午餐定理:

如果算法在某类问题上表现良好,那么它必然会为所有剩余问题的性能降低而付出的代价


这非常令人沮丧(但请放心,我不会为后果辩护)1.阅读此书后,我了解到这是关于算法在其可以学习的功能上具有相同的分布(这也意味着相同的共域)。因此,神经网络只能与普遍估计量相提并论。2.这里没有讨论搜索功能空间的速度。我们能否说在每个问题上具有2个隐藏层的神经网络必须等效于或优于具有一个隐藏层的神经网络?我认为连续性的假设在这里
起了很大的作用

通过适当的超参数调整,两个隐藏的分层神经网络会比单个隐藏的分层神经网络更快地跳过具有相似共域的函数。您的意见?
MiloMinderbinder

1
“可以说,在每个问题上,具有2个隐藏层的神经网络必须等同于或优于具有一个隐藏层的神经网络”。没有不幸的是没有。作为反例,想象一下逻辑回归(具有零个隐藏层的nn)与一个1层神经网络的情况,其中隐藏单元数等于完全可分离数据集的数据点数。没有有关lr无法捕获的决策边界的信息,并且高复杂度nn可能会过拟合
user3684792

3
同意这里的说法,但我想向NFL添加标准警告,同样请参阅Wikipedia页面:“请注意,只有在从所有可能函数的均匀分布中选择目标函数时,NFL才适用”。
mkt-恢复莫妮卡

1
@ user46478对于您的问题“为什么具有一个隐藏层的神经网络不是解决机器学习问题的灵丹妙药呢?”,我同意NFL定理的相关性。
mkt-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.