36
Методы классификации Андрей Федоровский [email protected]

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

  • Upload
    -

  • View
    965

  • Download
    3

Embed Size (px)

DESCRIPTION

Семинар прошел в московском хакспейсе Neuron в августе 2012.

Citation preview

Page 1: Методы классификации

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

Андрей Федоровский[email protected]

Page 2: Методы классификации

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

Классификация – обучение с учителем.

Известно, к каким классам относятся объекты из обучающего набора.Нужно определить, к какому классу относится новый объект.

А. Федоровский Методы классификации

Page 3: Методы классификации

Примеры применения

Распознавание символовАнтиспамКатегоризация текстовАнализ профилей пользователейПравила выдачи кредита

А. Федоровский Методы классификации

Page 4: Методы классификации

Постановка задачи

– множество классов, – множество объектов, Неизвестная целевая функция «правильно» определяет классы всех объектов из Задана обучающая выборка . нам известны. Надо найти решающую функцию , «хорошо» приближающую на всем . – минимизируемый функционал ошибки

А. Федоровский Методы классификации

Page 5: Методы классификации

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

Объекты обладают набором признаков.

Для текстовых документов есть два подхода:1) Bag of words: каждый документ рассматривается

как мультимножество термов.2) Вектора в пространстве признаков .

А. Федоровский Методы классификации

Page 6: Методы классификации

Байес? Нет, спасибо.

Классика, но работает не очень эффективно.Если интересно – он описан в Википедии:http://ru.wikipedia.org/wiki/Наивный_байесовский_классификатор

А. Федоровский Методы классификации

Page 7: Методы классификации

K ближайших соседей

Классом объекта считаем тот класс, представителей которого больше всего среди его k ближайших соседей.Критерий ошибки – доля неправильно предсказанных классов.

А. Федоровский Методы классификации

Метрики:

Page 8: Методы классификации

K ближайших соседей

• K можно и нужно настраивать. Можно автоматически, тогда это простейшая задача оптимизации.

• Если самым близким соседям приписать бОльшие веса, качество вырастет.

• Нет затрат на фазу построения.

Проблемы:• Разные классы при разных k.• Поиск ближайших – перебор всех за O(dN).

http://simsearch.yury.name/references.html• При очень больших d понижается точность. Надо

снижать размерность.

А. Федоровский Методы классификации

Page 9: Методы классификации

Предобработка данных

Как снизить размерность, если мы имеем документы как вектора в пространстве термов?

Выбирать только «нужные» слова.• Стоп-слова• Низкочастотный шум• Веса для слов в важных зонах документа

Есть и продвинутые техники: • Information Gain термов, • feature extraction.

А. Федоровский Методы классификации

Page 10: Методы классификации

Деревья принятия решений

А. Федоровский Методы классификации

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

узлов.

Page 11: Методы классификации

Деревья принятия решений

Энтропия X относительно свойства – равномерность распределения его элементов по значениям этого свойства., где .Для разделения выбирается признак А со значениями , максимизирующий Information Gain:, где – подмножество всех элементов X, у которых признак .Если все элементы некоторого узла принадлежат одному классу, этот узел считаем листовым. Остальные узлы продолжаем разбивать, пока не останутся только листовые.

А. Федоровский Методы классификации

Page 12: Методы классификации

Деревья принятия решений

Темпер: 4/1, 2/0 Ветер: 2/1, 2/2Осадки: 2/1, 3/1 Влажно: 2/1, 3/1У температуры наивысший Information gain.У ветра – наоборот.

А. Федоровский Методы классификации

Темпер. Ветер Осадки Влажно Хорошо?

Выс Нет Нет Да Нет

Низ Есть Есть Нет Нет

Низ Нет Есть Да Нет

Выс Нет Есть Нет Да

Выс Есть Нет Нет Да

Выс Нет Нет Нет Да

Выс Есть Нет Да Да

Page 13: Методы классификации

Деревья принятия решений

• Если признак – наличие слова в документе, то дерево получится высоким, а энтропия будет падать очень медленно, т.к. мало слов, являющихся яркими маркерами класса.

• Если есть признак с очень большим числом значений, то IG будет работать плохо, лучше выбрать GainRatio или Gini. Но это не наш случай.

С5.0 (наследник C4.5, ID3) – GNU реализация DT.http://rulequest.com/see5-info.htmlЕсть множество кардинально ускоряющих эвристик.

А. Федоровский Методы классификации

Page 14: Методы классификации

Деревья принятия решений

Построить дерево () { Если все объекты из принадлежат одному классу, закончить. Посчитать IG для каждого признака Выбрать признак A с максимальным IG for (j=1; j<q; j++) { Построить дерево () }}

А. Федоровский Методы классификации

Page 15: Методы классификации

Pruning

Переобучение (overfitting) – подгонка параметров под особенности тестовой выборки. На реальных данных качество будет сильно хуже.

Validation set – независимая выборка, на которой не идет обучение, но тестируется качество.

Pruning – обрезка ветвей дерева, пока качество на validation set растет.

А. Федоровский Методы классификации

Page 16: Методы классификации

Вопрос

Деревья решений – слабый классификатор.Почему же его используют?

А. Федоровский Методы классификации

Page 17: Методы классификации

BoostingAdaboost для бинарной* классификации:Пусть у нас есть семейство слабых классификаторов . Давайте построим общий классификатор на их основе.

