一维 CNN 能否从其他两个包含的特征中推断出一个特征?
Can 1D CNNs infer a feature from two other included features?
我在时间数据上使用一维 CNN。假设我有两个特征 A 和 B。A 和 B 之间的比率(即 A/B)很重要——我们称这个特征为 C。我想知道我是否需要显式计算并包含特征 C,或者CNN 理论上可以从给定的特征 A 和 B 中推断出特征 C 吗?
我理解在深度学习中,最好排除高度相关的特征(比如特征C),但我不明白为什么。
简短的回答是否定的。使用标准 DNN 层不会自动捕获这种 A/B
关系,因为像 Conv/Dense
这样的标准层只会执行矩阵乘法运算。
为简化讨论,让我们假设您的输入特征是二维的,其中第一个维度是 A
,第二个维度是 B
。将 Conv
层应用于该特征仅学习权重矩阵 w
和偏差 b
y = w * [f_A, f_B] + b = w_A * f_A + w_B * f_B + b
如您所见,这种表示无法模仿甚至近似A
和B
之间的比率运算。
您不必像使用功能 A
和 B
那样使用功能 C
。相反,将特征 C
保留为单独的输入可能是一个更好的主意,因为它的动态范围可能与 A
和 B
的动态范围非常不同。这意味着您可以拥有一个多输入网络,其中每个输入都有自己的特征提取层,并且可以将两个输入的结果特征连接在一起以预测您的目标。
我在时间数据上使用一维 CNN。假设我有两个特征 A 和 B。A 和 B 之间的比率(即 A/B)很重要——我们称这个特征为 C。我想知道我是否需要显式计算并包含特征 C,或者CNN 理论上可以从给定的特征 A 和 B 中推断出特征 C 吗?
我理解在深度学习中,最好排除高度相关的特征(比如特征C),但我不明白为什么。
简短的回答是否定的。使用标准 DNN 层不会自动捕获这种 A/B
关系,因为像 Conv/Dense
这样的标准层只会执行矩阵乘法运算。
为简化讨论,让我们假设您的输入特征是二维的,其中第一个维度是 A
,第二个维度是 B
。将 Conv
层应用于该特征仅学习权重矩阵 w
和偏差 b
y = w * [f_A, f_B] + b = w_A * f_A + w_B * f_B + b
如您所见,这种表示无法模仿甚至近似A
和B
之间的比率运算。
您不必像使用功能 A
和 B
那样使用功能 C
。相反,将特征 C
保留为单独的输入可能是一个更好的主意,因为它的动态范围可能与 A
和 B
的动态范围非常不同。这意味着您可以拥有一个多输入网络,其中每个输入都有自己的特征提取层,并且可以将两个输入的结果特征连接在一起以预测您的目标。