Какая модель (функция потерь и т.д.) может быть использована в Keras для категориального обучения с метками вероятности вместо однократного кодирования

#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. С теоретической точки зрения статистической классификации использование данных с метками, которые не являются детерминированными, не является формальным, но на практике вы можете делать все, что работает. Если я окажусь в такой ситуации и у меня будет ресурс, я попробую как однократные, так и недетерминированные метки и посмотрю, что говорит проверка.