#python #keras #classification #multiclass-classification #cross-entropy
#python #keras #классификация #мультиклассовая классификация #кросс-энтропия
Вопрос:
Я столкнулся с проблемой при разработке моей модели 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 для последовательных данных и обычный плотный слой для непоследовательных данных, объединив их в односоставную модель с некоторыми плотными слоями и выпадающими данными. Я использовал categorical_crossentropy в качестве моей функции потерь, в то время как мой ввод не является строго однократным кодированием. Будет ли это проблемой? Есть ли какие-либо предложения по улучшению модели?
PS: получение argmax вероятности обучения не всегда соответствует действительности фактической метки, скажем, списка вероятностей
[0.33719498 , 0.46975598, 0.06434968 , 0.06434968 , 0.06434968]
фактическая метка может быть
[1, 0, 0, 0, 0]
Ответ №1:
Использование вероятностных меток в качестве основных истин кажется не очень хорошей идеей. Мы предполагаем, что данные взяты из фиксированного распределения. После отрисовки они являются фиксированными событиями.
Похоже, что это нарушает предположение о проблемах обучения с теоретической точки зрения.
Я бы предложил преобразовать вероятностные метки в однократные метки и посмотреть, почувствуете ли вы улучшение.
Комментарии:
1. Я где-то слышал, что разумно учиться на недетерминированных (вероятностных) категориальных метках. Вы хотите сказать, что такого рода проблема не является разумной? Я попал в эту ситуацию, когда использовал вероятности для оценки меток вместо того, чтобы вручную помечать их, и надеюсь извлечь уроки из этих вероятностей для сравнения с golden dataset.
2. С теоретической точки зрения статистической классификации использование данных с метками, которые не являются детерминированными, не является формальным, но на практике вы можете делать все, что работает. Если я окажусь в такой ситуации и у меня будет ресурс, я попробую как однократные, так и недетерминированные метки и посмотрю, что говорит проверка.