Дерево решений нейронные сети

Сравнительный анализ алгоритмов нейронной сети и деревьев принятия решений модели интеллектуального анализа данных

Певченко, С. С. Сравнительный анализ алгоритмов нейронной сети и деревьев принятия решений модели интеллектуального анализа данных / С. С. Певченко, В. А. Блужин. — Текст : непосредственный // Молодой ученый. — 2016. — № 28 (132). — С. 148-154. — URL: https://moluch.ru/archive/132/36999/ (дата обращения: 15.08.2023).

Прогресс в информационной сфере, а именно, развитие обработки данных приводят к огромному объему информации. В результате анализа значительных объемов информации возникает проблема представления требуемых данных в виде, подходящем для анализа [1]. Основным требованием, предъявляемым к информационной системе, ориентированной на анализ данных, является своевременное обеспечение аналитика всей информацией, необходимой для принятия решения.

Интеллектуального анализа данных (Data Mining) представляет собой сочетание обширного математического инструментария и последних достижений в сфере информационных технологий. В сфере анализа данных гармонично объединились строго формализованные методы и методы неформального анализа, т. е. количественный и качественный анализ данных [2].

Основу методов Data Mining составляют всевозможные методы классификации, моделирования и прогнозирования. Знания, добываемые методами Data mining, принято представлять в виде моделей.

Модели представления знаний Data Mining подразделяют на:

Методы построения таких моделей принято относить к области искусственного интеллекта. К алгоритмам интеллектуального анализа данных относятся: байесовские сети, деревья решений, нейронные сети, метод ближайшего соседа, метод опорных векторов, линейная регрессия, корреляционно-регрессионный анализ, иерархические методы кластерного анализа, неиерархические методы кластерного анализа, методы поиска ассоциативных правил (в частности алгоритм Apriori) метод ограниченного перебора эволюционное программирование и генетические алгоритмы, разнообразные методы визуализации данных и множество других методов [5].

Большинство аналитических методов, используемые в технологии Data Mining являются наиболее известными математические алгоритмы и методы. Новым в их применении является возможность их использования при решении тех или иных конкретных проблем, обусловленная появившимися возможностями технических и программных средств.

В данной статье производится сравнительный анализ двух алгоритмов (нейронной сети и деревьев принятия решений) интеллектуального анализа данных на основе задачи: оценка влияния гендерной принадлежности студента на его успеваемость в ВУЗе. Для проведения интеллектуального анализа данных будем использовать компонент Microsoft SQL Server 2012 — Microsoft Analysis Services.

В службы Analysis Services представлено несколько алгоритмов для использования в решениях интеллектуального анализа данных. Эти алгоритмы являются реализациями некоторых из наиболее популярных методов, используемых в интеллектуальном анализе данных.

Читайте также:  Дерево его составные части строение

Выбор правильного алгоритма для использования в конкретной аналитической задаче может быть достаточно сложным. В то время как можно использовать различные алгоритмы для выполнения одной и той же задачи, каждый алгоритм выдает различный результат, а некоторые алгоритмы могут выдавать более одного типа результатов [2]. Например, можно использовать алгоритм дерева принятия решений (Майкрософт) не только для прогнозирования, но также в качестве способа уменьшения количества столбцов в наборе данных, поскольку дерево принятия решений может идентифицировать столбцы, не влияющие на конечную модель интеллектуального анализа данных.

Дерево решений, связанное с большинством других методов, используют в рамках критериев отбора так же для поддержки выбора определенных данных в рамках общей структуры. Дерево решений начинают с простого вопроса, который имеет два ответа (но возможно и больше). Каждый ответ приводит к следующему вопросу помогая классифицировать и идентифицировать данные или делать прогнозы. Деревья решений чаще всего используются с системами классификации информации системами прогнозирования, где различные прогнозы могут основываться на прошлом историческом опыте, который помогает построить структуру дерева решений и получить результат [3].

Искусственная нейронная сеть представляет собойсистемусоединённых и взаимодействующих между собой простыхпроцессоров(искусственных нейронов). Такие процессоры обычно довольно просты (особенно в сравнении с процессорами, используемыми в персональных компьютерах). Каждый процессор подобной сети имеет дело только с сигналами, которые он периодически получает, и сигналами, которые он периодически посылает другим процессорам [4]. И, тем не менее, будучи соединёнными в достаточно большую сеть с управляемым взаимодействием, такие локально простые процессоры вместе способны выполнять довольно сложные задачи.

В качестве исходных данных мы используем набор данных из базы ВУЗа. И на основе успеваемости и социальной активности студента найдем вероятность гендерной принадлежности.

Для выявления черт, присущих студентам создадим представление, в котором будет содержаться информация о студентах. Эти данные мы будем использовать в качестве материала для машинного обучения и выявления атрибутов, влияющих на повышения данной вероятности.

Атрибуты представления набора данных

Название атрибута

Источник

Построение дерева мягких решений в TensorFlow

Интерес к продуктам глубокого обучения в отрасли вырос. Несмотря на большие вычислительные затраты, они доказали свою эффективность при классификации неструктурированных данных, например, на естественном языке или при обработке изображений.

Цель создания ценного продукта для обработки и анализа данных заключается не только в том, чтобы предоставить ценный продукт, но и в том, чтобы он был принят бизнесом. Следовательно, интерпретируемость остается важным фактором.

Читайте также:  Бело серый дом дерево

Google Brain недавно выпустил документ, в котором предлагается реализовать деревья мягких решений.

В этом блоге я беру некоторые ключевые моменты из их статьи и показываю, как нейронная сеть может имитировать древовидную структуру.

