2. А. Федоровский Методы классификации
Что такое классификация?
Классификация – обучение с учителем.
Известно, к каким классам относятся
объекты из обучающего набора.
Нужно определить, к какому классу
относится новый объект.
3. А. Федоровский Методы классификации
Примеры применения
Распознавание символов
Антиспам
Категоризация текстов
Анализ профилей пользователей
Правила выдачи кредита
6. А. Федоровский Методы классификации
Байес? Нет, спасибо.
Классика, но работает не очень эффективно.
Если интересно – он описан в Википедии:
http://ru.wikipedia.org/wiki/Наивный_байесовский_классификатор
7. А. Федоровский Методы классификации
K ближайших соседей
Классом объекта считаем
тот класс, представителей
которого больше всего
среди его k ближайших
соседей.
Критерий ошибки – доля
неправильно предсказанных
классов.
8. А. Федоровский Методы классификации
K ближайших соседей
• K можно и нужно настраивать. Можно автоматически,
тогда это простейшая задача оптимизации.
• Если самым близким соседям приписать бОльшие
веса, качество вырастет.
• Нет затрат на фазу построения.
Проблемы:
• Разные классы при разных k.
• Поиск ближайших – перебор всех за O(dN).
http://simsearch.yury.name/references.html
• При очень больших d понижается точность. Надо
снижать размерность.
9. А. Федоровский Методы классификации
Предобработка данных
Как снизить размерность, если мы имеем
документы как вектора в пространстве термов?
Выбирать только «нужные» слова.
• Стоп-слова
• Низкочастотный шум
• Веса для слов в важных зонах документа
Есть и продвинутые техники:
• Information Gain термов,
• feature extraction.
10. А. Федоровский Методы классификации
Деревья принятия решений
Строится дерево по
значениям признаков,
до тех пор, пока
не останется
нелистовых
узлов.
12. А. Федоровский Методы классификации
Деревья принятия решений
Темпер. Ветер Осадки Влажно Хорошо?
Выс Нет Нет Да Нет
Низ Есть Есть Нет Нет
Низ Нет Есть Да Нет
Выс Нет Есть Нет Да
Выс Есть Нет Нет Да
Выс Нет Нет Нет Да
Выс Есть Нет Да Да
Темпер: 4/1, 2/0 Ветер: 2/1, 2/2
Осадки: 2/1, 3/1 Влажно: 2/1, 3/1
У температуры наивысший Information gain.
У ветра – наоборот.
13. А. Федоровский Методы классификации
Деревья принятия решений
• Если признак – наличие слова в документе, то
дерево получится высоким, а энтропия будет
падать очень медленно, т.к. мало слов,
являющихся яркими маркерами класса.
• Если есть признак с очень большим числом
значений, то IG будет работать плохо, лучше
выбрать GainRatio или Gini. Но это не наш случай.
С5.0 (наследник C4.5, ID3) – GNU реализация DT.
http://rulequest.com/see5-info.html
Есть множество кардинально ускоряющих эвристик.
15. А. Федоровский Методы классификации
Pruning
Переобучение (overfitting) – подгонка параметров
под особенности тестовой выборки. На реальных
данных качество будет сильно хуже.
Validation set – независимая выборка, на которой не
идет обучение, но тестируется качество.
Pruning – обрезка ветвей дерева, пока качество на
validation set растет.
16. А. Федоровский Методы классификации
Вопрос
Деревья решений – слабый классификатор.
Почему же его используют?
17. А. Федоровский Методы классификации
Boosting
* Здесь в главе 7.2 чуть более громоздкое обобщение на несколько классов:
http://www.boosting.org:10080/boosting.org/papers/MeiRae03.pdf/at_download/file
27. А. Федоровский Методы классификации
SVM: линейно разделимый случай
Решение сложное. Реализация – SVMlight, libSVM.
28. А. Федоровский Методы классификации
SVM: штрафы за ошибки
Реальные данные
почти всегда линейно
неразделимы.
Добавим в
оптимизационный
функционал слагаемое
с величиной штрафов.
32. А. Федоровский Методы классификации
Онлайновость
Добавление новых объектов в обучающую выборку
без пересчета всей коллекции.
Оценка объекта на лету за малое время.
kNN? SVM? DT? Boost? RF?
33. А. Федоровский Методы классификации
Переобучение
Training set, validation set, test set.
Уменьшение размерности пространства признаков:
аналог прунинга.
Cross-validation: training set делится на 10 частей. На
каждом шаге одна из них является validation set, а
на остальных идет обучение. Потом берется средняя
оценка.
34. А. Федоровский Методы классификации
Выбор метода
kNN kNN+ DT+ DT(пни)+ RF SVM+ SVM+яд
веса Pruning Boosting штрафы ра
Качество
Скорость работы
Скорость 0 0
построения
Устойчивость к
выбору н.у.
Настройка valid. set размер пня, ядра
параметров вид выбора
признаков
Мультикласс. да да обобщ. обобщ. обобщ. нет нет
Онлайн да да нет нет нет нет нет
35. А. Федоровский Методы классификации
Памятка
• Парсинг, предобработка данных
• Мультиклассовая классификация?
• Объект принадлежит единственному классу?
• Пополнение онлайн?
• Скорость vs точность. Объемы данных.
• Выбор метода
• Как оптимизировать параметры?
• Как бороться с переобучением?
36. Вопросы?
Андрей Федоровский
fedorovsky@gmail.com