Я не понимаю разницы между изменением случайного состояния в разделении теста поезда и в регрессоре MLP

#scikit-learn #neural-network #theory #random-seed #mlp

#scikit-learn #нейронная сеть #теория #случайное начальное значение #mlp

Вопрос:

Я пытаюсь выяснить разницу между случайным состоянием в разделении теста поезда и в регрессоре MLP. Если я изменю его в регрессоре MLP, все испытания, которые я запускаю, будут очень хорошими. Однако, если я изменю его в разделении теста поезда, я получу широкий диапазон результатов. Я читал, что оба являются случайным начальным значением, но я не понимаю, как они так по-разному влияют на мой MLP в зависимости от того, где я его меняю.

Спасибо за помощь!

Ответ №1:

Я предполагаю, что у вас есть какой-то код, подобный тому, который приведен в scikit-example здесь:

 X_train, X_test, y_train, y_test = train_test_split(X, y,random_state=1)
regr = MLPRegressor(random_state=1, max_iter=500).fit(X_train, y_train)
  

И сначала вы изменили случайное состояние в train_test_split, а затем вы изменили его в MLPRegressor и сравнили его.

При изменении random_state в методе train_test_split ваши данные будут перетасованы немного по-другому в соответствии с вашим random_state, чем раньше, поэтому ваши данные поезда и теста выглядят по-другому. (Документация)

При изменении random_state MLPRegressor он не только использует это начальное значение для перетасовки ваших данных в методе train_test_split, но также для генерации весов, инициализации смещения и определения пакетной выборки. (Документация)

Таким образом, изменение случайного состояния в MLPRegressor влечет за собой больше изменений, чем просто изменение случайного состояния train_test_split. Надеюсь, я правильно понял ваш вопрос и смог бы вам помочь.

Комментарии:

1. Да, вы правильно поняли мой вопрос. Спасибо за ответ. У меня есть пара вопросов к вашему ответу: -Значит, изменение random_state в регрессоре MLP также влияет на разделение поезда / теста? -Если изменение случайного состояния в MLPRegressor влечет за собой больше изменений, и я получаю очень хорошие результаты, означает ли это, что моя сеть устойчива к изменениям? -Если изменение случайного состояния при разделении теста поезда приводит к очень хорошим и очень плохим результатам, означает ли это, что моя сеть ненадежна? Это моя дилемма и то, чего я не понимаю.