Neural network 回归与神经网络

Neural network 回归与神经网络,neural-network,linear-regression,logistic-regression,Neural Network,Linear Regression,Logistic Regression,我正在听吴家富的视频讲座。我突然想知道回归法是否被广泛使用。神经网络更常用吗?我只是想知道Andrew是否在解释回归作为一种介绍性材料。我想听听在这个领域使用机器学习的人的意见 在我看来,回归和神经网络应该同时使用。我们不知道哪个模型运行良好,所以我们需要尽可能多地构建模型。此外,在构建模型后,我们可以使用给定的评估统计数据来比较或评估我们的模型。此问题与任何编码问题无关,因此它可能更适合其他StackExchange社区,如或。也就是说,让我们试着对线性分类器与神经网络主题进行一些深入了解。引

我正在听吴家富的视频讲座。我突然想知道回归法是否被广泛使用。神经网络更常用吗?我只是想知道Andrew是否在解释回归作为一种介绍性材料。我想听听在这个领域使用机器学习的人的意见

在我看来,回归和神经网络应该同时使用。我们不知道哪个模型运行良好,所以我们需要尽可能多地构建模型。此外,在构建模型后,我们可以使用给定的评估统计数据来比较或评估我们的模型。

此问题与任何编码问题无关,因此它可能更适合其他StackExchange社区,如或。也就是说,让我们试着对线性分类器与神经网络主题进行一些深入了解。引用第168页:

理解前馈网络的一种方法是从线性模型开始 并考虑如何克服它们的局限性。线性模型,如逻辑回归和线性回归,是有吸引力的,因为它们可以有效和可靠地拟合,无论是在封闭形式或凸优化。线性模型还有一个明显的缺陷,即模型容量仅限于线性函数,因此模型无法理解任意两个输入变量之间的相互作用。为了扩展线性模型来表示x的非线性函数,我们可以将线性模型应用于变换输入φ(x),而不是x本身,其中φ是非线性变换

我强烈建议阅读该部分(该书以HTML的形式在线提供)。但总而言之,有两种主要方法可以扩展线性模型:

  • 将输入映射到一个非常通用的高维空间,并在那里执行线性分类(类似于您将在课程中看到的SVM的方法)

  • 让您的模型学习映射这是神经网络的方法:它放弃了凸性,但更灵活,性能更好(至少现在是这样)

  • 实际考虑事项:方法1的优势。它不需要太多的配置就可以很好地处理任何一般性问题。请注意,在大多数应用程序中,目前第二种方法(基本上是深度学习)的性能更好,但需要大量的时间和/或资源来实现这一性能,有时没有足够的时间和/或资源

    技术注意事项:请注意,通过封闭形式训练线性模型至少需要
    O(n^2)
    操作,n为训练集的大小。运行推理可以是
    O(n)
    。另一方面,用随机梯度下降法训练的神经网络“可以说是在
    O(1)
    ”中”

    为了支持这一确认,DLB第5章:

    • 在深度学习出现之前,学习非线性模型的主要方法是将核技巧与线性模型结合使用。许多核学习算法需要构造一个m×m矩阵
      G_i,j=k(x(i),x(j))
      。构造此矩阵的计算成本为O(m^2),这对于具有数十亿示例的数据集来说显然是不可取的

    • 核机器的一个主要缺点是,评估决策函数的成本在训练示例的数量上是线性的,因为第i个示例为决策函数贡献了一个术语
      αi k(x,x(i))
      。支持向量机能够通过学习主要包含零的α向量来缓解这一问题

    • 我们可以说,使用SGD训练模型的渐近代价是
      O(1)
      ,作为
      m
      (训练集大小)的函数

    综上所述,对于不需要最先进性能或大量配置的一般任务,线性模型(主要使用内核技巧)仍然是一种合理的现成选择。但是,如果您有足够的数据、GPU能力和适当调整模型的可能性,深度神经网络将在大多数问题中提供更好的结果,并且具有更好的渐进复杂性。缺点是您放弃了大部分可解释性,您对问题的假设变得更难以明确表达,并且您的设置通常变得高度经验性

    这至少是大多数来源(如我引用的DLB)似乎观察到的一般趋势。希望这有帮助

    干杯,
    安德烈斯