- •Дипломная работа Интеллектуальный анализ влияния текущих событий на протекание связанных с ними процессов
- •Реферат
- •1. Введение
- •1.1 Постановка задачи
- •2. Методы машинного обучения и алгоритмы машинного обучения
- •2.1 Задача классификации
- •2.2 Multiclass классификация
- •2.2.1 Стратегия One-vs.-rest
- •2.3 Multi-label классификация
- •2.4 Выводы
- •3. Методы и алгоритмы, реализованные в программной системе
- •3.2 Наивный Байесовский Классификатор
- •3.3.1 Стохастический Градиентный Спуск
- •3.4 Выводы
- •4. Реализация системы
- •4.1 Предобработка информации
- •4.1.1 Инструкция пользователя
- •4.2 Система классификации
- •4.2.1 Рабочий режим
- •4.2.2 Тестовый режим
- •4.2.3 Инструкция пользователя
- •4.2.3.1 Тестовый режим
- •4.2.3.2 Рабочий режим
- •4.3 Выводы
- •5. Машинный эксперимент
- •5.1 Выводы
- •6. Заключение
- •Список использованных ресурсов
- •Приложение 1. Система предобработки информации.
- •Приложение 2. Файл конфигурации системы предобработки информации
- •Приложение 3. Хранимые процедуры и табличные представления базы данных FactEventAnalysisDb
- •Приложение 4. Система классификации
6. Заключение
В рамках данной работы нам удалось решить задачу по поиску наиболее вероятных причин в изменениях в трендах данных. Задача, которая стояла перед нами является гибридом multi-label и multiclass классификации. Для каждого примера нам требуется предсказывать одну или несколько меток (например, страна, в которой произошло событие, или индустрия, с которой связано произошедшее событие), каждой метке может быть присвоено несколько различных значений. Подобные задачи имеют название multi-task классификация или multiclass – multi-output классификация. Задачи, подобные этой относительно успешно решаются в такой области как Document classification (классификация документов), что позволило нам использовать методы, традиционно применяемые в рамках классификации документов
Задача состояла из двух частей:
1) Извлечение из информации о ценах данные о том для каких ценных бумаг когда наблюдалось изменение в тренде в цене (если цена на бумагу росла некоторое время, то в какой момент она начала снижаться или стала неизменной).
2) Разработка системы, которая сможет обучиться на информации о предшествующих событиях и изменениях в трендах выявляя наиболее вероятные характеристики событий - причин, и далее сумеет предсказать, какими характеристиками наиболее вероятно обладает событие, которое вызвало переданный системе слом в тренде.
Первая часть задачи была решена с помощью языка программирования C#.
Вторая задача была решена с помощью языка python и открытой библиотеки программного обеспечения для машинного обучения scikit-learn. Данная библиотека имеет открытый исходный код, предлагает эффективную реализацию всех популярных алгоритмов машинного обучения и поддерживается большим сообществом разработчиков и исследователей из университетов и лабораторий всего мира. При решении второй части задачи мы использовали алгоритм TF-IDF который позволил нам повысить весомость редких событий и снизить вес частых событий. Далее были применены алгоритмы классификации Машина Опорных Векторов и Наивный Байесовский Классификатор. Проверена эффективность различных ядер для Машины Опорных Векторов, а также эффективность пакетного градиентного спуска и стохастического градиентного спуска. Установлено, что наилучшей точностью обладают SVM с линейным ядром и Наивный Байесовский Классификатор. Нам удалось получить точность классификации около 80%. Также установлено, что обучение по методу стохастического градиентного спуска позволяет значительно ускорить тренировку SVM классификатора без каких-либо жертв в точности.
Реализованная система обладает приемлемой производительностью. И достаточной точностью для ее практического применения. Архитектура разработанной программы позволяет включить её в состав более сложной системы.
Список использованных ресурсов
Scikit-learn: Machine Learning in Python, Pedregosa et al., JMLR 12, 2011, pp. 2825-2830.
C# 5.0 in a Nutshell 5th Edition, Albahari J., Albahari B., 2012, pp.319 – 423.
Нейронные сети. Полный курс, Хайкин С., Издательский дом "Вильямс", 2006, с. 417 – 458
Python manual [Электронный ресурс] - https://docs.python.org/3/
Причинно-следственный анализ [Электронный ресурс] - http://www.ideationtriz.com/ZZLab/DE/Cause_effect_analysis.htm
Инвестиции – Учебник, Уильям Ф. Шарп, Инфра-М, 2001
