Обучите регрессионные нейронные сети с помощью приложения Regression Learner

В этом примере показано, как создать и сравнить различные регрессионые модели нейронной сети с помощью приложения Regression Learner, и экспортировать обученные модели в рабочую область, чтобы делать предсказания для новых данных.

  1. В MATLAB® Командное окно, загрузите carbig Данные и создайте таблицу, содержащую различные переменные.

    load carbig
    cartable = table(Acceleration,Cylinders,Displacement, ...
        Horsepower,Model_Year,Weight,Origin,MPG);
  2. Щелкните вкладку Apps, а затем щелкните Show more стрелы справа, чтобы открыть галерею Apps. В группе Machine Learning and Deep Learning нажмите Regression Learner.

  3. На вкладке Regression Learner, в разделе File, нажмите New Session и выберите From Workspace.

  4. В диалоговом окне Новый сеанс из рабочей области выберите таблицу cartable из Data Set Variable списка (при необходимости).

    Как показано в диалоговом окне, приложение выбирает MPG как ответ, а другие переменные как предикторы. В данном примере не изменяйте выбор.

    New Session from Workspace dialog box

  5. Чтобы принять схему валидации по умолчанию и продолжить, нажмите Start Session. Опция валидации по умолчанию является 5-кратной перекрестной валидацией, чтобы защитить от сверхподбора кривой.

    Regression Learner создает график отклика с номером записи на оси x -.

  6. Используйте график отклика, чтобы выяснить, какие переменные полезны для предсказания отклика. Чтобы визуализировать отношение между различными предикторами и ответом, выберите различные переменные в списке X под X-axis. Обратите внимание, какие переменные наиболее четко коррелируются с ответом.

  7. Создайте выбор моделей нейронной сети. На вкладке Regression Learner, в разделе Model Type, щелкните стреле, чтобы открыть галерею. В группе Neural Networks нажмите All Neural Networks.

  8. В Training разделе нажмите Train. Regression Learner обучает один из каждой опции нейронной сети в галерее. На панели Models приложение очерчивает RMSE (Validation) (корневая средняя квадратичная невязка) лучшей модели.

    Совет

    Если у вас есть Parallel Computing Toolbox™, можно обучить все модели (All Neural Networks) одновременно, нажав кнопку Use Parallel в разделе Training перед нажатием Train. После нажатия кнопки Train открывается диалоговое окно Открытие параллельного пула, которое остается открытым, пока приложение открывает параллельный пул работников. В течение этого времени вы не можете взаимодействовать с программным обеспечением. После открытия пула приложение обучает модели одновременно.

  9. Выберите модель на панели Models, чтобы просмотреть результаты. Исследуйте график отклика для обученной модели. Истинные отклики в синем цвете, а предсказанные отклики в желтом цвете.

    Response plot of car data modeled by a regression neural network

    Примечание

    Валидация вводит некоторую случайность в результаты. Результаты валидации вашей модели могут отличаться от результатов, показанных в этом примере.

  10. В группе X-axis выберите Horsepower и исследуйте график отклика. И истинный, и предсказанный отклики теперь построены. Отобразите предсказания ошибки, нарисованные как вертикальные линии между предсказанной и истинной характеристиками, установив флажок Errors.

  11. Дополнительные сведения о выбранной модели см. на панели Current Model Summary. Проверяйте и сравните дополнительные характеристики модели, такие как R-квадрат (коэффициент детерминации), MAE (средняя абсолютная ошибка) и скорость предсказания. Дополнительные сведения см. в разделе Просмотр и сравнение статистики модели. На панели Current Model Summary можно также найти подробности о выбранном типе модели, например, опции, используемые для настройки модели.

  12. Постройте график предсказанного отклика от истинного отклика. На вкладке Regression Learner, в разделе Plots, нажмите Predicted vs. Actual и выберите Validation Data. Используйте этот график, чтобы определить, насколько хорошо регрессионая модель делает предсказания для различных значений отклика.

    Plot of the predicted response versus the true response for a regression neural network

    Совершенная регрессионная модель предсказала отклики, равные истинным откликам, поэтому все точки лежат на диагональной линии. Расстояние по вертикали от линии до любой точки является ошибкой предсказания для этой точки. Хорошая модель имеет небольшие ошибки, поэтому предсказания разбросаны около линии. Как правило, хорошая модель имеет точки, рассеянные примерно симметрично вокруг диагональной линии. Если вы можете увидеть какие-либо четкие шаблоны на графике, вы, скорее всего, можете улучшить свою модель.

  13. Выберите другие модели на панели Models и сравните предсказанные и фактические графики.

  14. В Model Type галерее снова выберите All Neural Networks. Чтобы попытаться улучшить модели, включите различные функции. Посмотрите, можете ли вы улучшить модели, удалив функции с низкой прогностической степенью. На вкладке Regression Learner, в разделе Features, нажмите Feature Selection.

    В диалоговом окне Выборе признаков снимите флажки для Acceleration и Cylinders, чтобы исключить их из предикторов.

    В разделе Training нажмите Train , чтобы обучить модели нейронной сети с помощью новых настроек предиктора.

  15. Наблюдайте новые модели на панели Models. Эти модели являются такими же моделями нейронных сетей, как и прежде, но обучены с использованием только пяти из семи предикторов. Для каждой модели приложение отображает, сколько предикторов используется. Чтобы проверить, какие предикторы используются, щелкните модель на панели Models и смотрите раздел Feature Selection на панели Current Model Summary.

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

  16. Выберите лучшую модель на панели Models и просмотрите график невязок. На вкладке Regression Learner, в разделе Plots, нажмите Residuals и выберите Validation Data. График невязок отображает различие между предсказанной и истинной характеристиками. Чтобы отобразить невязки в качестве линейного графика, в Style разделе, выберите Lines.

    В разделе X-axis выберите переменную для построения графика на оси x -. Выберите истинную реакцию, предсказанную реакцию, номер записи или один из ваших предикторов.

    Plot of the residuals for a regression neural network

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

  17. Можно попытаться дополнительно улучшить лучшую модель на панели Models, изменив ее расширенные настройки. На вкладке Regression Learner, в разделе Model Type, нажмите Advanced и выберите Advanced. Попробуйте изменить некоторые настройки, например, размеры полносвязных слоев или силу регуляризации, а затем обучите новую модель, нажав Train.

    Чтобы узнать больше о настройках модели нейронной сети, см. «Нейронные сети».

  18. Можно экспортировать полную или компактную версию обученной модели в рабочую область. На вкладке Regression Learner, в разделе Export, нажмите Export Model и выберите Export Model или Export Compact Model. Смотрите Экспорт Регрессионной Модели, чтобы Предсказать Новые Данные.

  19. Чтобы изучить код для обучения этой модели, нажмите Generate Function в разделе Export.

Совет

Используйте тот же рабочий процесс для оценки и сравнения других типов регрессионых моделей, которые можно обучить в Regression Learner.

Чтобы обучить все пресеты неоптимизируемой регрессионой модели, доступные для вашего набора данных:

  1. На Regression Learner вкладке в разделе Model Type щелкните стреле, чтобы открыть галерею регрессионых моделей.

  2. В группе Get Started нажмите All. Затем в Training разделе нажмите Train.

    Option selected for training all available model types

Чтобы узнать о других типах регрессионных моделей, см. Train регрессионых моделей» в приложении Regression Learner.

Похожие темы