Анализ данных в MATLAB · 4 План ведение в анализ данных...

66
1 Анализ данных в MATLAB для пользователей Excel

Transcript of Анализ данных в MATLAB · 4 План ведение в анализ данных...

Page 1: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

1

Анализ данных в MATLAB

для пользователей Excel

Page 2: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

2

Ключевые отрасли промышленности

Аэрокосмическая и оборонная пром - ть

Автомобильная отрасль

Биотехнологии и фармацевтика

Коммуникации

Образование

Электроника и полупроводники

Энергетика

Финансовые сервисы

Промышленная автоматизация

Page 3: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

3

The MathWorks™ Family

MATLAB®

Simulink®Application

Development Tools

Toolboxes

Data Access Tools

Student Products

Stateflow®

Blocksets

Code Generation

Stand-Alone

Applications

Data

Sources

C Code

Page 4: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

4

План

Введение в анализ данных

Анализ данных в MATLAB и Excel

Статистический анализ и алгоритмы

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

Решение ресурсоемких задач, анализ

больших данных

Разработка приложений и надстроек к Excel

Заключение

Page 5: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

5

Инструменты, используемые при

анализе данных

Таблицы

– Excel

Специализированные и узкоспециализированные инструменты

– Приложение обработки изображений

– Приложение распознавания речи

Языки общего назначения

– C, C++, FORTRAN

– Java, Visual Basic, C#

Языки технических вычислений

– MATLAB

Page 6: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

6

Визуализация процесса анализа

данных

Анализ

for ( i = 0; i < xcount < ++i )

{ for ( j = 0; j < ycount; ++j, ++p )

{ *p = image[i][j] * 1.2;

}

}

Данные

54.54478997 52.38980281 51.63443453

51.81183991 50.64697035 50.11122399

61.86095567 60.58273586 61.27435412

61.40586691 60.98638795 60.69712015

59.49328778 58.99722501 58.65336696

58.64778457 58.04403852 57.43600642

58.77546367 57.40830460 57.21952379

58.73111556 58.10821166 57.76782024

59.40749506 59.26373066 59.19908794

53.98773719 53.32232202 53.11232752

52.09581504 51.93396240 52.39473525

55.71349383 55.14220626 54.70845073

55.01767533 54.17058514 54.40268562

55.59898094 54.03687710 53.82553052

Page 7: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

7

Analysis

for ( i = 0; i < xcount < ++i )

{ for ( j = 0; j < ycount; ++j, ++p

)

{ *p = image[i][j] * 1.2;

}

}

Data

54.54478997 52.38980281 51.63443453

51.81183991 50.64697035 50.11122399

61.86095567 60.58273586 61.27435412

61.40586691 60.98638795 60.69712015

59.49328778 58.99722501 58.65336696

58.64778457 58.04403852 57.43600642

58.77546367 57.40830460 57.21952379

58.73111556 58.10821166 57.76782024

59.40749506 59.26373066 59.19908794

53.98773719 53.32232202 53.11232752

52.09581504 51.93396240 52.39473525

55.71349383 55.14220626 54.70845073

55.01767533 54.17058514 54.40268562

55.59898094 54.03687710 53.82553052

Что находится в центре внимания?

Анализ

for ( i = 0; i < xcount < ++i )

{ for ( j = 0; j < ycount; ++j, ++p )

{ *p = image[i][j] * 1.2;

}

}

Данные

54.54478997 52.38980281 51.63443453

51.81183991 50.64697035 50.11122399

61.86095567 60.58273586 61.27435412

61.40586691 60.98638795 60.69712015

59.49328778 58.99722501 58.65336696

58.64778457 58.04403852 57.43600642

58.77546367 57.40830460 57.21952379

58.73111556 58.10821166 57.76782024

59.40749506 59.26373066 59.19908794

53.98773719 53.32232202 53.11232752

52.09581504 51.93396240 52.39473525

55.71349383 55.14220626 54.70845073

55.01767533 54.17058514 54.40268562

55.59898094 54.03687710 53.82553052

Page 8: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

8

Что находится в центре внимания?

Данные

54.54478997 52.38980281 51.63443453

51.81183991 50.64697035 50.11122399

61.86095567 60.58273586 61.27435412

61.40586691 60.98638795 60.69712015

59.49328778 58.99722501 58.65336696

58.64778457 58.04403852 57.43600642

58.77546367 57.40830460 57.21952379

58.73111556 58.10821166 57.76782024

59.40749506 59.26373066 59.19908794

