exponenta event banner

Нейронные сети Train Regression с использованием приложения для обучения регрессии

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

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

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

  3. На вкладке Обучающийся регрессии (Regression Learner) в разделе Файл (File) щелкните Создать сеанс (New Session) и выберите Из рабочей области (From Workspace).

  4. В диалоговом окне Создать сессию из рабочей области (New Session from Workspace) выберите таблицу cartable из списка «Переменная набора данных» (при необходимости).

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

    New Session from Workspace dialog box

  5. Чтобы принять схему проверки по умолчанию и продолжить, щелкните Начать сеанс (Start Session). Для защиты от переоборудования по умолчанию используется пятикратная перекрестная проверка.

    Обучающийся регрессии создает график отклика с номером записи на оси X.

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

  7. Создайте подборку моделей нейронных сетей. На вкладке Обучающийся регрессии (Regression Learner) в разделе Тип модели (Model Type) щелкните стрелку, чтобы открыть галерею. В группе Нейронные сети щелкните Все нейронные сети.

  8. В разделе Обучение щелкните Обучение. Обучающийся регрессии обучает по одному из вариантов нейронной сети в галерее. На панели Модели приложение описывает RMSE (проверка) (среднеквадратичная ошибка корня) лучшей модели.

    Совет

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

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

    Response plot of car data modeled by a regression neural network

    Примечание

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

  10. Под осью X выберите 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. В галерее Тип модели снова выберите Все нейронные сети. Чтобы попытаться улучшить модели, включите различные функции. Узнайте, можно ли улучшить модели, удалив функции с низкой прогнозируемой мощностью. На вкладке Обучающийся регрессии в разделе Элементы щелкните Выбор элемента.

    В диалоговом окне «Выбор элемента» снимите флажки «Ускорение» и «Цилиндры», чтобы исключить их из предикторов.

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

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

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

  16. Выберите лучшую модель на панели Модели (Models) и просмотрите график остатков. На вкладке «Обучающийся регрессии» в разделе «Графики» щелкните «Остатки» и выберите «Данные проверки». График остатков отображает разницу между предсказанными и истинными откликами. Для отображения остатков в виде графика линий в разделе «Стиль» выберите «Линии».

    В разделе Ось X выберите переменную для построения графика по оси X. Выберите истинный ответ, прогнозируемый ответ, число записей или один из предикторов.

    Plot of the residuals for a regression neural network

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

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

    Дополнительные сведения о настройках модели нейронной сети см. в разделе Нейронные сети.

  18. Можно экспортировать полную или компактную версию обучаемой модели в рабочую область. На вкладке Обучающийся регрессии в разделе Экспорт щелкните Экспорт модели и выберите Экспорт модели или Экспорт компактной модели. См. раздел Экспорт регрессионной модели для прогнозирования новых данных.

  19. Чтобы проверить код для обучения этой модели, щелкните Создать функцию (Generate Function) в разделе Экспорт (Export).

Совет

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

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

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

  2. В группе Начало работы щелкните Все. Затем в разделе Обучение щелкните Обучение.

    Option selected for training all available model types

Сведения о других типах регрессионных моделей см. в разделе Обучающие регрессионные модели в приложении Regression Learner App.

Связанные темы