На каждом шаге мы будем выбирать наиболее подходящий классификатор из семейства. Будем учитывать его вклад, а выбор следующего производить с учетом того, какие объекты на данный момент классифицируются хуже всего. Итоговый классификатор будет представлять собой взвешенную сумму выбранных слабых классификаторов.

А. Федоровский Методы классификации

* Здесь в главе 7.2 чуть более громоздкое обобщение на несколько классов:http://www.boosting.org:10080/boosting.org/papers/MeiRae03.pdf/at_download/file

Page 18: Методы классификации

BoostingИтак, каждому из объектов зададим на 0 шаге важность . На шаге выбираем лучший для текущих классификатор:

Вычисляем вес в итоговой сумме на основе ошибки :

Корректируем важность объектов:

Нормирующий множитель выбран так, чтобы .Добавляем слагаемое в общий классификатор:

А. Федоровский Методы классификации

Page 19: Методы классификации

Boosting

AdaBoost:

А. Федоровский Методы классификации

Page 20: Методы классификации

Random forest

Тоже строится классификатор на основе набора слабых деревьев.На каждом шаге 1…q из N объектов выбирается N же, но с повторениями. В результате случайная часть объектов в выборку не попадет.Строим полностью, без прунинга, дерево, но не для всех d признаков, а для заранее выбранного .Также используются критерии IG/Gini.

DT+Boosting и Random Forest генерируют вполне сильные классификаторы. Даже на основе пней.

А. Федоровский Методы классификации

Page 21: Методы классификации

Метод опорных векторов (SVM)

Будем искать линейный классификатор

А. Федоровский Методы классификации

Page 22: Методы классификации

Метод опорных векторов (SVM)

А. Федоровский Методы классификации

Будем искать линейный классификатор

Page 23: Методы классификации

Метод опорных векторов (SVM)

А. Федоровский Методы классификации

Будем искать линейный классификатор

Page 24: Методы классификации

Метод опорных векторов (SVM)

А. Федоровский Методы классификации

Будем искать линейный классификатор

Какой же выбрать?

Page 25: Методы классификации

Метод опорных векторов (SVM)

А. Федоровский Методы классификации

Будем искать линейный классификатор

Какой же выбрать?Обратим внимание на ширину разделяющей полосы.

Page 26: Методы классификации

Метод опорных векторов (SVM)

А. Федоровский Методы классификации

Будем искать линейный классификатор

Ищем гиперплоскость с максимальной шириной разделяющей полосы.

Page 27: Методы классификации

SVM: линейно разделимый случай

Разделяющая гиперплоскость: Верхняя гиперплоскость: Точки верхнего класса: Нижняя гиперплоскость: Точки нижнего класса: Чтобы в правой части оказались единицы, нормируем уравнение.Можно показать, что ширина полосы составляет .Таким образом, для максимизации ширины полосы нужно решить задачу квадратичного программирования или

А. Федоровский Методы классификации

Решение сложное. Реализация – SVMlight, libSVM.

Page 28: Методы классификации

SVM: штрафы за ошибки

Реальные данные почти всегда линейно неразделимы.

Добавим в оптимизационный функционал слагаемое с величиной штрафов.

А. Федоровский Методы классификации

Page 29: Методы классификации

SVM: штрафы за ошибки

Если предполагается, что выборка почти линейно разделима, то имеет смысл вместо штрафов сделать фильтрацию выбросов.

А. Федоровский Методы классификации

Page 30: Методы классификации

SVM: ядра

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

А вот зачем мы это сделали: http://www.youtube.com/watch?v=3liCbRZPrZA

А. Федоровский Методы классификации

Page 31: Методы классификации

Мультиклассовая классификация

Что делать, если алгоритм спроектирован под бинарную классификацию, а классов несколько?

• Каждый против всех: бинарных задач • Каждый против каждого: бинарных задач

вида • Турнир на выбывание: бинарных задач вида .

Победитель выходит в следующий тур.

А. Федоровский Методы классификации

Page 32: Методы классификации

Онлайновость

Добавление новых объектов в обучающую выборку без пересчета всей коллекции.

Оценка объекта на лету за малое время.

kNN? SVM? DT? Boost? RF?

А. Федоровский Методы классификации

Page 33: Методы классификации

Переобучение

Training set, validation set, test set.Уменьшение размерности пространства признаков: аналог прунинга.Cross-validation: training set делится на 10 частей. На каждом шаге одна из них является validation set, а на остальных идет обучение. Потом берется средняя оценка.

А. Федоровский Методы классификации

Page 34: Методы классификации

Выбор метода

А. Федоровский Методы классификации

kNN kNN+веса

DT+Pruning

DT(пни)+Boosting

RF SVM+ штрафы

SVM+ ядра

Качество

Скорость работы

Скорость построения

0 0

Устойчивость к выбору н.у. Настройка

параметров, valid. set размер пня,

вид выбора признаков

ядра

Мультикласс. да да обобщ. обобщ. обобщ. нет нет

Онлайн да да нет нет нет нет нет

Page 35: Методы классификации

Памятка

• Парсинг, предобработка данных • Мультиклассовая классификация?• Объект принадлежит единственному классу?• Пополнение онлайн?• Скорость vs точность. Объемы данных.• Выбор метода• Как оптимизировать параметры?• Как бороться с переобучением?

А. Федоровский Методы классификации

Page 36: Методы классификации

Вопросы?

Андрей Федоровский[email protected]