Введение 3
Постановка задачи 4
Обзор литературы 5
Глава 1. Концепция машинного обучения с учителем 6
1.1. Формальная постановка задачи обучения по прецедентам
(обучения с учителем) 6
1.2. Признаковое описание объектов 6
1.3. Виды обучения с учителем 7
1.4. Предсказательная модель 8
1.5. Этапы обучения и применения модели 8
1.6. Функционал качества 8
1.7. Сведение задачи обучения к задаче оптимизации 9
Глава 2. Работа с данными 10
2.1. Источник данных 10
2.2. Хранение данных 11
2.3. Предобработка данных и создание признаков 11
Глава 3. Методы машинного обучения 14
3.1. Метод опорных векторов 14
3.2. Градиентный бустинг 19
3.3. Наивный байесовский классификатор 22
Глава 4. Настройка гиперпараметров методов машинного обучения . 24
Глава 5. Тестирование алгоритмов 25
Выводы 29
Заключение 30
Список литературы 31
Приложение
В наш век информационных технологий, всё больше и больше людей взаимодействуют друг с другом посредством социальных сетей, форумов и мессенджеров. Люди делятся мыслями, новостями, общаются, знакомятся. Как и в любой другой сфере деятельности человека, здесь тоже есть свои злоумышленники. Прикрываясь чужими именами они могут пропагандировать антигуманистические взгляды, клеветать других людей, угрожать им и т. д. Эти злоумышленники также скорее всего взаимодействуют с другими людьми в интернете от своего имени, не сильно меняя при этом стиль своего общения.
Задача данной работы состоит в том, чтобы научиться определять автора сообщения или нескольких сообщений в сетевых диалогах из конкретного множества авторов, основываясь на предыдущих сообщениях с уже известными авторами, с помощью методов машинного обучения. Этот подраздел искусственного интеллекта является самостоятельной математической дисциплиной, находящейся на стыке прикладной статистики, численных методов оптимизации и дискретного анализа. Его главной задачей является извлечение знаний из данных.
Точность классификации самого оптимального метода превысила baseline на 21%, это значит, что зависимость между объектами и классами может быть установлена, то есть автор сообщений может быть идентифицирован по ним с приемлемой точностью.
В дальнейшем, для улучшения качества классификации можно попробовать увеличить количество объектов каждого класса и объединять большее количество сообщений одного автора. Также для практической применимости нужно значительно расширить количество классов. Работа с таким количеством классов и объектов потребует большего количества вычислительных ресурсов и памяти. Для решения этой проблемы можно воспользоваться алгоритмами обучения вне ядра (out-of-core learning), которые позволяют несколько раз "доучивать" классификатор на частях выборки, если вся выборка не может сразу поместиться в оперативную память. Также можно попробовать использовать методы обучения, основанные на искусственных нейронных сетях. Эти методы во многих случаях позволяют восстановить достаточно сложные зависимости.