какие настройки использовать в последнем слое CNN для регрессии - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь использовать CNN для задачи регрессии.

Данные моего объекта имеют форму (6097, 30, 32, 9):

  • 6097 записей
  • 30 временных шагов
  • 32 ячейки гистограммы
  • 9 каналов (изображение группы)

целевые данные имеют форму
(6097, 1)

  • 6097 записей с данными урожайности (поплавка).

Когда я создаю последний плотный слой моей регрессионной модели CNN, я не уверен, какие настройки использовать. Выходной размер последнего слоя свертки равен (None, 2,2,512). Я добавил слой BatchNorm и Flatten (не уверен, имеет ли это смысл)

Каково правильное количество единиц и функция активации? Я думаю, единицы = 1 и функция активации = "Нет"

Keras:

model.add(Dense(units=1,
                activation=None
                ))

enter image description here

1 Ответ

1 голос
/ 14 мая 2019

Это зависит от того, какой результат вы хотите, часто, когда линейная функция активации используется для простого отображения значения обратно (оно не меняет его). Здесь - краткое объяснение выбора в выходном слое. Здесь - это объяснение регрессии, в котором также кратко упоминается выходной слой.Количество единиц было уже правильным.

model.add(Dense(units=1,
                activation='linear'
                ))

Или для того же результата:

model.add(Dense(1))
...