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

  • View
    11.469

  • Download
    6

  • Category

    Science

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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.

Data science diagram

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дескрипторы

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

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

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

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

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

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

2. Задача Т — ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CB

A

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

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

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

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

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

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

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

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

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

-

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

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

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

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

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

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

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

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

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

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

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

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

набор пар

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

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

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

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

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

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

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

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

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

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

штраф за и

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

Модель

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

где

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритм1.

2.

3.

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

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

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

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

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

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

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

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

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

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

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

● 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

Онлайн курсы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо!

Вопросы?

Recommended