我需要建立一个神经网络来预测基于一组输入特征的输出,用于多通道系统。一旦我弄清楚了这个问题,我将在 Keras 中实现它。让我更详细地描述它:
我有一组输入变量('温度','电流','电压'......)
输出是('gainA','gainB','gainC','gainD')
但是,每个字母(A、B、C 和 D)代表一个不同的通道,并且训练数据包含许多不同的通道何时打开/关闭的配置。因此,典型的训练数据集如下所示:
'ID' | 'Temperature' | 'current' | 'voltage' | 'gainA' | 'gainB' | 'gainC' | 'gainD'
1 | 23.1 | 2.1 | 5.1 | 0 | 1.5 | 3.1 | 1.2
2 | 23.2 | 2.3 | 5.2 | 0 | 1.5 | 2.1 | 1.1
3 | 23.4 | 2.0 | 5.0 | 1.3 | 0 | 1.7 | 1.0
4 | 22.8 | 2.3 | 5.4 | 1.5 | 1.3 | 3.2 | 0
5 | 22.9 | 2.1 | 5.1 | 0 | 0 | 0 | 1.2
6 | 23.2 | 2.2 | 5.3 | 1.2 | 1.5 | 3.4 | 1.3
...
正如您从上面的数据集中看到的那样,某些收益为“0”。这是通道关闭的时候。当通道打开时,只有一个非零增益值。
如果我要打开通道,我的模型需要能够预测通道的增益
例如,如果我们将第 5 行视为测试数据,如果我要激活该通道,我想预测“gainC”的数值
'ID' | 'Temperature' | 'current' | 'voltage' | 'gainA' | 'gainB' | 'gainC' | 'gainD'
5 | 22.9 | 2.1 | 5.1 | 0 | 0 |[predict this]|1.2
最初,我考虑训练 4 个模型(每个通道一个),但这不起作用,因为增益的组合是相关的,因此需要多维 MLP。
如果我使用其他 3 个增益作为输入的一部分,它只会预测增益为 0,因为这就是模型所认为的。
请有人能帮我找出一种预测增益的非零值的方法。也许部分答案可能包括通道的二进制表示。例如
对于 ID 号 5,活动通道是 0001,我们要预测 0011
也许这可能是训练数据的一部分?还是预测器的额外输入?
我很感激一些关于如何解决这个问题的建议。(我对神经网络相当陌生)