Машинное обучение в MATLAB

Что такое машинное обучение?

Machine learning учит компьютеры делать то, что приходит человеку естественным путем: учиться на опыте. Алгоритмы машинного обучения используют вычислительные методы, чтобы «узнать» информацию непосредственно из данных, не полагаясь на заранее определенное уравнение в качестве модели. Алгоритмы адаптивно улучшают свою эффективность, когда количество выборок, доступных для обучения, увеличивается.

Машинное обучение использует два типа методов: контролируемое обучение, которое обучает модель на известных входных и выходных данных, чтобы она могла предсказать будущие выходы, и неконтролируемое обучение, которое находит скрытые шаблоны или внутренние структуры во входных данных.

Цель машинного обучения с учителем состоит в том, чтобы создать модель, которая бы основывала предсказания на фактических данных при наличии неопределенности. Алгоритм контролируемого обучения принимает известный набор входных данных и имеющихся откликов к данным (выходу) и обучает модель генерировать разумные предсказания для ответа на новые данные. Контролируемое обучение использует методы классификации и регрессии для разработки прогнозирующих моделей.

  • Classification методы предсказывают категориальные ответы, например, является ли электронное письмо подлинным или спамом, или является ли опухоль раковой или доброкачественной. Классификационные модели классифицируют входные данные по категориям. Типичные приложения включают медицинскую визуализацию, распознавание изображений и речи и оценку кредита.

  • Regression методы предсказывают непрерывные отклики, например, изменения температуры или колебания потребности в степени. Типичные приложения включают прогнозирование нагрузки на электроэнергию и алгоритмическую торговлю.

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

Выбор правого алгоритма

Выбор правильного алгоритма может показаться подавляющим - существует десятки алгоритмов машинного обучения с учителем и без учителя, и каждый принимает разный подход к обучению. Нет лучшего метода или один размер подходит всем. Нахождение правильного алгоритма частично основано на пробе и ошибке - даже высокоопытные данные ученые не могут сказать, сработает ли алгоритм, не опробовав его. Высокогибкие модели, как правило, перегружают данные путем моделирования незначительных изменений, которые могут быть шумом. Простые модели легче интерпретировать, но могут иметь более низкую точность. Поэтому выбор правильного алгоритма требует выгоды от другого, включая скорость, точность и сложность модели. Пробы и ошибки лежат в основе машинного обучения - если один подход или алгоритм не работает, вы пробуете другой. MATLAB® предоставляет инструменты, которые помогут вам опробовать различные модели машинного обучения и выбрать лучшее.

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

ЗадачаПриложения и функции MATLABПродуктПодробнее
Классификация для предсказания категориальных ответов

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

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

Statistics and Machine Learning Toolbox™

Обучите классификационные модели в приложении Classification Learner

Функции классификации

Регрессия для предсказания непрерывных реакций

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

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

Statistics and Machine Learning Toolbox

Обучите регрессионные модели в приложении Regression Learner

Функции регрессии

Объединение в кластерыИспользуйте функции кластерного анализа.Statistics and Machine Learning ToolboxКластерный анализ
Вычислительные финансовые задачи, такие как кредитный скорингИспользуйте инструменты для моделирования анализа кредитного риска.Financial Toolbox™ и Risk Management Toolbox™Кредитный риск (Financial Toolbox)
Глубокое обучение с помощью нейронных сетей для классификации и регрессииИспользуйте предварительно обученные сети и функции для обучения сверточных нейронных сетей.Deep Learning Toolbox™Глубокое обучение в MATLAB (Deep Learning Toolbox)
Распознавание лиц, обнаружение движения и обнаружение объектовИспользуйте инструменты глубокого обучения для обработки изображений и компьютерного зрения.Deep Learning Toolbox и Computer Vision Toolbox™Распознавание, обнаружение объектов и семантическая сегментация (Computer Vision Toolbox)

Следующий систематический рабочий процесс машинного обучения может помочь вам решить проблемы машинного обучения. Весь рабочий процесс можно выполнить в MATLAB.

Чтобы интегрировать лучшую обученную модель в промышленную систему, можно развернуть модели машинного обучения Statistics and Machine Learning Toolbox с помощью MATLAB Compiler™. Для многих моделей можно сгенерировать код С для предсказания с помощью MATLAB Coder™.

Обучите классификационные модели в приложении Classification Learner

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

  • Автоматически обучите выбор моделей, чтобы помочь вам выбрать лучшую модель. Типы моделей включают деревья решений, дискриминантный анализ, машины опорных векторов, логистическую регрессию, ближайших соседей, наивные классификаторы Байеса, ансамбля и нейронных сетей.

  • Исследуйте свои данные, задайте схемы валидации, выберите функции и визуализируйте результаты. По умолчанию приложение защищает от сверхподбора кривой, применяя перекрестную валидацию. Кроме того, можно выбрать валидацию типа «holdout». Результаты валидации помогают вам выбрать лучшую модель для своих данных. Графики и показатели эффективности отражают подтвержденные результаты модели.

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

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

Дополнительные сведения см. в разделе Train классификационных моделей в приложении Classification Learner.

Для дополнительных опций можно использовать интерфейс командной строки. См. Классификация.

Обучите регрессионные модели в приложении Regression Learner

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

  • Автоматически обучите выбор моделей, чтобы помочь вам выбрать лучшую модель. Типы моделей включают линейные регрессионые модели, регрессионые деревья, регрессионые модели Гауссова процесса, машины опорных векторов, ансамбли регрессионых деревьев и регрессионые модели нейронной сети.

  • Исследуйте свои данные, выбирайте функции и визуализируйте результаты. Подобно Classification Learner, Regression Learner применяет перекрестную валидацию по умолчанию. Результаты и визуализация отражают проверенную модель. Используйте результаты, чтобы выбрать лучшую модель для ваших данных.

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

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

Для получения дополнительной информации см. Train регрессионным моделям» в приложении Regression Learner App.

Для дополнительных опций можно использовать интерфейс командной строки. См. Регрессия.

Обучите нейронные сети для глубокого обучения

Deep Learning Toolbox позволяет вам выполнять глубокое обучение со сверточными нейронными сетями для классификации, регрессии, редукции данных и передачи обучения. Тулбокс предоставляет простые команды MATLAB для создания и соединения слоев глубокой нейронной сети. Примеры и предварительно обученные сети облегчают использование MATLAB для глубокого обучения, даже без обширных знаний о передовых алгоритмах компьютерного зрения или нейронных сетях.

Чтобы узнать больше, смотрите Глубокое Обучение в MATLAB (Deep Learning Toolbox).

Похожие темы