Оценка модели линейной регрессии ANN - PullRequest
0 голосов
/ 29 сентября 2019

Я новичок в сфере машинного обучения, и недавно я сделал свой первый ANN с Keras на Python.Это модель линейной регрессии с 5 функциями и 1 выходом.Я сделал график с "MSE" и "функцией потери", и вот результаты.Можно ли сказать, что это хорошая модель?Кроме того, R ^ 2 = 0,91.Это правильный путь?

classifier = Sequential()

classifier.add(Dense(5, input_dim=5,kernel_initializer='normal',activation='relu'))

classifier.add(Dense(5, activation='relu'))

classifier.add(Dense(1,activation='linear'))


classifier.compile(loss='mse', optimizer='adam', metrics=['mse','mae'])

history = classifier.fit(X_train, y_train, batch_size=10, validation_data=(X_test, y_test), epochs=200, verbose=0)

y_pred=classifier.predict(X_test)

train_mse=classifier.evaluate(X_train, y_train, verbose=0)

plt.title('Loss / Mean Squared Error')
plt.plot(history.history['loss'], label='train')
plt.plot(history.history['val_loss'], label='test')
plt.legend()
plt.show()

enter image description here

1 Ответ

1 голос
/ 29 сентября 2019

Помимо некоторых деталей терминологии (регрессия NN не является линейной регрессией, и обычно мы не называем такую ​​модель classifier), ваша модель действительно хорошо выглядит с обеими ошибками (обучение и тестирование).) плавное уменьшение и отсутствие признаков переобучения .

Хотя значение R ^ 2 0,91 звучит довольно хорошо, использование метрики в прогнозирующих настройках, как здесь, довольно проблематично;цитируя мой собственный ответ в другой ветке SO :

вся концепция R-квадрата фактически происходит непосредственно из мира статистики, где акцент делается на интерпретации моделей, и он мало используется в контексте машинного обучения, где акцент явно делается на прогнозирующих моделях;по крайней мере AFAIK, и помимо некоторых очень вводных курсов, я никогда (я имею в виду никогда ...) не видел проблемы прогнозирующего моделирования, где R-квадрат используется для любого вида оценки производительности;и не случайно, что популярные машинное обучение , такие как Машинное обучение Эндрю Нг в Coursera, даже не удосужились об этом упомянуть.И, как отмечалось в потоке Github выше (выделение добавлено):

В частности, при использовании набора test мне немного неясно, чтоR ^ 2 означает.

, с чем я, безусловно, согласен.

...