Введение 4
1. Основные понятия 5
2. Метрические методы классификации 7
2.1. Метод ближайшего соседа 8
2.2. Алгоритм к ближайших соседей 8
2.3. Метод парзеновского окна 9
2.4. Метод потенциальных функций 10
2.5. Отбор эталонных объектов 11
2.6. Применение метрических методов классификации .... 12
3. Линейные классификаторы 14
3.1. Метод стохастического градиента 16
3.2. Применение линейных классификаторов 18
4. Линейные композиции. Бустинг 19
4.1. Композиция алгоритмов 19
4.2. Градиентный бустинг для произвольной функции потерь 20
4.3. Применение градиентного бустинга 22
Заключение 23
Список литературы 24
5. Приложения 25
Мы живем в век информации: нас окружает огромное количество
данных, которые создаются ежесекундно, просто кликом по ссылке. Таким образом, возникает важная задача анализа данных. Машинное обучение занимается этой дисциплиной.
Машинное обучение — обширный подраздел искусственного интеллекта, математическая дисциплина, использующая разделы математической статистики, численных методов оптимизации, теории вероятностей, дискретного анализа, и извлекающая знания из данных. Имеется
множество объектов (ситуаций) и множество возможных ответов (откликов, реакций). Существует некоторая зависимость между ответами
и объектами, но она неизвестна. Известна только конечная совокупность прецедентов — пар «объект, ответ», называемая обучающей выборкой. На основе этих данных требуется восстановить зависимость, то
есть построить алгоритм, способный для любого объекта выдать достаточно точный ответ. [2]
Эта область заинтересовала меня уже давно, так как имеет большое приложение в реальной жизни и позволяет делать многие вещи
проще. Поэтому я решил изучить эту тему более детально. К действию
меня побудил конкурс, который проводила компания «Билайн». Были
предложены обезличенные данные по пятидесяти тысячам пользователей, состоящие из идентификатора и шестидесяти переменных, которые
необходимо было связать с возрастной группой пользователей и проверить эту зависимость на тестовой выборке. На мой взгляд, довольно
интересная задача, для решения которой нужно изучить основные направления машинного обучения и существующие инструменты. В данной работе будет предпринята попытка решить эту задачу и сравнить
результаты с конкурсными.
В работе были рассмотрены и применены три вида классификаторов: метрический, линейный и бустинговый. Каждый из них обладает
своими преимуществами и недостатками.
Метрические классификаторы просты в применении, однако не обладают достаточной гибкостью, неустойчивы к шумам и выбросам в
исходных данных. Для устранения недостатков — необходимо дополнительно работать с выборкой и использовать лишние ресурсы.
Линейные классификаторы довольно гибки. Можно самостоятельно
подобрать способы нахождения вектора весов, замену функции потерь.
Однако существует проблема сходимости , и неустойчивости к шумам
и выбросам. Одним из решений является применение различных эвристик для улучшения сходимости методов нахождения вектора весов.
Бустинг позволяет объединить слабые классификаторы в один сильный. Так как базовые классифкаторы выступают в роли черного ящика, что является несомненным преимуществом. Объединение базовых
алгоритмов позволяет устранить недостатки каждого алгоритма.
Таким образом, заданная цель классификации объекта, обозначенная в работе, была решена. Самый лучший результат показала реализация алгоритма бустинга XGBclassifier из библиотеки xgboost для
языка python. При сравнении результатов победителя конкурса компании ”Билайн” с результатами, полученными в данной работе, точность
предсказания улучшена на 0:14%.
[1] Wikipedia. Линейный классификатор.— 2008.— URL: http://goo. gl/cyVON9.
[2] Wikipedia. Машинное обучение.— 2016.— URL: https://goo.gl/ vraQGr.
[3] Воронцов К. В. Лекции по алгоритмическим компощициям. — 2012. - URL: http://goo.gl/dtF1OI.
[4] Воронцов К. В. Математические методы обучения по прецеден¬там. — 2014. — URL: http://goo.gl/7eOltj.