假设您有两个输入(X1 和 X2)要用于预测 Y。
您不确定 X1 和 X2 对于预测 Y 的重要性,但您假设是偶数。
One-hot 编码对于 X1 来说是一个很好的策略,它会产生一个大小为 10,000 的向量。
X2 是介于 0 和 1 之间的无符号整数,因此您可以按原样传递它。
所以你的网络看起来像
10,001 -> {some hls} -> Out-layer
从理论上讲,与 X1 相比,它可以“学习”为 X2 赋予很多重要性,但实际上我认为当尺寸差异如此之大时,这很难。至少基于我测试的一些数据集,这肯定是正确的。
对于这个问题,我能想到的一个“简单”解决方案是让网络形状更像:
10,000 -> {some hls} -> 1,000 --
|
|-> {some hls} -> Out-layer
|
1 -> {some hls} ------> 1,000 --
所以基本上有一些编码器/骨干网/无论你想调用它们,它们都会增加/减少某些输入组的大小,并与普通网络同时训练它们。
我的问题是:
a)我在这里发现的问题是“真实的”问题还是在实践中不会出现?b) 它有名称吗?是否已经建立了解决方案?c)我在这里提出的解决方案是“好”吗?d) 你有实际使用这种方法的网络示例吗?最好在 pytroch 中实现,但这并不重要,按说实现似乎很容易。f) 该解决方案在性能和/或实施方面是否存在可能不明显的潜在缺陷?