Я могу помочь вам в основном в замешательстве 1).Когда вы обучаете нейронную сеть, вы разделяете набор данных на 3 набора:
- Учебный набор, используемый для обучения сети (единственный набор данных, который фактически позволяет обновлять веса сети);
- Набор проверки, используемый для остановки обучения (это параметр Проверки проверки в графическом интерфейсе);
- Набор проверки, который влияет на графики производительности и общую производительность установщика;
Следовательно, из этих 3 только тренировочный набор виден сетью и влияет на обновление весов;в то время как набор проверки позволяет остановить обучение, если сеть переизбирает данные обучения (улучшение в подборе данных обучения не улучшает подбор / классификацию данных проверки).Наконец, набор тестов полезен для первой проверки работоспособности сборщика.Если вы проверите значение net.divideParam, вы увидите, что сеть хранит процент значений для каждого набора;во время обучения входы и цели будут случайным образом разделены в соответствии с этими 3 значениями.Вот почему, если вы используете набор инструментов для построения диаграммы производительности сети.Вы также можете избежать этого в случайном порядке, установив net.divideFcn в значение «indind ».Это в основном полезно, если вы хорошо знаете свой набор данных.При обучении сети с помощью
[net,tr] = train(net,inputs,targets);
tr хранятся результаты обучения, включая индексы обучения (tr.trainInd), проверки (tr.valInd) и набора тестов (tr.testInd).Для извлечения каждого из наборов можно индексировать входные данные с этими входами, в то время как другие параметры, такие как точность или производительность сети, могут быть получены через tr.
Что касается путаницы 2, я думаю, чтоМодель регрессии mvregress работает с другим подходом: он должен просто оценить параметры для подбора, не разбивая набор данных на три среза.Вы должны оценить регрессию, добавив некоторые точки или удалив их из входных данных.