Построение архитектуры глубокой нейронной сети с помощью решётки формальных понятий
Исследование и анализ результатов сравнения нейронной сети на основе формальных понятий с другими методами классификации данных. Ознакомление с методами классификации данных на реальных датасетах. Характеристика антимононотонности соответствия Галуа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.09.2017 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
5.1 Описание наборов используемых данных и схемы проводимых экспериментов
Для сравнения нейронных сетей, построенных по диаграмме решётки формальных понятий, использовалось 7 наборов данных, перечисленных в Таблице 9. Данные были взяты с UCI хранилища (http://archive.ics.uci.edu/ml/) и сайта Kaggle (https://www.kaggle.com). Смысл выбора такого набора данных заключается в том, чтобы протестировать построенные модели на данных с разным количеством объектов, признаковым описанием и количеством классов.
Таблица 9. Наборы данных и их характеристики.
Название набора |
Количество объектов |
Количество признаков |
Количество признаков (после шкалирования) |
Количество классов |
|
Breast Cancer |
569 |
10 |
10 |
2 |
|
Heart Disease |
304 |
13 |
16 |
2 |
|
Titanic |
890 |
7 |
14 |
2 |
|
Mammographic Mass |
961 |
5 |
18 |
2 |
|
Seismic Bumps |
2584 |
18 |
32 |
2 |
|
Car Evaluation |
1728 |
6 |
15 |
4 |
|
Zoo |
101 |
16 |
18 |
7 |
Сравнение методов классификации происходит по следующей схеме. Сначала все объекты делятся произвольным образом на три выборки, обучающую, валидационную и тестовую, в соотношение , и , соответственно. Затем происходит обучение моделей на обучающей выборке, при этом валидационная выборка используется для контроля мета параметров. Если последнее не требуется методу для обучения (например, для метода ближайшего соседа обучение в принципе не требуется), то валидационная выборка не используется. После обучения моделей считается их точность и F-мера на тестовой выборке. Для каждого набора данных и метода классификации эксперимент проводится 20 раз, после чего показатели качества усредняются.
Для набора данных с несколькими классами (больше двух) F-мера считалась следующим образом:
1. Для каждого класса все классы объектов разбивались на группы и , после чего вычислялась мера ;
2. Итоговая F-мера считалась как среднее арифметическое по всем .
Для сравнения используются следующие методы классификации данных:
· Метод ближайшего соседа (с классификацией по 1-ому ближайшему соседу)
· Дерево решений
· Наивный байесовский классификатор
· Нейронная сеть (с двумя полными скрытыми слоями, количество нейронов на первом и втором скрытом слое равно 20 и 10, соответственно)
· Нейронная сеть, построенная по диаграмме конъюнктивных формальных понятий, со случайно заданными весами
· Нейронная сеть, построенная по диаграмме конъюнктивных формальных понятий, с начальными весами, равными вероятности перехода между понятиями
· Нейронная сеть, построенная по диаграмме дизъюнктивных понятий, со случайно заданными весами
· Нейронная сеть, построенная по диаграмме дизъюнктивных понятий, с начальными весами, равными достоверности перехода между понятиями
· Однослойная нейронная сеть, состоящая из лучших конъюнктивных формальных понятий исходного контекста
Последний метод был добавлен для исследования влияния глубины построенной архитектуры сети на классификацию данных (то есть важно ли сохранять отношения между понятиями). Во всех случаях, где мы строим архитектуру сети по формальным понятиям, мы оставляем в последнем скрытом слое 10 нейронов. Количество нейронов в остальных слоях определяется самой структурой. В качестве функции активации нейрона использовался гиперболический тангенс.
5.2 Сравнение нейронной сети на основе формальных понятий с другими методами классификации данных
Полную таблицу с результатами сравнения по всем наборам данных можно найти в Приложении, Таблица. Поскольку данная таблица получилась достаточно объёмной, здесь мы рассмотрим результаты только для нескольких наборов данных.
На Рисунке 7 представлены результаты сравнения для датасета “Breast Cancer”. На графике видно, что лучше всего данный набор классифицируют нейронные сети. Наилучшие показатели среди сетей дают плотная нейронная сеть (Neural Network) и нейронная сеть, архитектура которой построена на дизъюнктивных формальных понятиях, с произвольными весами (Monotone Galois based NN). Результат применения стандартной сети чуть лучше, однако, данная модель при обучении подгоняет 220 параметров (), в то время как сеть на дизъюнктивных понятиях использует около 80 параметров. Назначение начальных весов сетям не даёт преимущества ни в точности, ни в скорости сходимости. Более того, если посмотреть на результаты в Таблице (в приложении), то при назначении начальных весов модели начинают реже сходиться.
Рисунок 7. Сравнение методов классификации на данных Breast Cancer.
Если сравнивать одноуровневую нейронную сеть с моделью на глубокой архитектуре, то последняя имеет сильное преимущество в точности классификации, несмотря на то, что суммарное число нейронов осталось прежним. Это может говорить о том, что взаимосвязи между понятиями действительно важны при построении архитектуры (то есть важны не только качественные формальные понятия, но и то, как они появились). Однако одноуровневая модель ведёт себя намного стабильнее (чаще сходится).
На Рисунке 8 представлены результаты сравнения методов на наборе данных “Zoo”. Данный набор интересен тем, что в нём 7 классов, причём один класс - млекопитающие - сильно доминирует по количеству объектов, в то время как общее количество объектов в наборе сравнительно мало - всего 101 объект.
Рисунок 8. Сравнение методов классификации на данных Zoo.
Для данного набора нейронные сети показали себя значительно хуже (точность классификации сетей меньше минимум на ). При этом если сравнивать нейронные сети между собой, то лидирует, как и в прошлый раз, плотная нейронная сеть, но в этот раз с большей разницей в точности. Следующей по качеству классификации снова выступает нейронная сеть, построенная по дизъюнктивным формальным понятиям со случайной инициализацией весов. Назначение начальных весов для этой модели не увеличило её точность или скорость сходимости. Если же рассмотреть нейронную сеть, построенную по конъюнктивным понятиям, то её точность увеличилась при назначении начальных весов. Автору точно не известно, почему назначение начальных весов повышает качество модели в данном случае, но предположительно это может быть связано с маленьким количеством объектов некоторых классов. Из-за этого может сильно меняться градиент функции потерь при небольшом смещении весов, поэтому установка начальных (пускай и не оптимальных) весов “стабилизирует” модель. нейронный галуа датасет
В целом, по проведённым экспериментам можно отметить, что построенные модели работают хорошо на больших датасетах, в которых каждый класс представлен примерно одинаковым количеством объектов. В случае, когда один из классов плохо представлен в наборе, или когда объектов в целом достаточно мало, построенные модели оказываются менее точными (возможно, в силу нестабильности градиентного спуска).
6. Описание программной реализации
В данном разделе мы кратко опишем программную реализацию методов, описанных в данной работе. Весь процесс построения архитектуры сети и обучения весов можно условно разбить на три этапа:
1. Нахождение формальных понятий и построение диаграммы уровня ;
2. Фильтрация понятий нижнего уровня и перестройка архитектуры сети;
3. Создание нейронной сети на построенной архитектуре и обучение весов.
Первый этап был реализован с помощью алгоритма [7]. Здесь стоит отметить только то, что найденный набор формальных понятий был захеширован, по двум причинам, чтобы быстро получать доступ к понятию по его содержанию, и чтобы быстро находить все понятия со схожим содержанием. После построения диаграмма автоматически сохранялась на диске, так что при каждом следующем запуске программа не пересчитывала заново всю диаграмму.
Для выбора качественных формальных понятий был реализован класс, содержащий в себе связанный список - текущий вид диаграммы, и множество методов, фильтрующих формальные понятия. За счёт хеширования подмножеств атрибутов можно было выбрать некоторый класс формальных понятий (например, формальные понятия из последнего слоя диаграммы), и применить к ним некоторый фильтр. Таким образом была реализована возможность последовательного применения фильтров к диаграмме для получения оптимальной архитектуры.
Для последнего этапа диаграмма переводилась в список матриц, где каждая матрица представляла собой набор рёбер между -ым и -ым скрытым слоем. Для обучения весов был реализован класс SparseLayer, наследовавший базовый класс Layer библиотеки Lasagne. Особенность класса заключалась в том, что при вычислении активаций и обучении модели каждый вес умножался на коэффициент или , в зависимости от того, существовало ли ребро или нет. В итоге веса, соответствующие исключённым из архитектуры рёбрам, не участвовали в минимизации функции издержек, что значительно упрощало обучение. Для дальнейшего обучения и подсчёта коэффициентов точности построенных моделей использовались стандартные методы и классы библиотеки Lasagne.
Всего в рамках работы было написано три модуля, которые могут быть использованы для практического применения описанных алгоритмов на реальных наборах данных:
1. Первый загружал и обрабатывал используемые наборы данных;
2. Второй находил формальные понятия и строил решётку (для этого создавался класс Lattice), а также последовательно применял фильтры к диаграмме (для этого создавался класс Diagram);
3. Третий модуль отвечал за сходимость сети на построенной архитектуре. Он включал реализацию класса скрытого слоя с заданной разреженной архитектурой (Sparse Layer), а также контролировал направление градиента функции потерь на валидационной выборке (класс DeepSparseNetwork).
Заключение
В данной работе были предложены два основных подхода к построению архитектуры нейронной сети на основе диаграммы замкнутых подмножеств исходного набора данных. Для оптимизации рассмотренных моделей были проведены численные эксперименты, определившие наиболее подходящие методы фильтрации диаграммы, то есть исключения лишних и не репрезентативных понятий, и их связей. Также было произведён сравнительный анализ функций активации нейронов в полученной сети.
Помимо этого, в работе были предложены методы преобучения нейронной сети на основе характеристик соответствующих формальных понятий. И хотя численный эксперимент показал, что преобученные модели оказываются менее точными, в некоторых случаях они помогают найти устойчивое решение.
Сравнение построенных моделей с другими методами классификации данных показало возможность применения сетей, основанных на формальных понятиях, для реальных данных. Практический эксперимент показал, что модели имеют хорошую точность на больших наборах данных, в которых каждый класс представлен примерно одинаковым количеством объектов. В противном случае построенные модели оказываются слабее других методов классификации данных.
В качестве дальнейшего продолжения работы предполагается рассмотрение моделей, хорошо классифицирующих наборы с разными долями объектов одного класса. Также планируется рассмотреть другие метрики инициализации весов, которые могли бы сократить время обучения модели и повысить её точность.
Список литературы
1. Rudolph S.: Using FCA for encoding closure operators into neural networks. The international conference on conceptual structures, 2007.
2. Endres D., Foldiak P.: Interpreting the Neural Code with Formal Concept Analysis. Neural Information Processing Systems, 2009.
3. Kuznetsov S.: Machine Learning and Formal Concept Analysis. In: Second International Conference on Formal Concept Analysis, ICFCA 2004.
4. Ganter B., Wille R.: Formal Concept Analysis: Mathematical Foundations. Springer, 1999.
5. Mirkin B.: Core Concepts in Data Analysis: Summarization, Correlation, Visualization, 2010.
6. Davey B., Priestly H.: Introduction to lattices and order. Cambridge University Press, 1990.
7. Dean van der Merwe, Obiedkov S., Kourie D.: AddIntent: A New Incremental Algorithm for Constructing Concept Lattices. Springer, 2004.
8. Zhao L., Zaki M.J., Ramakrishnan N., BLOSOM: a framework for mining arbitrary boolean expressions. KDD 2006: Philadelphia USA, 2006.
9. Vimieiro R., Moscato P., Disclosed: An efficient depth-first, top-down algorithm for mining disjunctive closed itemsets in high-dimensional data. Information Sciences, vol. 280, pp. 171-187 (2014).
10. David M.: Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation. Journal of Machine Learning Technologies. 2 (1): 37-63 (2011).
11. Kuznetsov S.: On stability of a formal concept. Annals of Mathematics and Artificial Intelligence, 2007.
12. Bertsekas, Dimitri P.: Nonlinear Programming (2nd ed.), Cambridge, MA.: Athena Scientific (1999).
13. Kingma D., Welling M.: Auto-Encoding Variational Bayes. ArXiv e-prints, 2013.
14. Larochelle H.; Bengio Y.: Classification using discriminative restricted Boltzmann machines. Proceedings of the 25th international conference on Machine learning - ICML, 2008.
15. Shavlik W., Towell G.: Knowledge based artificial neural networks. Artificial Intelligence, 1994.
16. Buzmakov A., Kuznetsov S., Napoli A.: Scalable Estimates of Concept Stability. Formal Concept Analysis (ICFCA), 2014.
17. Norris E.M.: Maximal Rectangular Relations. University of South Carolina, Columbia, SC 29208/USA.
18. Tsopze, N., Mephu Nguifo, E., Tindo, G.: CLANN: Concept-Lattices-based Arti?cial Neural Networks. Proceedings of ?fth Intl. Conf. on Concept Lattices and Applications (CLA 2007), Montpellier, France, October 24-26, 2007, pp. 157-168.
Приложение
Результаты сравнения различных методов классификации на реальных данных.
Набор данных |
Метод классификации |
Мера качества |
|||
Точность |
-мера |
Доля сходимости |
|||
Breast Cancer |
Метод ближайшего соседа |
91.6 |
89.0 |
||
Дерево решений |
94.0 |
92.4 |
|||
Наивный Байес |
92.8 |
90.8 |
|||
NN |
98.6 |
98.1 |
80% |
||
FCA based NN |
96.5 |
95.0 |
35% |
||
FCA based NN (с начальными весами) |
97.1 |
96.3 |
10% |
||
Monotone Galois based NN |
98.3 |
97.8 |
75% |
||
Monotone Galois based NN (с начальными весами) |
97.6 |
96.8 |
15% |
||
Однослойная FCA based NN |
87.3 |
76.9 |
60% |
||
Heart Disease |
Метод ближайшего соседа |
49.3 |
7.8 |
||
Дерево решений |
50.0 |
34.7 |
|||
Наивный Байес |
54.0 |
48.8 |
|||
NN |
56.3 |
48.5 |
85% |
||
FCA based NN |
52.7 |
39.2 |
65% |
||
FCA based NN (с начальными весами) |
51.6 |
37.5 |
65% |
||
Monotone Galois based NN |
51.4 |
37.3 |
40% |
||
Monotone Galois based NN (с начальными весами) |
51.8 |
38.1 |
45% |
||
Однослойная FCA based NN |
52.4 |
38.7 |
75% |
||
Titanic |
Метод ближайшего соседа |
81.9 |
23.2 |
||
Дерево решений |
80.3 |
64.1 |
|||
Наивный Байес |
81.2 |
46.7 |
|||
NN |
79.2 |
77.8 |
100% |
||
FCA based NN |
80.3 |
78.9 |
100% |
||
FCA based NN (с начальными весами) |
74.6 |
71.6 |
100% |
||
Monotone Galois based NN |
80.8 |
78.9 |
100% |
||
Monotone Galois based NN (с начальными весами) |
78.4 |
76.3 |
100% |
||
Однослойная FCA based NN |
72.3 |
69.7 |
100% |
||
Mammographic Mass |
Метод ближайшего соседа |
79.1 |
77.2 |
||
Дерево решений |
77.1 |
76.7 |
|||
Наивный Байес |
77.6 |
76.6 |
|||
NN |
79.7 |
79.6 |
100% |
||
FCA based NN |
81.1 |
81.0 |
95% |
||
FCA based NN (с начальными весами) |
81.0 |
80.9 |
95% |
||
Monotone Galois based NN |
82.3 |
82.3 |
90% |
||
Monotone Galois based NN (с начальными весами) |
78.7 |
77.8 |
95% |
||
Однослойная FCA based NN |
73.1 |
67.4 |
100% |
||
Seismic Bumps |
Метод ближайшего соседа |
91.8 |
46.5 |
||
Дерево решений |
89.4 |
48.5 |
|||
Наивный Байес |
90.7 |
47.3 |
|||
NN |
96.5 |
49.1 |
0% |
||
FCA based NN |
96.5 |
49.1 |
0% |
||
FCA based NN (с начальными весами) |
96.5 |
49.1 |
0% |
||
Monotone Galois based NN |
96.5 |
49.1 |
0% |
||
Monotone Galois based NN (с начальными весами) |
96.5 |
49.1 |
0% |
||
Однослойная FCA based NN |
96.5 |
49.1 |
0% |
||
Car Evaluation |
Метод ближайшего соседа |
92.0 |
85.7 |
||
Дерево решений |
98.9 |
98.1 |
|||
Наивный Байес |
85.6 |
74.0 |
|||
NN |
48.1 |
28.7 |
90% |
||
FCA based NN |
71.8 |
39.5 |
70% |
||
FCA based NN (с начальными весами) |
72.0 |
40.1 |
85% |
||
Monotone Galois based NN |
61.3 |
39.7 |
75% |
||
Monotone Galois based NN (с начальными весами) |
59.7 |
35.9 |
75% |
||
Однослойная FCA based NN |
52.0 |
31.3 |
95% |
||
Zoo |
Метод ближайшего соседа |
85.7 |
76.0 |
||
Дерево решений |
82.4 |
73.1 |
|||
Наивный Байес |
85.7 |
76.0 |
|||
NN |
62.7 |
45.6 |
60% |
||
FCA based NN |
36.6 |
20.1 |
80% |
||
FCA based NN (с начальными весами) |
42.0 |
24.1 |
80% |
||
Monotone Galois based NN |
51.7 |
33.2 |
100% |
||
Monotone Galois based NN (с начальными весами) |
37.3 |
20.1 |
95% |
||
Однослойная FCA based NN |
32.4 |
18.9 |
100% |
Размещено на Allbest.ru
Подобные документы
Этап предварительной обработки данных, классификации, принятия решения. Изображения обучающих рукописных символов, тестового символа. Выход нейронной сети для тестового символа. График тренировки нейронной сети. Последовательность точек. Входные вектора.
статья [245,7 K], добавлен 29.09.2008Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Нейронные сети и оценка возможности их применения к распознаванию подвижных объектов. Обучение нейронной сети распознаванию вращающегося трехмерного объекта. Задача управления огнем самолета по самолету. Оценка экономической эффективности программы.
дипломная работа [2,4 M], добавлен 07.02.2013Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Выявление закономерностей и свойств, применимых в искусственной нейронной сети. Построение графиков и диаграмм, определяющих степень удаленности между объектами. Моделирование, тестирование и отладка программной модели, использующей клеточный автомат.
дипломная работа [4,1 M], добавлен 25.02.2015Создание структуры интеллектуального анализа данных. Дерево решений. Характеристики кластера, определение групп объектов или событий. Линейная и логистическая регрессии. Правила ассоциативных решений. Алгоритм Байеса. Анализ с помощью нейронной сети.
контрольная работа [2,0 M], добавлен 13.06.2014Модель и задачи искусственного нейрона. Проектирование двуслойной нейронной сети прямого распространения с обратным распространением ошибки, способной подбирать коэффициенты ПИД-регулятора, для управления движения робота. Комплект “LEGO Mindstorms NXT.
отчет по практике [797,8 K], добавлен 13.04.2015