У меня возникла проблема при проектировании модели keras.
Обучающие данные (входные данные) для модели представляют собой 2 последовательных символьных списка и непоследовательный обычный список характеристик.Вывод представляет собой список вероятностей 5 различных классов.Данные тестирования имеют те же функции, а выходные данные представляют собой метку одного класса вместо вероятности.Задача состоит в том, чтобы построить модель обучения на основе вероятности обучения для прогнозирования фактического класса по данным тестирования.
Например, данные выглядят так:
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]
Я построил две модели CNN дляпоследовательные данные и нормальный плотный слой для непоследовательных данных объединяют их в односмешанную модель с некоторыми плотными слоями и отсевами.Я использовал categoryorical_crossentropy в качестве моей функции потерь, в то время как мои входные данные не являются строго однократным кодированием.Будет ли это проблемой?Есть ли какие-либо предложения по улучшению модели?
PS: взятие argmax вероятности обучения не всегда говорит правду фактической метки, скажем, список вероятностей
[0.33719498 , 0.46975598, 0.06434968 , 0.06434968 , 0.06434968]
фактическаяярлык может быть
[1, 0, 0, 0, 0]