74
Введение в машинное обучение Александр Сенов Synqera

Введение в машинное обучение

Embed Size (px)

Citation preview

Page 1: Введение в машинное обучение

Введение в машинное обучение

Александр СеновSynqera

Page 2: Введение в машинное обучение

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

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

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

4. Заключение

Page 3: Введение в машинное обучение

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

Page 4: Введение в машинное обучение

Определения машинное обучение

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

www.machinelearning.ru/wiki/index.php?title=Машинное_обучение

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

A.L. Samuel Some Studies in Machine Learning Using the Game of Checkers

// IBM Journal. July 1959. P. 210–229.

Говорят, что компьютерная программа обучается на основе опыта E по отношению к некоторому классу задач T и меры качества P, если качество решения задач из T, измеренное на основе P, улучшается с приобретением опыта E.

T.M. Mitchell Machine Learning. McGraw-Hill, 1997.

Page 5: Введение в машинное обучение

Data science diagram

Page 6: Введение в машинное обучение

Области применения

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

● Компьютерной зрение

● Обработка естественного языка

● Принятие решений

● Робототехника

● Алгоритмическая торговля

● Банковская сфера

Page 7: Введение в машинное обучение

ПрименениеОбработка естественного языка

Page 8: Введение в машинное обучение

ПрименениеКомпьютерное зрение

Page 9: Введение в машинное обучение

ПрименениеОбработка речи

Page 10: Введение в машинное обучение

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

Page 11: Введение в машинное обучение

ПрименениеБанковская сфера

Page 12: Введение в машинное обучение

ПрименениеРобототехника

Page 13: Введение в машинное обучение

ПрименениеАнализ данных

Page 14: Введение в машинное обучение

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

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

Зачем это- автоматизация рутинных процессов- обработка больших объемов данных- задачи, которые не могут быть решены явно

Page 15: Введение в машинное обучение

Говорят, что компьютерная программа обучается на основе опыта E по отношению к некоторой задаче T и меры качества P, если качество решения задачи T, измеренное на основе P, улучшается с приобретением опыта E.

T.M. Mitchell Machine Learning. McGraw-Hill, 1997.

➔ Что такое опыт E?

➔ Какие бывают задачи T?

➔ Как выбрать критерий качества P?

Вернемся к определению

Page 16: Введение в машинное обучение

Пример к определению

Задача: диагностика опухоли головного мозга по мрт➔ Опыт E:

набор пар <мрт головного мозга, наличие опухоли>

➔ Задача T:построить алгоритм A идентифицирующий наличие или отсутствие опухоли головного мозга по мрт:

A(мрт головного мозга) => наличие опухоли

➔ Критерий качества P:доля правильно поставленных диагнозов

Говорят, что компьютерная программа обучается на основе опыта E по отношению к некоторой задаче T и меры качества P, если качество решения задачи T, измеренное на основе P, улучшается с приобретением опыта E.

T.M. Mitchell Machine Learning. McGraw-Hill, 1997.

Page 17: Введение в машинное обучение

Объект — вектор➔ Машинное обучение понимает язык чисел, векторов и матриц

➔ Наш опыт E — множество объектов (не чисел, векторов, матриц)

➔ Объекты:- изображения- пользователи- звуки- документы

➔ Надо представить каждый объект в виде вектора :

Как отобразить объект в вектор?— это все не совсем верно

Page 18: Введение в машинное обучение

Изображение => вектор

Дескрипторы

Page 19: Введение в машинное обучение

Документ => вектор

1. документ - множество слов2. слов конечное число (n)

(согласно гипотезе Ильфа-Петрова-Щукиной достаточно тридцатислов)

3. пронумеруем слова от 1 до n4. посчитаем частоту слова i=1..n в документе: 5. получим вектор документа

Page 20: Введение в машинное обучение

Разобрались с Е

1. Опыт Е — набор векторов (+ отклики )

2. Задача Т — ?

3. Мера качества Р — ?

Page 21: Введение в машинное обучение

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

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

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

➔ Обучение с подкреплением

Page 22: Введение в машинное обучение

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

➔ Дано: множество объектов и информация о некоторых из нихЗадача: экстраполировать знание на остальные объекты

➔ Опыт E: набор пар ◆ — наш объект (вектор)◆ — информация о нем (число)

➔ Примеры◆ распознавание объектов на изображениях

x — вектор изображения, y — идентификатор объекта◆ предсказание цены на акцию

x — история цен до момента T, y — цена в момент T +ᅟᅠᇫ◆ фильтрация спама

x — вектор текста письма, y — спам/не спам

Page 23: Введение в машинное обучение

➔ Опыт E:набор пар

➔ Задача T:построить алгоритм предсказывающий y по x:

➔ Вместо критерия качества P, функция потерь :

