40
1 Машинное обучение в MATLAB Павел Рословец

Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

  • Upload
    others

  • View
    22

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

1

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

Павел Рословец

Page 2: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

2

План вебинара

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

Глубокое обучение

Обучение на Big Data

Экспорт алгоритмов

45 мин

Page 3: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

3

Искусственный интеллект

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

Развитие технологий ИИ

Глубокое обучение

1950s сегодня1980s

Ши

рота

при

ме

нени

я

Автономные авто

Роботы

Распознавание объектовБиоинформатика

Интернет вещей

Определение спама

Обнаружение мошенничества

Предсказание погоды

Алгоритмический трейдинг

Медицинская диагностика

Мониторинг здоровья

Компьютерные игры

Машинный перевод

Представление знаний

Восприятие

Аргументация

Интерактивные проргаммы

Экспертные системы

Page 4: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

4

Машинное обучение рассматривают, когда

корректироваться при поступлении новых данных

находить сложные нелинейные взаимосвязи

эффективно обучаться на больших данных

• Решение слишком сложное для написания уравнений

Распознавание речи Распознавание объектов Контроль оборудования

• Решение должно адаптироваться под новые данные

Прогноз погоды Предсказание энергозатрат Предсказание рынка

• Решение нужно масштабировать

Аналитика IoT Поиск такси Предсказание задержки рейсов

Потому что алгоритмы могут:

Page 5: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

5

Сложности машинного обучения

Анализ занимает много времени

Необходима серьезная техническая экспертиза

Нет одного решения для всего

Решения в виде «черных ящиков»

Большое количество математических функций

Документация и приложения упрощают работу

Приложения позволяют быстро подобрать модель

Создание из моделей независимых приложений

Page 6: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

6

Алгоритмы машинного обучения

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

Обучение с учителем

Классификация

Регрессия

Обучение без учителя

Кластеризация

Группировка и интерпретациявходных данных

Поиск взаимосвязимежду входом и

выходом

Page 7: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

7

Кластеризация

Обучающие данные

?Входные

данныеКластеры

Page 8: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

8

Классификация

Обучающие данные

?Входные

данныеКлассы

Page 9: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

9

Регрессия

Обучающие данные

?Входные

данные

Непрерывная

величина

Page 10: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

10

Statistics and Machine Learning

Toolbox

Page 11: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

11

Методы кластеризации

Кластеризация

k-Means,Fuzzy C-Means

HierarchicalGaussianMixture

HiddenMarkov Model

Page 12: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

12

Методы обучения с учителем

Регрессия

Классификация

NearestNeighbor

Discriminant Analysis

Naive Bayes

Gaussian Process

Non-linearReg.

(GLM, Logistic)

LinearRegression

DecisionTrees

Ensemble Methods

Support Vector

Machines

Page 13: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

13

Улучшение моделей

• Выбор признаков

• Трансформация

признаков

• Настройка

гиперпараметров

Page 14: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

14

Выбор признаков(Feature Selection)

• Stepwise regression

• Sequential feature selection

• Regularization

• Neighborhood component analysis (NCA)

Page 15: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

15

Трансформация признаков(Feature Transformation)

• Principal component analysis (PCA)

• Nonnegative matrix factorization

• Factor analysis

• Sparse Filtering

• Reconstruction ICA

Page 16: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

16

Демо ирисы ФишераКластеризация

Sepal

Petal

Page 17: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

17

Предсказательное обслуживание(Predictive Maintenance)

Анализ накопленных данных

Создание модели для предсказания отказов

Развертывание модели для предсказания в реальном времени

Предотвращение отказов

Сбор данных

Page 18: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

18

Данные

Сигналы с датчиков 100

двигателей одной модели

Цель

Построить модель предсказания

отказов

Демо предсказание отказов двигателяКлассификация

Page 19: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

19

Использование накопленных данных

?

На

копл

енн

ые

«Ж

ивы

е»

Двигатель1

Двигатель2

Двигатель100

Начало использования

Циклы

(время)

Двигатель200

Начало записи Отказ Обслуживание

Page 20: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

20

Демо предсказание стоимости таксиРегрессия

Данные

Статистика поездок такси

Нью-Йорка

Цель

Построить модель предсказания

стоимости поездки

Page 21: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

21

Обучение на больших данных

Зачем использовать?

–Обучение на больших выборках дает более

точную модель

Сложности

–Данные не помещаются в память

–Интерактивная работа непрактична

Page 22: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

22

Стандартные методы

• Использование только части данных

• Последовательная работа с частями данных

• Распараллеливание обработки

• Дополнительная работа• Требует больше усилий/кода• Может повлиять на качество результата

Page 23: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

23

Подход MATLAB

• Быстрый переход к большим данным

• Обучение на больших данных

• Автоматическое распараллеливание

