如何在 MultiOutput LSTM Tensorflow 中优先考虑某些输出?
Posted
技术标签:
【中文标题】如何在 MultiOutput LSTM Tensorflow 中优先考虑某些输出?【英文标题】:How to prioritise certain output in MultiOutput LSTM Tensorflow? 【发布时间】:2021-10-28 02:44:55 【问题描述】:基本上,我正在使用 Tensorflow 创建一个 LSTM 模型,我的输入数据的形状类似于
(10000 个用户,6 个时间步长,20 个特征列)=> (10000,6,20)
该模型使用 LSTM 进行二元分类,其中 20 个输出列的形状为 (10000, 20)。
PS。我不是在做 20 个类的分类,而是在做一个为每个人提供 20 个二进制输出的分类
是否可以优先考虑某些 输出 列,例如赋予某些列比其他列更多的权重或重要性,这样当我们训练模型时,它会比其他列更惩罚对这些更重要输出列的错误预测,或者为这些重要的列创建单独的模型是否更有意义?
【问题讨论】:
【参考方案1】:很容易在 TensorFlow 中使用类权重来实现此目的。见 model.fit() 的 class_weight 参数:https://www.tensorflow.org/api_docs/python/tf/keras/Model#fit
【讨论】:
以上是关于如何在 MultiOutput LSTM Tensorflow 中优先考虑某些输出?的主要内容,如果未能解决你的问题,请参考以下文章
Python Scikit-learn MultiOutput Regression - 在预测数值时强制执行下限
使用KNN模型进行多输出分类实战(Multioutput Classification)
ValueError: Classification metrics can‘t handle a mix of continuous-multioutput and multiclass targe