Цели

  1. Что такое дерево решений в Data Science?
  2. Как нейронная сеть может иметь древовидную структуру?
  3. Реализация дерева мягких решений в TensorFlow

Мягкое дерево решений

Деревья

Для неформальности в науке о данных дерево состоит из трех основных компонентов:

Условия разделения разделяют данные по листу. Условия обрезки определяют, когда разбиение прекращается. Наконец, что наиболее важно, листья содержат прогнозируемое целевое значение, которое было подогнано к данным в разделе.

Как показано на рисунке 1, каждое условие разделения является функцией функций.

Расщепления в каждом внутреннем узле и целевой выход листьев определяются оптимизацией функции потерь. Каждой точке данных назначается стоимость прогноза.

является целью точки данных x и

— вероятность целевого класса листа. Мы также обозначили листовой селектор:

Эти обозначения будут ясны в следующем разделе.

Нейронные сети

Нейронная сеть состоит из набора плавных операций над входными характеристиками. Под гладкостью я подразумеваю, что каждая операция непрерывно дифференцируема по своим переменным.

Дифференцируемость является ключевым элементом, поскольку оптимальные переменные рассчитываются с использованием градиентов потерь и операций. Поначалу это кажется проблемой: если мы хотим спроектировать деревья как каждый внутренний узел дерева, назначить каждую точку данных одного из его дочерних элементов на основе условия разделения.

Следовательно, наши первые шаги к построению дерева с помощью нейронной сети — это размыть условие разделения, позволяя данным перемещаться как влево, так и вправо при каждом разделении, но с определенной вероятностью.

Следовательно, каждая точка данных не имеет уникального пути через дерево. Теперь они принадлежат каждому листу дерева с определенной вероятностью, то есть вероятностью пути.

Обозначим вероятность пути от корня дерева к n’-му (внутреннему) -узлу,

Мы можем вернуться к функции потерь, которую мы написали ранее, для каждой точки данных x:

Это не что иное, как взвешивание категориальной кросс-энтропии,

с вероятностью x принадлежности листу, которая является вероятностью пути.

Регуляризация

Теперь мы переписали условие разделения. Выход листа может оставаться вероятным, например softmax.

Однако остается последний вопрос: сведется ли оптимизация к надлежащему локальному минимуму?

Обновление весов внутренних узлов зависит от градиента потерь и, следовательно, от вероятности пути.

Рассмотрим подробнее его вариацию на некотором внутреннем узле j:

Мы сразу видим здесь проблему. Если вероятность какого-то листа

мала для большого количества данных, на следующем шаге вес едва ли будет обновлен. Тем более, что после этого обновления вероятность остается очень низкой. Поэтому наша модель может сойтись и застрять в этих бесполезных локальных минимумах.

Читайте также:  Пилка деревьев своими руками

Производительное дерево не только имеет максимально чистые листья, но и распределяет данные по ним максимально равномерно. Если наша модель застревает в этих локальных минимумах, мы заканчиваем лишь несколькими густонаселенными листами и множеством малонаселенных листов. В этом случае мы теряем полезность дерева и получаем небольшой набор моделей логистической регрессии.

Команда Google Brain предлагает решение этой проблемы, введя регуляризацию,

Эта регуляризация способствует равномерному двоичному разделению и препятствует ранней очистке на уровне внутренних узлов. Гамма скорости затухания добавляет акцент на ранних внутренних узлах дерева.

Теперь, когда все настроено, мы можем обсудить реализацию TensorFlow.

Реализация TensorFlow

TensorFlow — это популярная библиотека программного обеспечения с открытым исходным кодом от Google Brain, которая в основном используется для разработки моделей глубокого обучения. Пользователь определяет операции на статическом вычислительном графе и запускает различные разделы графа в зависимости от необходимости.

Давайте резюмируем различные ингредиенты с помощью основной формулы:

  • Условия обрезки: давайте остановимся на простой максимальной глубине
  • Листовой вывод

Мы разбиваем нашу работу на три класса:

  • TreeProperties: содержит все свойства модели, связанные с гиперпараметрами.
  • Узел: определяет все операции на уровне узла, такие как пересылка с вероятностью, показанной ниже, в случае внутреннего узла или softmax в случае листа:

  • SoftDecisionTree: строит все внутренние узлы, выполняет листинг и выводит прогнозируемую цель для каждой точки данных.

Давайте посмотрим поближе!

Как видно в разделе 3.2.2, гиперпараметры self.decay_penalty и self.regularisation_penalty соответствуют гамме скорости затухания и весовой лямбде соответственно.

Следующее занятие интереснее.

При создании экземпляра мы определяем вес и смещение вероятности разделения узла. При построении узла мы сначала пересылаем вывод узла, который является либо вероятностью предсказания softmax, либо вероятностью разделения внутреннего узла.

Потери также обновляются на уровне узла. Внутренние узлы вносят свой вклад в убытки только за счет регуляризации, описанной ранее.

Наконец, все узлы объединяются в дерево. Выходной прогноз цели и распределение вероятностей узлов объединяются в self.output и self.leafs_distribution.

Тестирование по MNIST

Давайте закончим тестированием MNIST. Построение дерева со следующими гиперпараметрами:

max_depth = 7 regularisation_penality=10. decay_penality=0.9

и выбрав размер обучающего пакета 32 и размер проверочного пакета 256. Мы приходим к следующему результату:

Неплохо. Конечно, не так конкурентоспособно, как CNN, но мы видим много многообещающих идей!

Обязательно ознакомьтесь с полной реализацией.

Источник

Оцените статью