Я хочу разработать классификатор с несколькими метками с TensorFlow, я хочу сказать, что существует несколько ярлыков, которые содержат несколько классов. Для иллюстрации вы можете изображения ситуация, как:Многоклеточный классификатор в Tensorflow
- этикетки-1 классы: освещение дождь, дождь, дождь, частичный не дождь
- этикетки-2 классов: солнечно, переменная облачность, облачно, очень облачно.
Я хочу классифицировать эти две метки с помощью нейронной сети. На данный момент я использовал разные метки классов для каждого класса (label-1, label-2). Это означает, что у меня есть 4 x 4 = 16 разных ярлыков.
Тренируя свою модель с
убытком
cross_entropy = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction), reduction_indices=[1]))
# prediction is sofmaxed
loss = cross_entropy + regul * schema['regul_ratio'] # regul things is for regularization
train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)
Однако я считаю, что обучение мульти-лейбл будет работать лучше в таком состоянии.
- Мои функции будут [n_samples, n_features]
- Мои метки будут [n_samples, n_classes, 2]
n_samples из [x1, x2, x3, x4 ...] # особенности
n_samples из [[0, 0, 0, 1], [0, 0, 1, 0]] # не дождя и облачно
Как я могу сделать SoftMax распределения вероятностей предсказатель с tensorflow. Есть ли какой-либо рабочий пример для многоквартирной проблемы, такой как этот. Как будет выглядеть мой тензор потерь?