53.98773719 53.32232202 53.11232752

52.09581504 51.93396240 52.39473525

55.71349383 55.14220626 54.70845073

55.01767533 54.17058514 54.40268562

55.59898094 54.03687710 53.82553052

Анализ

for ( i = 0; i < xcount < ++i )

{ for ( j = 0; j < ycount; ++j, ++p )

{ *p = image[i][j] * 1.2;

}

}

Page 9: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

9

Подходы с Excel иMATLAB

Excel MATLAB

Page 10: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

10

Использование MATLAB с Excel

Из MATLAB

– Чтение или запись данных Excel

Из Excel

– Вызов MATLAB команд из

ячеек или скрипта Visual Basic

Page 11: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

11

Задачи анализа данных

Reporting and

Documentation

Outputs for Design

Deployment

Передача

резульатов

Исследование и

Разработка

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Доступ к

данным

Code & Applications

Automate

Page 12: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

12

План

Введение в анализ данных

Анализ данных в MATLAB и Excel

Статистический анализ и алгоритмы

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

Решение ресурсоемких задач, анализ

больших данных

Разработка приложений и надстроек к Excel

Заключение

Page 13: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

13

Модель глобального солнечного

излучения

𝑅𝑠 = 𝑎 (1 + 𝑏𝐻)(1 − 𝑒−𝑐 ∆𝑇𝑛)

внеатмосферное

излучение

общее

глобальное

излучение

Solar Ratio (Rs)

=Глобальное солнечное излучение

Внеатмосферное солнечное излучение

Ежедневная разность температур(∆𝐓) = TDailyMax –

TDailyMin

H -относительная влажность

a,b,c,n коэффициенты модели

Page 14: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

14

Demo: Оценка солнечного излучения

Цель:

– Оценить среднесуточное

солнечное излучение

Подход:

– Получение исторических измерений

– Разработка предсказательной модели

– Документация анализа в отчете

– Расширение анализа на множество файлов

Page 15: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

15

Задачи анализа данных

Reporting and

Documentation

Outputs for Design

Deployment

ShareExplore & Discover

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code & Applications

Automate

Page 16: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

16

Explore & Discover

MATLAB – Платформа для анализа данных

Reporting and

Documentation

Outputs for Design

Deployment

Share

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code & Applications

Automate

Page 17: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

17

Explore & Discover

Demo: Оценка солнечного

излучения

Reporting and

Documentation

Outputs for Design

Deployment

Share

Data Analysis

& Modeling

Files

Software

Hardware

Access

Code & Applications

Automate

Algorithm

Development

Application

Development

Products Used MATLAB

Spreadsheet Link EX

Statistics Toolbox

Curve Fitting Toolbox

Page 18: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

18

Доступ к данным из MATLAB

Файлы

– Excel, текстовые, бинарные

– Мультимедиа, научные

– Web, XML

Приложения и языки

– C/C++, Java, FORTRAN

– COM, .NET, общая библиотека

– Databases

Оборудование

– Сбор данных с приборов для

сигналов и изображений

– Автономные приборы и устройства

Исследование и разработка Передача результатовДоступ

Page 19: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

19

Анализ данных и визуализация в

MATLAB

Анализ данных

– Манипулирование, предварительная

обработки и управление данными

– Быстрые, точный анализ с встроенными

математическими и инженерными

функциями

Визуализация

– Встроенные графические функции для

инженеров и научных работников

(2D, 3D, VolViz)

– Интерактивные инструменты,

аннотации, пользовательская

настройка графиков

Исследование и разработка Передача результатовДоступ

Page 20: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

20

Расширение возможностей MATLAB

MathWorks встроенные инструменты:

– Статистика и сглаживание данных

– Обработка сигнала и изображений

– Система идентификации и анализ

систем управления

– Нейронные сети и нечеткая логика

– Оптимизация

Партнерские продукты для:

– Дополнительные интерфейсы

– Предметно – ориентированные анализ

– Узкоспециализированные приложения

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

Page 21: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

21

Передача данных из MATLAB

Автоматическая генерация

структурированных отчетов

– Публикация MATLAB файлов

– MATLAB Report Generator

Передача результатов для

дальнейшей разработки

Развертывание приложений

в другие среды

Исследование и разработка Передача результатовДоступ

Page 22: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

22

План

Введение в анализ данных

Анализ данных в MATLAB и Excel

Статистический анализ и алгоритмы

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

Решение ресурсоемких задач, анализ

больших данных

Разработка приложений и надстроек к Excel

Заключение

Page 23: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