— штраф за ошибку

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

Page 24: Введение в машинное обучение

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

➔ Опыт E: множество векторов xy — отсутствует

➔ Задача T: построить алгоритм , выделяющий скрытую структуру на Е

➔ Мера качества Р (или функция потерь )— очень сильно зависит от алгоритма

Page 25: Введение в машинное обучение

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

➔ Обучение с учителем — есть разметка, учитель

➔ Обучение без учителя — все остальноеНапример:◆ кластеризация ◆ снижение размерности

➔ Примеры◆ уменьшение цветового разнообразия изображения (сжатие)

x — цвет пикселя изображения, y — группа цветов◆ поиск основных шаблонов потребления

x — история покупок пользователя, y — шаблон потребления◆ поиск ассоциативных правил

X — множество чеков, Y — множество закономерностей

Page 26: Введение в машинное обучение

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

Page 27: Введение в машинное обучение

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

Алгоритм обучения с учителем задает модель зависимости x ~ y

Задача — минимизировать функцию штрафа (ошибку на опыте E)

Алгоритм обучения с учителем — это1. Модель 2. Способ минимизации

Page 28: Введение в машинное обучение

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

➔ Регрессия — предсказание количественной характеристики:

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

➔ Классификация— предсказание качественной характеристик:

● спам / не спам● тип объекта на изображении● наличие / отсутствие опухоли

Page 29: Введение в машинное обучение

Регрессия➔ Опыт E:

набор пар <x — вектор, y — число>

➔ Задача:построить алгоритм :

➔ Доставлящий минимум функции потерь :

меньше — лучше

Page 30: Введение в машинное обучение

Метод К - ближайших соседей

- Как предсказывать по ?- - для предсказания возьмем ближайших соседей

Page 31: Введение в машинное обучение

Метод К - ближайших соседей

Модель

— индексы К ближайших соседей

Page 32: Введение в машинное обучение

Метод К - ближайших соседей

Page 33: Введение в машинное обучение

Обобщающая способностьДоверяй но проверяй

● Наш опыт Е = {xi , yi }i=1..N — то что нам уже известно

● Хотим найти алгоритм А, показывающий хорошее качество на всех парах xi , yi , даже не входящих в E:

E∞= {xi , yi }i=1..∞

● Нужно, чтобы алгоритм А не просто запоминал, а обобщал

● Разобьем Е = Еtrain+ Etest

● На Еtrain обучаем алгоритм, а на Etest — проверяем

Page 34: Введение в машинное обучение

Метод К - ближайших соседей

Page 35: Введение в машинное обучение

Линейная зависимость

- Как предсказывать по ?

- Можно приблизить их зависимость прямой

Page 36: Введение в машинное обучение

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

- какой вариант лучше?- как формализовать ?

CB

A

Page 37: Введение в машинное обучение

Одномерная линейная регрессия

Уравнение прямой

Модель одномерной линейной регрессии

Задача — поиск наилучшего в смысле RSS :

Page 38: Введение в машинное обучение

Одномерная линейная регрессияГеометрическая интерпретация

Page 39: Введение в машинное обучение

Одномерная линейная регрессия

Page 40: Введение в машинное обучение

+ если модель верна и удовлетворяет некоторым условиям, то линейная регрессия дает наилучшую оценку

- одного признака не всегда достаточно

- нелинейные зависимости не учитываются

-

Одномерная линейная регрессияПлюсы и минусы

Page 41: Введение в машинное обучение

Модель одномерной линейной регрессии

Задача — поиск наилучшего в смысле RSS :

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

Page 42: Введение в машинное обучение

...как линейное многообразие размерности n-1, аппроксимирующая множество точек наилучшим образом в смысле RSS

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

Page 43: Введение в машинное обучение

Два основных недостатка одномерной регрессии

1. Одного признака не достаточно— решено явно

2. Нелинейные зависимости не учитываются— решается заменой переменных:

Например, для квадратичной регрессии:

Множественная линейная регрессияПри покупке множественности нелинейность — бесплатно

Page 44: Введение в машинное обучение

Классификация➔ Опыт E:

набор пар

➔ Задача:построить алгоритм :

➔ Доставлящий минимум функции потерь :

— число ошибок (меньше — лучше)

Page 45: Введение в машинное обучение

КлассификацияПример

Page 46: Введение в машинное обучение

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

Page 47: Введение в машинное обучение

– переводит число из диапазона [-∞, ∞] в диапазон [0, 1]

разница между s(x) и y ограничена

Сигмоидальная функция

Page 48: Введение в машинное обучение

Модель логистической регрессии =сигмоидальная функция ○ линейная регрессия

Логистическая регрессияМодель

Page 49: Введение в машинное обучение

штраф за и

