Машинное обучение в MATLAB — Павел Рословец
Машинное обучение
в MATLAB
Павел Рословец
1План вебинара
Машинное обучение
Глубокое обучение 45 мин
Обучение на Big Data
Экспорт алгоритмов
2Развитие технологий ИИ
Искусственный интеллект
Аргументация
Широта применения
Восприятие
Машинное обучение
Представление знаний Предсказание погоды Определение спама
Алгоритмический трейдинг
Машинный перевод Интернет вещей
Обнаружение мошенничества Глубокое обучение
Компьютерные игры
Биоинформатика Распознавание объектов
Интерактивные проргаммы Медицинская диагностика Автономные авто
Экспертные системы Мониторинг здоровья Роботы
1950s 1980s сегодня
3Машинное обучение рассматривают, когда
• Решение слишком сложное для написания уравнений Потому что
алгоритмы могут:
находить сложные
нелинейные
Распознавание речи Распознавание объектов Контроль оборудования взаимосвязи
• Решение должно адаптироваться под новые данные
корректироваться
при поступлении
Прогноз погоды Предсказание энергозатрат Предсказание рынка новых данных
• Решение нужно масштабировать
эффективно
обучаться на
Аналитика IoT Поиск такси Предсказание задержки рейсов
больших данных
4 Сложности машинного обучения
Анализ занимает много времени
Большое количество математических функций
Необходима серьезная техническая экспертиза
Документация и приложения упрощают работу
Нет одного решения для всего
Приложения позволяют быстро подобрать модель
Решения в виде «черных ящиков»
Создание из моделей независимых приложений
5Алгоритмы машинного обучения
Обучение без
Кластеризация
учителя
Группировка и
интерпретация
Машинное входных данных
обучение
Классификация
Обучение с
учителем
Поиск взаимосвязи Регрессия
между входом и
выходом
6Кластеризация
Обучающие данные
Входные
данные Кластеры
?
7Классификация
Обучающие данные
Входные
данные Классы
?
8 Регрессия
Обучающие данные
Входные Непрерывная
данные величина
?
9Statistics and Machine Learning
Toolbox
10Методы кластеризации
Кластеризация
k-Means, Gaussian Hidden
Hierarchical
Fuzzy C-Means Mixture Markov Model
11Методы обучения с учителем
Gaussian
Process
Регрессия
Non-linear Support
Decision Ensemble Linear
Reg.
Vector
Trees Methods (GLM, Logistic) Regression
Machines
Классификация
Discriminant Nearest
Naive Bayes
Analysis Neighbor
12Улучшение моделей
• Выбор признаков
• Трансформация
признаков
• Настройка
гиперпараметров
13Выбор признаков
(Feature Selection)
• Stepwise regression
• Sequential feature selection
• Regularization
• Neighborhood component analysis (NCA)
14Трансформация признаков
(Feature Transformation)
• Principal component analysis (PCA)
• Nonnegative matrix factorization
• Factor analysis
• Sparse Filtering
• Reconstruction ICA
15Демо ирисы Фишера
Кластеризация
Sepal
Petal
16 Предсказательное обслуживание
(Predictive Maintenance)
Сбор данных
Анализ накопленных данных
Создание модели для предсказания отказов
Развертывание модели для предсказания в
реальном времени
Предотвращение отказов
17Демо предсказание отказов двигателя
Классификация
Данные
Сигналы с датчиков 100
двигателей одной модели
Цель
Построить модель предсказания
отказов
18Использование накопленных данных
Начало использования Начало записи Отказ Обслуживание
Накопленные
Двигатель1
Двигатель2
Двигатель100
«Живые»
Циклы
(время)
Двигатель200 ?
19Демо предсказание стоимости такси
Регрессия
Данные
Статистика поездок такси
Нью-Йорка
Цель
Построить модель предсказания
стоимости поездки
20Обучение на больших данных
Зачем использовать?
–Обучение на больших выборках дает более
точную модель
Сложности
–Данные не помещаются в память
–Интерактивная работа непрактична
21Стандартные методы
• Использование только части данных
• Последовательная работа с частями данных
• Распараллеливание обработки
• Дополнительная работа
• Требует больше усилий/кода
• Может повлиять на качество результата
22Подход MATLAB
• Быстрый переход к большим данным
• Обучение на больших данных
• Автоматическое распараллеливание
• Бесшовный переход от обучения на
обычных данных к Big Data
23 Машинное обучение на Big Data
• Статистика (skewness, tabulate, • Linear classification methods for
crosstab, cov, grpstats, …) SVM and logistic regression
• K-means кластеризация (kmeans) (fitclinear)
• Random forest ensembles of
• Визуализация (ksdensity,
classification trees (TreeBagger)
binScatterPlot; histogram, histogram2)
• Уменьшение размерности (pca, • Naïve Bayes classification (fitcnb)
pcacov, factoran) • Regularized regression (lasso)
• Linear and generalized linear regression • Предсказание по Big Data
(fitlm, fitglm)
• Discriminant analysis (fitcdiscr)
24Экспорт алгоритмов
MATLAB
Runtime MATLAB
MATLAB MATLAB
Compiler Compiler SDK
Standalone MATLAB
Python
Application Excel Hadoop C/C++ Java .
NET Production
Server
25Генерация С кода из моделей машинного обучения
MATLAB Coder MATLAB code
Мобильные сенсоры
Мониторинг состояния
C code
Предсказание отказов
Пост-обработка для радаров
Системы наблюдения
Классификация физиологических
сигналов(ECG)
...
Embedded Systems
26 Генерация С кода из моделей машинного обучения
– 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)
27MATLAB идеальное решение для
машинного обучения
M
Подбор
Загрузка Обработка Извлечение Тренировка Интеграция в
лучшей
данных данных признаков модели производство
модели
MATLAB Compiler
MATLAB Statistics and Machine Learning Toolbox MATLAB Compiler
SDK
MATLAB Coder
28https://www.mathworks.com/campaigns/products/offer/machine-learning-with-matlab 29
Neural Network Toolbox
• Создание и обучение нейросетей
• Глубокое обучение
• Классификация, регрессия и кластеризация
• Графические инструменты
• Экспорт алгоритмов и генерация С кода
• (скоро) генерация GPU кода
30Deep learning
• Экспорт функций для тренировки • Transfer learning:
нейросетей − AlexNet
− VGG-16
• Поддержка AlexNet − VGG-19
− модели из Caffe
• Поддержка нескольких GPU
• Распознавание изображений:
− R-CNN
− Fast R-CNN
− Faster R-CNN 31Демо распознавание цифр
Transfer learning
Данные
- Нейросеть для
распознавания букв
- Набор цифр
Цель
Обучить сеть распознавать
цифры
32Особенности машинного
обучения в MATLAB
Работа с любыми данными
Огромные возможности анализа и
визуализации
Ускорение за счет параллельных
вычислений
Создание независимых приложений
33Уникальность MATLAB
Работа с Big Data
• Легко работать с данными, не влезающими в память
Экосистема тулбоксов
• Реализация полного цикла разработки
Графические приложения
• Тренировка, сравнение и экспорт моделей без
написания кода
Генерация кода
• Развёртывание моделей на встраиваемых системах
34MATLAB – самая простая и
эффективная среда для специалистов
в области машинного обучения
35• User stories mathworks.com • Products • Documentation • Мероприятия matlab.ru • Тренинги MATLABinRussia • Вводные ролики 36
• Поставка MATLAB & Simulink
Центр инженерных технологий
• Обучение специалистов
и моделирования
• Настройка решений под ключ
• Консалтинг
exponenta.ru
[email protected]
+7 (495) 009 65 85
37Тренинги
• MLBE: основы MATLAB
• MLVI: MATLAB для обработки и визуализации
данных
• MLML: Машинное обучение с MATLAB
• MLST: Статистические методы в MATLAB
• MLEM: Генерация C кода из MATLAB с
помощью MATLAB Coder
и другие…
38Консалтинг
Интернет вещей
Анализ данных
Машинное обучение
Встраиваемые системы
39День вебинаров:
Методы анализа данных
для интернета вещей
11:00 - Анализ данных в MATLAB для IoT
13:30 - Машинное обучение в MATLAB
16:00 - Параллельные вычисления и Big Data
40Анализ основных компонентов Matlab и факторный анализ
Функции, используемые в анализе главных компонентов в Matlab:
1.
princomp
Функция: анализ главных компонентов
Формат: PC = princomp (X)
[PC,SCORE,latent,tsquare]=princomp(X)
Примечание: [PC, SCORE, latent, tsquare] = princomp (X) выполняет анализ главных компонентов матрицы данных X и дает каждому главному компоненту (ПК) так называемый Z-счет ( SCORE), собственные значения матрицы дисперсии X (скрытой) и статистика HotellingT2 (tsquare) каждой точки данных.
2.pcacov
Функция: анализ главных компонентов с использованием ковариационной матрицы
Формат: PC = pcacov (X)
[PC,latent,explained]=pcacov(X)
Объяснение: [PC, скрытый, объясненный] = pcacov (X) выполняет анализ главных компонентов через ковариационную матрицу X и возвращает собственные значения главного компонента (PC) и ковариационной матрицы X (скрытые ) И каждый вектор признаков представляет собой процент от общей дисперсии наблюдения (объяснено).
Факторный анализ
Исходная переменная раскладывается в линейную комбинацию из нескольких факторов, и несколько из них выбираются для определения количества факторов: совокупный коэффициент вклада превышает 80% или число собственных значений в матрице коэффициентов корреляции больше 1.
Факторный анализ в Matlab для факторного анализа
[lambda,psi,T,stats,F] = factoran(X,m)
x — матрица коэффициентов наблюдения, m — число общих факторов, лямбда — матрица загрузки коэффициентов p × m (p — число исходных переменных), а элемент в i-й строке и j-м столбце — это i-переменная для j-го общего множителя. Load, pis — оценка максимального правдоподобия специальной дисперсии, T — матрица вращения факторной нагрузки порядка m, а stats — статистика для проверки нулевой гипотезы (заданного числа факторов m), где p больше уровня значимости a, Тогда примите нулевую гипотезу, F является оценочной матрицей
Интеллектуальная рекомендация
Chunsheng, все путешествует далеко — выпущена Zhulang CMS v8.0 [на основе .NET Core]
6 апреля 2019 г. по пекинскому времени: Ведущий производитель портальных систем CMS, производитель базовых элементов данных и веб-фреймворков — Zoomla! Команда CMS объявила о запуске нового пок…
Что такое функциональный интерфейс в Java 8? Примечание @Function и пример
Функция интерфейса является одним из наиболее важных концепций Java 8.
Это на самом деле питанием для лямбда-выражения, но многие разработчики не понимают первую функцию интерфейса функции в Java 8, я…
SparksQL Обучение DataFrame.
Несколько типов данных в Spark: Процесс обработки искровой передачи данных заключается в том, чтобы импортировать данные в некоторых формате (TXT, JSON, CSV, Parquet, MySQL, Cive, HBASE), то есть проц…
связанный список python
Связанный список — это набор элементов, состоящих из ряда узлов. Каждый узел содержит две части: элемент поля данных и указатель рядом со следующим узлом. Посредством взаимной связи между узлами серия…
Библиотека расширения Python MatPlotlib
1. Введение: Matplotlib — это 2D-библиотека рисования Python. Его можно использовать с Numpy для обеспечения действительной альтернативы открытого исходного кода MATLAB. Он также может быть использова…
Вам также может понравиться
Рассчитайте количество дней между двумя датами
Перепечатано по адресу: https://www.
cnblogs.com/1020182600heng/p/7519034.html…
Потеря восприятия и убытки противника
perceptual loss Это сравнение функции, которое является получением реальной свертки изображения с функцией, которая генерирует свертку изображения, делает информацию о высокой уровне (содержание и гло…
2.2.mdadm Команда
Реализация программного обеспечения: Программный рейд на Centos 6: В сочетании с MD (Multi … Multies) в ядре Найти: https://blog.51cto.com/itxuezhe/2357247…
Табличная информация Домой скольжение
Рендеринг: 1 документ: Гарантия: activity_main.xml RelativeLayout Layout. item.xml MainActivity.java Fragment01.java…
BitMap(1)
концепция Так называемая битовая карта состоит в том, чтобы пометить значение, соответствующее элементу с немного битом, и ключ является элементом. Поскольку бит используется для хранения данных, он м…
Пакет статистики — Octave
Пакет статистики является частью проекта Octave Forge.
Содержимое
- 1 сердечник
- 1.1 Будет определено
- 1.2 Несовместимость с Matlab
- 1.3 Можно повторно использовать в других функциях
- 1.4 Готов к работе
- 1,5 Во внешней упаковке
- 2 Развитие
- 2.1 Отсутствующие функции
- 2.2 Отсутствующие опции
Основной пакет[править]
Нам нужно решить, что делать с функциями в существующем пакете Forge, когда они не реализованы или были удалены из соответствующего набора инструментов Matlab:
Подлежит определению[править]
| функция | решение/примечания |
|---|---|
| anderson_darling_cdf | |
| кл_мультином | |
| дков | |
| гевфит_лмом | |
| iwishpdf | |
| джсукдф | |
| jsupdf | |
| monotone_smooth | |
| нормализовать_распределение | |
| главный комп | matlab говорит, что функция удалена, но, скорее всего, это ложь. Мы тоже должны сохранить его. |
| код | |
| запуск теста | |
| сигма_пт | еще не выпущен |
| скрипка | |
| вмпдф | |
| вмрнд | |
| желаниеpdf |
Несовместимость с Matlab[править]
Эти функции имеют то же имя, что и функции Matlab, но имеют другой интерфейс
- боксплот
- gpcdf
- гпинв
- gppdf
- gprnd
Можно повторно использовать в других функциях
ranovaГотов к работе[править]
Эти функции кажутся совместимыми с Matlab
Во внешних пакетах
Разработка[править]
Следует неполному списку вещей, отсутствующих в пакете статистики для совместимости с Matlab.
Ошибки не перечислены здесь, вместо этого ищите и сообщайте о них в системе отслеживания ошибок.
Весь этот раздел посвящен текущей версии разработки. Если функция Matlab отсутствует в списке и не отображается в текущем выпуске пакета, подтвердите, что она также отсутствует в источниках разработки, прежде чем добавлять ее.
Отсутствующие функции[править]
Отсутствующие параметры[править]
- explike: цензура и частота еще не реализованы
matlabfactoran ǶЭϵе_ٶ֪
- ٶҳ
- ̳
- и
- =
- ҳ
- Ѷ
- Ƶ
- ͼƬ
- ֪
- Ŀ
- ɹ
- ͼ
ѡó⣿
{@каждый список тегов как элемент}
ֻش㣬ȤAPP
ύɹ
Ƿش⣿
ֻش㣬ȤAPP
չȫ
zscoreԤ֮һ~ԭ֮ǰҪ֪Эϵļ㷽~
չȫ
C=cov(a)Э
R=corrcoef(aϵ
Ƽʦ δ⣬ϸ⣬ͨٶٽרҵѯ
ТК coding. |
Vector
Trees Methods (GLM, Logistic) Regression
Machines
Классификация
Discriminant Nearest
Naive Bayes
Analysis Neighbor
12
NET Production
Server
25
mathworks.com/campaigns/products/offer/machine-learning-with-matlab
29
com • Products
• Documentation
• Мероприятия
matlab.ru • Тренинги
MATLABinRussia • Вводные ролики
36
Мы тоже должны сохранить его.
imooc.com