23

Машинное обучениеОсновные понятия

Первый шаг – начальное множество данных

“Обучение” по этим данным

– “Обучение” вашего алгоритма

с этими данными

Использование полученной

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

новых наборов данных

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Group1

Group2

Group3

Group4

Group5

Group6

Group7

Group8

Page 24: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

24

Машинное обучениеХарактеристики и примеры

Характеристики

– Много данных (много переменных)

– Система слишком сложна, чтобы

знать основное уравнение(например, моделирование черного ящика)

Примеры

– Распознавание образов (речь, изображения)

– Финансовые алгоритмы (оценка заемщиков,

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

– Прогнозирование потребления

электроэнергии (нагрузка, цена)

– Биология (обнаружение опухоли, исследование лекарственных

препаратов)

93.68%

2.44%

0.14%

0.03%

0.03%

0.00%

0.00%

0.00%

5.55%

92.60%

4.18%

0.23%

0.12%

0.00%

0.00%

0.00%

0.59%

4.03%

91.02%

7.49%

0.73%

0.11%

0.00%

0.00%

0.18%

0.73%

3.90%

87.86%

8.27%

0.82%

0.37%

0.00%

0.00%

0.15%

0.60%

3.78%

86.74%

9.64%

1.84%

0.00%

0.00%

0.00%

0.08%

0.39%

3.28%

85.37%

6.24%

0.00%

0.00%

0.00%

0.00%

0.06%

0.18%

2.41%

81.88%

0.00%

0.00%

0.06%

0.08%

0.16%

0.64%

1.64%

9.67%

100.00%

AAA AA A BBB BB B CCC D

AAA

AA

A

BBB

BB

B

CCC

D

Page 25: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

25

Модель процесса развития

Исследование Моделирование Оценка Развертывание

Page 26: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

26

Разведывательный анализ данных

Получение представление от визуального

просмотра

– Выявление трендов и взаимодействий

– Определение паттернов

– Удаление выбросов

– Уменьшение данных

– Выбор и уменьшение

количества предикторов

– Функция преобразованияMPG Acceleration Displacement Weight Horsepow er

MP

GA

ccele

ratio

nD

ispla

cem

ent

Weig

ht

Hors

epow

er

50 1001502002000 4000200 40010 2020 40

50

100

150

200

2000

4000

200

400

10

20

20

40

Page 27: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

27

Исследование данныхВзаимодействия между переменными

Взаимодействия между переменными Параллельные координаты График Эндрю

График символов Лица Чернова

MPG Acceleration Displacement Weight Horsepow er

MP

GA

ccele

ratio

nD

ispla

cem

ent

Weig

ht

Hors

epow

er

50 1001502002000 4000200 40010 2020 40

50

100

150

200

2000

4000

200

400

10

20

20

40

MPG Acceleration Displacement Weight Horsepower-3

-2

-1

0

1

2

3

4

Coord

inate

Valu

e

4

6

8

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-8

-6

-4

-2

0

2

4

6

8

t

f(t)

4

6

8

chevrolet chevelle malibu buick skylark 320 plymouth satellite

amc rebel sst ford torino ford galaxie 500

chevrolet impala plymouth fury iii pontiac catalina

chevrolet chevelle malibubuick skylark 320 plymouth satellite

amc rebel sst ford torino ford galaxie 500

chevrolet impala plymouth fury iii pontiac catalina

Page 28: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

28

Обзор машинного обученияВиды обучения, категории алгоритмов

Машинное

обучение

Обучение с

учителем

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

Регрессия

Обучение без

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

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

основана только на основе входных данных

Разработка модели основанной на обоих

подходах

Виды обучения Категории алгоритмов

Page 29: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

29

Неконтролируемое обучениеКластеризация

Обучение с

учителем

Обучение без

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

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

основана только на основе входных данных

Машинное

обучение

K-средних,

Fuzzy c-means

Иерархическая

Нейронные

сети

Гауссовы

смеси

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

Регрессия

Page 30: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

30

КластеризацияОбзор

Что такое кластеризация?

– Данные сегментируются в

группы, на основе сходства

Зачем использовать кластеризацию?

– Определение выбросов

– В результате, группы могут быть

предметом интереса

Как сделать кластеризацию?

– Кластеризация может быть достигнута различными алгоритмами

– Это итеративный процесс (включая пробы и ошибки)

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Page 31: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

31

Данные, которые мы будем

использовать

Облако случайно сгенерированных точек

– Каждый центр кластера случайным образом выбирается внутри указанных границ

– Каждый кластер содержитуказанное количество точек

– Каждая точка кластераполучена по нормальномураспределению

Многомерный набор данных

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Group1

Group2

Group3

Group4

Group5

Group6

Group7

Group8

Page 32: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

32

Пример кластерного анализаK-Means

K-means – это метод разбиения

Данные разделяются на k взаимоисключающих

кластеров

Каждый кластер имеет

центроид (или центр)

– Сумма расстояний от всех

объектов до центра

минимизируется

Statistics Toolbox

Page 33: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

33

Кластерный анализ K-средних – как

он работает?

Случайный выбор K

центров кластера

Назначение точек,

ближайших к центроиду

Перерасчет позиции

центроидов в кластере

Переназначение точек до

ближайшего центроида

Перерасчет позиции

центроидов в кластере

Итерации повторяются до тех пор,

пока центроиды не сойдутся

………

Page 34: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

34

Метрика расстояния и качество

группы Выбор меры расстояния

Множество встроенных

метрик или определение

своих собственных

>> doc pdist

>> distances = pdist(data,metric); %pdist =

pairwise distances

>> squareform(distances)

>> kmeans(data,k,’distance’,’cityblock’)

%not all metrics supported

Создание silhouette (силуэт)

графика

>> silhouette(data,clusters)

Евклидово

расстояние по

умолчанию

Cityblock расстояние

Полезно для дискретных

переменных

Косинусоидальное расстояние

Полезно для кластеризации

переменных

Page 35: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

35

Иерархический кластерный анализ

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Cut-off = 0.1

Page 36: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

36

Кластерный анализ Fuzzy c-means

(метод нечеткой кластеризации с-

средних) – как он работает?

Очень похож на K-means

Точки не назначаются окончательно в

кластер, но есть «членство» - значение по

отношению к каждому кластеру Необходим Fuzzy Logic Toolbox™

Запуск алгоритма fuzzy K-mean для

K кластеров>> [centroids, memberships]=fcm(x,K);

Page 37: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

37

Модель смеси нормальных

распределений

Хорошо, когда кластеры имеют различные

размеры и коррелируются

Предположим, что данные созданы

с фиксированным количеством

точек K по нормальному

распределению

0

0.2

0.4

0.6

0.8

1

0

0.2

0.4

0.6

0.8

1

0

10

20

Statistics Toolbox

Page 38: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

38

КластеризацияНейронные сети

Сети состоят из одного или более слоев

Выходы рассчитываются применяя

нелинейную передаточную

функцию со взвешенной

суммой входов

Обучение позволяет сети постоянно

приспосабливаться к новым входным данным(определяя весовые коэффициенты)

Зависимая переменная

Передаточнаяфункция

Веса

Смещение

Входныепеременные

Page 39: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

39

КластеризацияНейронные сети

Neural Network Toolbox имеет

интерактивный интерфейс с

которым легко создаются и

обучаются нейронные сети

Многослойные сети

созданные каскадами(обеспечивают лучшую точность)

Пример архитектуры для кластеризации:

– Самоорганизующаяся карта Кохонена

– Конкурентные слои

Neural Network Toolbox

Page 40: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

40

Самоорганизующаяся карта КохоненаКак это работает

Начните с регулярной сетки

‘нейронов’ лежащих на множестве

данных

Размер сетки определяется

количеством кластеров

Нейроны соревнуются узнать

данные точки (будучи рядом с ними)

Победные нейроны перемещаются

ближе к точкам данных

Повторять до сходимости

-0.5 0 0.5 1-0.2

0

0.2

0.4

0.6

0.8

1

1.2SOM Weight Positions

Weight 1

Weig

ht

2

-0.2 0 0.2 0.4 0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1SOM Weight Positions

Weight 1

Weig

ht

2

Page 41: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

41

Кластерный анализзаключение

Данные сегментируются в группы на основе сходства

Ни один метод не совершенен(зависит от данных)

Процесс итеративный;исследуются различные алгоритмы

Остерегайтесь локальных минимумов(глобальная оптимизация может быть полезна)

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

K-средних,

Fuzzy С-means

Иерархическая

Нейронные

сети

Гауссовы

смеси

Page 42: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

42

Процесс разработки модели

Исследование Моделирование Оценка Развертывание

Page 43: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

43

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

Обучение без

учителя

Разработка предсказывающей

модели основанной на входных и

выходных данных

Машинное

обучение

Обучение с

учителем

Дерево

решений

Ансамбль

кластеризаторов

Нейронные

сети

Метод

опорных

векторов

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

Page 44: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

44

КлассификацияОбзор

Что такое классификация?

– Прогнозируется лучшая группа для

каждой точки

– “Обучение” по отмеченным наблюдениям

– Использование функции ввода

Зачем использовать классификацию?

– Точная группировка данных, которые вы не видели до этого

Как выполнить классификацию?

– Возможно использовать несколько алгоритмов для построения

предсказывающей модели

– Хорошие данные для обучения являются критическими

-0.1 0 0.1 0.2 0.3 0.4 0.5 0.60

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Group1

Group2

Group3

Group4

Group5

Group6

Group7

Group8

Page 45: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

45

Дискриминантный анализ Подбор многомерной нормальной плотности для

каждого класса– linear — Подбор многомерной нормальной плотности для каждой

группы с суммарной оценкой ковариации. Эта процедура

происходит по умолчанию.

– diaglinear — Как и в линейной, но с диагональной оценкой

ковариационной матрицы (наивный байесовский классификатор).

– quadratic — Подбор многомерной нормальной плотности с

ковариационной оценкой с разбивкой по группам.

– diagquadratic — Аналогично квадратичной, но с диагональной

оценкой ковариационной матрицы (наивный байесовский

классификатор).

Оценка каждой новой точки путем оценки ее

вероятности для каждой функции плотности, и

классификации так, чтобы она имела наибольшую

вероятность

Page 46: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

46

Классификация K-ближайших соседей

Один из наиболее простых классификаторов

Принимает K ближайших точек

из обучающего множества и

выбирает наилучший класс для

этих K точек

Без этапа обучения вся работа

не будет сделана во время

применения модели

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6-0.5

0

0.5

1

1.5

x1

x2

group1

group2

group3

group4

group5

group6

group7

group8

Statistics Toolbox

Page 47: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

47

Пример классификацииДерево решений

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

обучающих данных

– Модель представляет собой

дерево, где каждый узел

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

Перемещение по дереву

идет с помощью сравнения

характеристик с пороговым

значением

“Лист” дерева назначается

определенной группе

Statistics Toolbox

Page 48: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

48

Ensemble LearnersОбзор

Деревья решений “слабо” обучаемы

– Метод хорош для работы с данными на

которых он обучался

– Часто, не очень хорош с новыми данными

– Обратите внимание на прямоугольные

группы

Принцип работы

– Объединяет многие деревья, чтобы создать

“сильного” ученика

– Использует “bootstrapped aggregation”

Почему используется ансамбль методов?

– Классификатор имеет лучшую

предсказательную силу

– Обратите внимание на улучшение формы

кластера

Statistics Toolbox

-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6-0.5

0

0.5

1

1.5

x1

x2

group1

group2

group3

group4

group5

group6

group7

group8

Page 49: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

49

Распознавание образов нейронной

сетью

Двуслойные (т.е. один слой скрыт)

нейронные сети могут обучаться на любом

соотношении входа – выхода имея

достаточное количество нейронов в скрытом

слое.

Нет ограничений на предикторы

Page 50: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

50

Метод опорных векторовОбзор

Хорош для моделирования сложных

границ между группами

– Может быть очень точным

– Нет ограничений на предикторы

Что делает метод?

– Использует нелинейное “ядро” для

вычисления границ

– Может обрабатывать большие объемы данных

Statistics Toolbox

-3 -2 -1 0 1 2 3-2

-1

0

1

2

3

4

1

2

Support Vectors

Page 51: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

51

Оценка моделей классификации Три основных стратегии

– Повторная подстановка – тест модели на тех же

данных, на которых она обучалась

– Перекрестная проверка

– Контрольные испытания на совершенно новом

наборе данных

Использование перекрестной проверки для оценки параметров

модели, таких как количество листьев деревьев или количество

скрытых нейронов. Требует Statistics Toolbox

Применение перекрестной проверки для модели классификации>> cp = cvpartition(y,'k',10);

>> ldaFun= @(xtrain,ytrain,xtest)(classify(xtest,xtrain,ytrain));

>> ldaCVErr = crossval('mcr',x,y,'predfun',ldaFun,'partition',cp)

Page 52: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

52

КлассификацияЗаключение

Нет абсолютно лучшего метода

Простой не значит

неэффективный

Переобучение (чрезмерно близкая подгонка)

– Деревья решений и нейронные сети могут создавать

чрезмерно близкую подгонку шума

– Использование ансамбля методов и перекрестной проверки

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

алгоритмов

Дерево

решений

Метод

ансамблей

Нейронные

сети

Метод

опорных

векторов

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

Page 53: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

53

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

Обучение без

учителя

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

входных и выходных данных

Машинное

обучение

Обучение с

учителем

Линейная

Нелинейная

Непараметрическая

Регрессия

Page 54: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

54

Регрессия

Почему используется регрессия?

– Предиктор является непрерывной

функцией измерений

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

– Создание модели, которая

описывает Y как функцию X

– Оценка коэффициентов, которые

минимизируют разницу между

предикторам и реальными данными

Можно применять техники, которые были

раннее представлены (например, нейронные сети)

Statistics Toolbox

Curve Fitting Toolbox

Page 55: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

55

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

Интерактивная среда– Визуальная среда для исследовательского анализа данных

– Простая среда для оценки и выбора наилучшего алгоритма

– Интерактивные инструменты помогут легко начать работу(например, neural network tool, curve fitting tool)

Множество алгоритмов для

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

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

– Регрессии

Page 56: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

56

План

Введение в анализ данных

Анализ данных в MATLAB и Excel

Статистический анализ и алгоритмы

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

Решение ресурсоемких задач, анализ

больших данных

Разработка приложений и надстроек к Excel

Заключение

Page 57: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

57

Explore & Discover

Демо: Оценка солнечного излучения

Reporting and

Documentation

Outputs for Design

Deployment

Share

Data Analysis

& Modeling

Files

Software

Hardware

Access

Code & Applications

Automate

Algorithm

Development

Application

Development

Products Used MATLAB

Statistics Toolbox

Curve Fitting Toolbox

MATLAB Compiler

Page 58: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

58

Parallel Computing позволяет

инженерам …

Larger Compute Pool Larger Memory Pool

11 26 41

12 27 42

13 28 43

14 29 44

15 30 45

16 31 46

17 32 47

17 33 48

19 34 49

20 35 50

21 36 51

22 37 52

Увеличить скорость вычислений Работать с большими объемами данных

Page 59: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

59

План

Введение в анализ данных

Анализ данных в MATLAB и Excel

Разработка и развертывание приложений

анализа данных в MATLAB

Обработка больших массивов данных

Заключение

Page 60: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

60

Explore & Discover

MATLAB – A Platform for Data Analysis

Reporting and

Documentation

Outputs for Design

Deployment

Share

Data Analysis

& Modeling

Algorithm

Development

Application

Development

Files

Software

Hardware

Access

Code & Applications

Automate

Page 61: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

61

Использование MATLAB сExcel

Передача данных между MATLAB и Excel

– MATLAB

Доступ к MATLAB из таблицы

Excel

– MATLAB

– Spreadsheet Link EX

Развертывание MATLAB как

встроенная функция в Excel

– MATLAB

– MATLAB Compiler

– MATLAB Builder EX

Page 62: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

62

Использование MATLAB с ExcelОбмен данными между MATLAB и Excel

MATLAB команды для записи и чтения

файлов Excel

Вырезать и вставлять между MATLAB и Excel

Products Used

MATLAB

Page 63: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

63

Использование MATLAB и ExcelДоступ к MATLAB из таблицы Excel

Spreadsheet Link EX

– Обеспечена функциями соединяющими

Excel и MATLAB

– Соединение “живое” –

не требует никаких промежуточных

файлов или межпроцессорного

программирования

Использование Spreadsheet Link EX:

– Передачи данных и команд в MATLAB

– Получить данные и результаты обратно

в Excel

Products Used

MATLAB

Spreadsheet Link EX

Page 64: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

64

Products Used

MATLAB

MATLAB Compiler

MATLAB Builder EX

Использование MATLAB и ExcelИспользование MATLAB как надстройка к Excel

Преобразование MATLAB алгоритмов в

Excel надстройки через легкий в

использовании графический интерфейс

Автоматическое создание DLL и

приложения Visual Basic, которые могут

быть импортированы в Excel

Создание встроенных функций, которые

могут работать на 95% быстрее, чем те,

которые создаются с Visual Basic

MATLAB не требуется для использования

надстроек, но требуется для их создания

Page 65: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

65

Контактная информация департамента

Mathworks

Softline: www.matlab.ru

matlab.exponenta.ru

The Mathworks: www.mathworks.com

E-mail: [email protected]

Phone: +7 (495) 232 00 23 доб. 0609

Page 66: Анализ данных в MATLAB · 4 План ведение в анализ данных нализ данных в MATLAB иExcel татистический анализ и

66