Какую функцию потерь использовать для многоцелевой регрессии?

есть задача написать модель регрессии с несколькими выходами (4) с помощью фреймворка keras Пытался скомпилировать модель с функцией потерь mse, но выдает ошибку:

ValueError: A target array with shape (50, 1) was passed for an output of shape (None, 4) while using as loss mean_squared_error. This loss expects targets to have the same shape as the output.

Искал в интернете, но не смог найти подходящую информацию Собственно и вопрос: какую функцию потерь использовать?

Вот модель:

    model = models.Sequential()
    model.add(layers.Conv2D(32, (3, 3), activation="relu", input_shape=(200, 200, 3)))
    model.add(layers.MaxPooling2D((2, 2)))
    model.add(layers.Conv2D(64, (3, 3), activation="relu"))
    model.add(layers.MaxPooling2D((2, 2)))
    model.add(layers.Conv2D(128, (3, 3), activation="relu"))
    model.add(layers.MaxPooling2D((2, 2)))
    model.add(layers.Conv2D(128, (3, 3), activation="relu"))
    model.add(layers.MaxPooling2D((2, 2)))
    model.add(layers.Flatten())
    model.add(layers.Dense(512, activation="relu"))
    model.add(layers.Dense(4))
    model.compile(optimizer="rmsprop", loss="mse", metrics=["mae"])

Ответы (1 шт):

Автор решения: passant

А вам поставлена учебная задача использовать именно keras? Потому как в sklearn есть чудненькая функция MultiOutputRegressorдля построения именно многоцелевой регрессии. С автоматическим определением функции детерминации в качестве метрики.

→ Ссылка