Количество единиц двоичной классификации в Керасе - PullRequest
1 голос
/ 19 октября 2019

В документации Keras для этого примера:

Для модели с одним входом и 2 классами (двоичная классификация):

model = Sequential()
model.add(Dense(32, activation='relu', input_dim=100))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy'])
data = np.random.random((1000, 100))
labels = np.random.randint(2, size=(1000, 1))

# Train the model, iterating on the data in batches of 32 samples
model.fit(data, labels, epochs=10, batch_size=32)

У меня есть 2 вопроса к этой модели: 1)Ввод 100 измерений, поэтому он имеет 100 функций. Почему говорится, что это «модель с одним входом»? что означает «однократный ввод»?

2) Для двоичной классификации, почему параметр Dense (1, активации = сигмоид) равен «1», а не «2»? Цель - 0 или 1, что представляет 2 класса.

1 Ответ

2 голосов
/ 19 октября 2019
  1. Здесь у вас есть 1 вход, который является вектором 100 значений. Конечно, это 100 функций для вас, но они упакованы как один входной вектор. Возможно, у вас есть 2 или более входных данных, например, 1 тензор изображения + 1 вектор признаков.

  2. Достаточно одного значения, чтобы выполнить двоичную классификацию. Как вы правильно заметили, вы просто возвращаете 0 или 1. Sigmoid активирует все значения до интервала [0; 1], поэтому его можно интерпретировать как выбор класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...