Введение 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
Приложение 32
В наш век информационных технологий, всё больше и больше людей взаимодействуют друг с другом посредством социальных сетей, форумов и мессенджеров. Люди делятся мыслями, новостями, общаются, знакомятся. Как и в любой другой сфере деятельности человека, здесь тоже есть свои злоумышленники. Прикрываясь чужими именами они могут пропагандировать антигуманистические взгляды, клеветать других людей, угрожать им и т. д. Эти злоумышленники также скорее всего взаимодействуют с другими людьми в интернете от своего имени, не сильно меняя при этом стиль своего общения.
Задача данной работы состоит в том, чтобы научиться определять автора сообщения или нескольких сообщений в сетевых диалогах из конкретного множества авторов, основываясь на предыдущих сообщениях с уже известными авторами, с помощью методов машинного обучения. Этот подраздел искусственного интеллекта является самостоятельной математической дисциплиной, находящейся на стыке прикладной статистики, численных методов оптимизации и дискретного анализа. Его главной задачей является извлечение знаний из данных.
Точность классификации самого оптимального метода превысила baseline на 21%, это значит, что зависимость между объектами и классами может быть установлена, то есть автор сообщений может быть идентифицирован по ним с приемлемой точностью.
В дальнейшем, для улучшения качества классификации можно попробовать увеличить количество объектов каждого класса и объединять большее количество сообщений одного автора. Также для практической применимости нужно значительно расширить количество классов. Работа с таким количеством классов и объектов потребует большего количества вычислительных ресурсов и памяти. Для решения этой проблемы можно воспользоваться алгоритмами обучения вне ядра (out-of-core learning), которые позволяют несколько раз "доучивать" классификатор на частях выборки, если вся выборка не может сразу поместиться в оперативную память. Также можно попробовать использовать методы обучения, основанные на искусственных нейронных сетях. Эти методы во многих случаях позволяют восстановить достаточно сложные зависимости.