首页 文章

人工神经网络相对于支持向量机有什么优势? [关闭]

提问于
浏览
344

ANN(人工神经网络)和SVM(支持向量机)是监督机器学习和分类的两种流行策略 . 通常不清楚哪种方法对特定项目更好,而且我确定答案总是“它取决于” . 通常,使用两者的组合以及贝叶斯分类 .

有关ANN和SVM的问题已经在Stackoverflow上提出过:

ANN and SVM classification

what the difference among ANN, SVM and KNN in my classification question

Support Vector Machine or Artificial Neural Network for text processing?

在这个问题中,我想具体了解人工神经网络(特别是多层感知器)的哪些方面可能需要在SVM上使用?我问的原因是因为很容易回答相反的问题:支持向量机通常优于人工神经网络,因为它们避免了人工神经网络的两个主要缺点:

(1)人工神经网络经常收敛于局部最小值而不是全局最小值,这意味着它们有时基本上是(或者错过了树木的森林)

(2)如果训练时间过长,人工神经网络常常过度拟合,这意味着对于任何给定的模式,人工神经网络可能会开始将噪声视为模式的一部分 .

SVM并不是很明显,SVM应该完全取代人工神经网络 . 那么人工神经网络对SVM有哪些具体优势可能使其适用于某些情况?我已经列出了SVM相对于ANN的特定优势,现在我想看一下ANN优势列表(如果有的话) .

6 回答

  • 17

    如果你想使用内核SVM,你必须猜测内核 . 然而,人工神经网络是通用的近似,只有猜测才能完成宽度(近似精度)和高度(近似效率 . 如果你正确设计优化问题,你就不要过度拟合(请参阅参考文献中的过度拟合) . 如果它们正确且一致地扫描搜索空间,则取决于训练示例 . 宽度和深度发现是整数编程的主题 .

    假设你在I = [0,1]上有有界函数f( . )和有界通用逼近器,并且范围再次为I = [0,1],例如由紧凑支持U( . ,a)的实数序列参数化存在序列序列的属性

    lim sup { |f(x) - U(x,a(k) ) | : x } =0
    

    并绘制示例并在 IxI 上使用分布D测试 (x,y) .

    对于规定的支持,你所做的就是找到最好的支持

    sum {  ( y(l) - U(x(l),a) )^{2} | : 1<=l<=N } is minimal
    

    让这个 a=aa 这是一个随机变量!,然后是过拟合

    平均使用 D and D^{N} of ( y - U(x,aa) )^{2}

    让我解释一下为什么,如果你选择 aa 使得误差最小化,那么对于一组罕见的值你就完全适合了 . 但是,由于它们很少见,所以平均值永远不会为0.尽管你对D有一个离散的近似值,你想要最小化第二个 . 请记住,支撑长度是免费的 .

  • 115

    需要注意的是,这两者实际上非常相关 . 线性SVM等效于单层NN(即,感知器),并且多层NN可以用SVM表示 . 有关详细信息,请参阅here .

  • 54

    我们还应该考虑SVM系统可以直接应用于非度量空间,例如标记图形或字符串集 . 实际上,只要满足内核的正定性要求,内部内核函数就可以适当地推广到几乎任何类型的输入 . 另一方面,为了能够在一组标记图上使用ANN,必须考虑显式嵌入过程 .

  • 12

    从您提供的示例来看,我假设通过ANN,您的意思是多层前馈网络(简称FF网络),例如多层感知器,因为它们与SVM直接竞争 .

    这些模型对SVM的一个特定好处是它们的大小是固定的:它们是参数模型,而SVM是非参数的 . 也就是说,在ANN中,您有一堆隐藏层,大小为h1到hn,具体取决于要素的数量,加上偏差参数,以及构成模型的那些 . 相比之下,SVM(至少是核心化的)由一组支持向量组成,这些向量从训练集中选择,每个支持向量具有权重 . 在最坏的情况下,支持向量的数量正好是训练样本的数量(尽管主要发生在小训练集或退化情况下),并且通常其模型大小线性地缩放 . 在自然语言处理中,具有数万个支持向量的SVM分类器(每个都具有数十万个特征)并非闻所未闻 .

    此外,与在线SVM拟合相比,FF网的online training非常简单,并且预测可以快得多 .

    EDIT :以上所有内容都与内核SVM的一般情况有关 . 线性SVM是一种特殊情况,它们是参数化的,允许使用简单算法(如随机梯度下降)进行在线学习 .

  • 13

    我在这里缺少一个答案:多层感知器能够找到特征之间的关系 . 例如,当向学习算法提供原始图像并且现在计算复杂特征时,在计算机视觉中是必要的 . 基本上,中间级别可以计算新的未知特征 .

  • 46

    人工神经网络相对于支持向量机的一个明显优势是人工神经网络可以具有任意数量的输出,而支持向量机只有一个 . 使用支持向量机创建n-ary分类器的最直接方法是创建n个支持向量机并逐个训练它们 . 另一方面,可以一次性训练具有神经网络的n元分类器 . 此外,神经网络将更有意义,因为它是一个整体,而支持向量机是孤立的系统 . 如果输出是相互关联的,这尤其有用 .

    例如,如果目标是对手写数字进行分类,则可以使用十个支持向量机 . 每个支持向量机只能识别一个数字,并且无法识别所有其他数字 . 由于每个手写数字不能仅仅包含更多信息,因此尝试用人工神经网络解决这个问题是没有意义的 .

    然而,假设目标是模拟一个人的激素 balancer (对于几种激素)作为容易测量的生理因素的函数,例如自上次进餐以来的时间,心率等...因为这些因素都是相互关联的,人工神经网络回归比支持向量机回归更有意义 .

相关问题