• Бесшовный переход от обучения на обычных данных к Big Data

Page 24: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

24

Машинное обучение на Big Data

• Статистика (skewness, tabulate,

crosstab, cov, grpstats, …)

• K-means кластеризация (kmeans)

• Визуализация (ksdensity,

binScatterPlot; histogram, histogram2)

• Уменьшение размерности (pca,

pcacov, factoran)

• Linear and generalized linear regression

(fitlm, fitglm)

• Discriminant analysis (fitcdiscr)

• Linear classification methods for

SVM and logistic regression

(fitclinear)

• Random forest ensembles of

classification trees (TreeBagger)

• Naïve Bayes classification (fitcnb)

• Regularized regression (lasso)

• Предсказание по Big Data

Page 25: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

25

Экспорт алгоритмов

MATLAB

MATLAB

Compiler SDK

C/C++Excel JavaHadoop .NET

MATLAB

Compiler

MATLAB

Production

Server

Standalone

ApplicationPython

MATLABRuntime

Page 26: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

26

Генерация С кода из моделей машинного обучения

MATLAB Coder Мобильные сенсоры

Мониторинг состояния

Предсказание отказов

Пост-обработка для радаров

Системы наблюдения

Классификация физиологических

сигналов(ECG)

...

C code

MATLAB code

Embedded Systems

Page 27: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

27

– Vector machine classification (fitcsvm)

– Linear classification models (fitclinear)

– Multi-class versions of the above (fitcecoc)

– Linear regression models (fitlm)

– Generalized linear regression models (fitglm, glmval)

– Decision trees for classification and regression (fitctree, fitrtree)

– Ensembles of trees for classification (fitcensemble)

Генерация С кода из моделей машинного обучения

Page 28: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

28

M

MATLAB Compiler

MATLAB Compiler

SDK

MATLAB Coder

Statistics and Machine Learning ToolboxMATLAB

MATLAB идеальное решение для

машинного обучения

Загрузка

данных

Обработка

данных

Извлечение

признаков

Тренировка

модели

Подбор

лучшей

модели

Интеграция в

производство

Page 29: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

29

https://www.mathworks.com/campaigns/products/offer/machine-learning-with-matlab

Page 30: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

30

Neural Network Toolbox• Создание и обучение нейросетей

• Глубокое обучение

• Классификация, регрессия и кластеризация

• Графические инструменты

• Экспорт алгоритмов и генерация С кода

• (скоро) генерация GPU кода

Page 31: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

31

Deep learning

• Экспорт функций для тренировкинейросетей

• Поддержка AlexNet

• Transfer learning:− AlexNet− VGG-16− VGG-19− модели из Caffe

• Поддержка нескольких GPU

• Распознавание изображений:− R-CNN− Fast R-CNN− Faster R-CNN

Page 32: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

32

Демо распознавание цифрTransfer learning

Данные

- Нейросеть для

распознавания букв

- Набор цифр

Цель

Обучить сеть распознавать

цифры

Page 33: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

33

Особенности машинного

обучения в MATLAB

Работа с любыми данными

Огромные возможности анализа и

визуализации

Ускорение за счет параллельных

вычислений

Создание независимых приложений

Page 34: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

34

Уникальность MATLAB

• Легко работать с данными, не влезающими в память

Работа с Big Data

• Реализация полного цикла разработки

Экосистема тулбоксов

• Тренировка, сравнение и экспорт моделей без написания кода

Графические приложения

• Развёртывание моделей на встраиваемых системах

Генерация кода

Page 35: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

35

MATLAB – самая простая и эффективная среда для специалистов в области машинного обучения

Page 36: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

36

MATLABinRussia

mathworks.com

matlab.ru

• User stories• Products• Documentation

• Мероприятия• Тренинги

• Вводные ролики

Page 37: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

37

• Поставка MATLAB & Simulink

• Обучение специалистов

• Настройка решений под ключ

• Консалтингexponenta.ru

[email protected]

+7 (495) 009 65 85

Центр инженерных технологий

и моделирования

Page 38: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

38

• MLBE: основы MATLAB• MLVI: MATLAB для обработки и визуализации

данных• MLML: Машинное обучение с MATLAB• MLST: Статистические методы в MATLAB• MLEM: Генерация C кода из MATLAB с

помощью MATLAB Coderи другие…

Тренинги

Page 39: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

39

Консалтинг

Интернет вещейАнализ данныхМашинное обучениеВстраиваемые системы

Page 40: Машинное обучение в MATLAB - Exponenta.ru...2017/05/18  · 24 Машинное обучение на Big Data•Статистика (skewness, tabulate, crosstab,

40

День вебинаров: Методы анализа данных для интернета вещей

11:00 - Анализ данных в MATLAB для IoT13:30 - Машинное обучение в MATLAB16:00 - Параллельные вычисления и Big Data