Логистическая регрессияФункция потерь

Page 50: Введение в машинное обучение

Модель

Целевая функция

Логистическая регрессияМногомерный случай

Page 51: Введение в машинное обучение

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

Page 52: Введение в машинное обучение

Кластеризация — задача разбиения множества объектов на группы (кластера) таким образом, что бы объекты из разных групп отличались друг от друга значительнее чем объекты из одной группы

Основные цели1. сжатие данных2. описание данных3. определение аномалий

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

Page 53: Введение в машинное обучение

КластеризацияПримененияСжатие изображений

Page 54: Введение в машинное обучение

КластеризацияПримененияСтруктурирование информации

Page 55: Введение в машинное обучение

КластеризацияПримененияАнализ и визуализация

Page 56: Введение в машинное обучение

КластеризацияПримененияАнализ и визуализация

Page 57: Введение в машинное обучение

Кластеризация — задача разбиения множества объектов на группы (кластера) таким образом, что бы объекты из разных групп отличались друг от друга значительнее чем объекты из одной группы

Объекты — опыт Е =

Мера отличия — расстояние

Цель — разбить Е на кластеры таким образом, что● — велико для из разных кластеров

● — мало для из одного кластера

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

Page 58: Введение в машинное обучение

Цель — минимизация штрафа

где

Итеративный алгоритм1. каждый относится к кластеру с ближайшим 2. пересчитывается как среднее всех х, принадлежащим кластеру

Метод К-средних

Page 59: Введение в машинное обучение

Метод К-среднихИллюстрация

Page 60: Введение в машинное обучение

— снижение размерности исходных данных с минимальной потерей информации

Основные цели- сжатие данных- визуализация

Снижение размерности

Page 61: Введение в машинное обучение

Снижение размерности

Page 62: Введение в машинное обучение

- Поиск прямой, проекция на которую сохранит наибольшее количество информации

- Мера информативности — разброс

Двумерный случайАппроксимация прямой

Page 63: Введение в машинное обучение

— первое главное направление, — второе главное направление

Метод главных компонент

Page 64: Введение в машинное обучение

- Оба метода линейно аппроксимируют данные

- Линейная регрессия ищет наилучшую аппроксимацию по y

- PCA ищет наилучшуюаппроксимацию повсем измерениям

Метод главных компонентОтличие от регрессии

Page 65: Введение в машинное обучение

Результат1. Главные направления

2. Проекция на главные направления

Алгоритм1.

2.

3.

Метод главных компонент

Page 66: Введение в машинное обучение

Метод главных компонентПрименение на фотографиях лиц

Page 67: Введение в машинное обучение

4. Заключение

Page 68: Введение в машинное обучение

1. Классификация и регрессиянелинейные методы: нейронные сети, svm, методы основанные на деревьях решений

2. Кластеризациякластеризация на графах, иерархическая кластеризация, спектральная кластеризация

3. Снижение размерноститематическое моделирование, ядерные методы, методы основанные на графах

4. Техникибустинг, бэггинг, регуляризация, валидация

5. “Прочее”Рекомендательные системы, скрытые марковские модели

Что осталось за кадром

Page 69: Введение в машинное обучение

http://scikit-learn.org/stable/tutorial/machine_learning_map/

Что осталось за кадром

Page 70: Введение в машинное обучение

● Machine Learning // Andrew Ng // coursera— отличный вариант для старта

● Statistical Learning // Trevor Hastie, Rob Tibshirani // Stanford Lagunita— более строгий подход с “точки зрения” статистики

● Learning from data // Yaser Abu-Mostafa // Caltech— с упором на теорию

● Машинное Обучение // Константин Воронцов // ШАД— глубже в теорию на русском

● Курсы по supervised, unsupervised и reinforcement learning на udacity

Онлайн курсы

Page 71: Введение в машинное обучение

● machinelearning.ru— русскоязычное вики по машшинному обучению

● deeplearning.net— портал, посвященный глубокому обучению

● scikit-learn.org— библиотека машинного обучения для python с множеством примеров

● kdnuggets.com— популярный портал по анализу данных и смежным областям

● datatau.com, reddit.com/r/MachineLearning/ — чтобы быть "в тренде"

● kaggle.com— реальные задачи по машшинному обучению с реальными вознаграждениями

Полезные ресурсы

Page 72: Введение в машинное обучение

Процесс анализа данных

Page 73: Введение в машинное обучение

● Подготовка и сбор данных

● Правильная постановка задачи

● Выбор правильной функции качества

● Выбор подходящего метода для задачи

● Не ошибиться

In Data Science, 80% of time spent prepare data, 20% of time spent complain about need for prepare data.

Что остается делать человеку

Page 74: Введение в машинное обучение

Спасибо!

Вопросы?