所以我的理解到目前为止,我们有标签取决于多个功能,我们不确定每个功能对标签预测的重要性。 (纠正我,如果这是错误的)。因此,我们不用标准算法,而是通过各种权重独立乘以这些特征,然后重新相加,以便我们可以测试不同的组合。这就像一个定制的分类算法吗?或者它只是一个完全不同的概念而已?你所描述的
是线性模型,而不是一个神经网络,它可以被看作是神经网络的一个特例,而是非常幼稚的,而不是捕捉模式的精髓。神经网络,时下,简直是一个复杂的参数功能,因此,如果您的数据是x
(特征向量)和预期的结果(如标签)是y
然后NN试图几乎找到潜在的映射
f(x) = y
它通过一些参数功能g(x|theta)
来完成。你所描述的是一种特殊情况,其中
g(x|theta) = SUM_i^d theta_i x_i + theta_0
然而,在实践中的神经网络要复杂得多那么,可以有许多“层”,而且是任意图形,例如两层神经网络将
g(x|theta) = SUM_i^K theta_2i s(SUM_j^d theta_1ji x_i + theta_0i) + theta_0
请注意,现在我有很多的地图,并且映射是高度非线性的(如果只有激活函数是这样的话)。
但是为什么有多个图层?第二层神经元会添加第一层还不能确定的内容?
让我们假设我有以下1维的数据:
1 -> 0
2 -> 1
3 -> 1
4 -> 0
你的“一层”的模式将是一对数字,所以
g(x|theta) = theta1 * x + theta0
显然这不能得到解决,没有任何东西可以捕捉到上述关系。但是,如果添加附加图层和非线性模型,则可以找到它们。但是,这只适用于线性与非线性模型。一旦你有一个隐藏层,你可以建模任何功能(达到某个错误)。那么为什么人们有更多?因为存在并不意味着可学性,由于各种数学原因,更容易将某些类别的功能表示为深层模型而不是宽层模型。
哦,也因为他们确实有所作为(只是我不能完全理解的一个),您是否可以用较多层补偿较小的数据集,反之亦然?
不是。这里唯一的关系是你的一个小数据集不能训练一个复杂的模型,就这些了。你需要有足够的数据来进行统计分析。
对于其他任何事情,除了仅仅保持数据在-1和1之间在两层之间接地之外,还有其他规范化函数吗?如果是这样,某些类型的数据对于某些规范化函数是否更有效?
标准化主要是用来稳定优化方法,这是优化程序的所谓preconditionning的一个特定的方式。这并不是简单的“只是挤压”,而是要提出使我们的优化技术(学习算法)更稳定(从数值和收敛角度来看)的方案。
我建议参加一个基本的机器学习课程(暂时忘记深度学习)。你会发现当我们谈论权重'w_i'时,我们指的是特征“x_i”的乘法影响。您可以考虑一个变量的逻辑回归作为最基本的情况:'y_0 = x_0 * w_0 + b_0',这就是一条线的方程。 – erip