设计我的keras模型时遇到问题。
模型的训练数据(输入)是2个连续的字符编码列表和一个非连续的正常特征列表。输出是5种不同类别的概率的列表。测试数据具有相同的功能,而输出是单个类别标签,而不是概率。任务是从训练概率中建立模型学习,以预测测试数据上的实际课程。
例如,数据看起来像
const
我建立了两个用于顺序数据的CNN模型,以及一个用于非顺序数据的常规密集层,将它们组合为具有一些密集层和缺失的一个混合模型。我使用 categorical_crossentropy 作为损失函数,而我的输入严格来说不是一键编码。那会是个问题吗?有什么建议可以改善模型吗?
PS:采用训练概率的argmax并不能总是说出实际标签的真实性,要说出概率列表
mongoose.Promise must be a function, got bluebird
实际标签可能是
X_train, X_test = Sequential feature 1, Sequential feature 2, Non-sequential feature 3
y_train = probability for class 1, probability for class 2 ... , probability for class 5
y_test = 0/1, 0/1, ..., 0/1
X_train, X_test = [0, 0, 0, 11, 21, 1] + [ 0, 0, 0, 0, 0, 121, 1, 16] + [1, 0, 0.543, 0.764, 1, 0, 1]
y_train = [0.132561 , 0.46975598, 0.132561 , 0.132561 , 0.132561]
y_test = [0, 1, 0, 0, 0]
答案 0 :(得分:0)
使用概率标签作为基本事实似乎不是一个好主意。我们假设数据来自固定分布。绘制后,它们是固定事件。
从理论角度看,这似乎违反了学习问题的假设。
我建议从概率标签转换为一次性标签,看看您是否有所改善。