Decision trees

Принятие решений - одна из самых трудных задач, стоящих перед нами в жизни. Истинное принятие решений происходит тогда, когда не известно что делать, а выбор сделать необходимо, когда нужно балансировать между конфликтующими целями в условиях с реальной неопределенностью.
Как правило, самыми важными решениями в корпоративной или личной жизни часто являются те, которые ставят нас в ситуацию, когда мы меньше всего знаем, что делать.
Попытки научно справиться с этой проблемой восходят ко времени Бернулли, с начала VIII века, но до недавнего времени к этой задаче оставался почти чисто академический интерес, что связано с тем, что нет удовлетворительного способа справиться со сложностью реальной жизни.
В конце концов, появилась дисциплина, целью которой является решение как раз этой задачи - анализ решений: применение научных методов к решению проблем реального мира посредством использования системного анализа и исследования операций. Анализ решений - это нормативная дисциплина, которая описывает, как люди должны логически принимать решения. В частности, это соответствует тому, как (большинство) люди принимают решения в простых ситуациях и показывает, как это поведение логически должно быть расширено до более сложных ситуаций, а появление мощной вычислительной техники сделало возможным анализировать проблемы большой сложности.

Данный раздел посвящен одному из методов анализа решений - деревьям решений и классификаций.

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

В качестве примера дерева классификации рассмотрим модель принятия решений руководителем, которая была первоначально описана Виктором Врумом (Victor Н. Vroom) и Филиппом Йеттоном (Philip Yetton) в 1973 г. в их книге «Лидерство и принятие решений» («Leadership and Decision Making»).

Данная модель позволяет построить методику получения ответов на вопросы о принципах формирования наилучшего решения в той или иной ситуации, поэтому она часто используется в качестве инструмента «поддержки принятия управленческих решений». Тем не менее, ее рассматривают также и в качестве инструмента, призванного помочь руководителю определиться с типом лидерского поведения.
Согласно этой модели существует пять стилей принятия решения, которые руководитель должен использовать в зависимости от складывающейся ситуации. Ситуации определяются структурированностью задачи и степенью участия подчиненных в процессе принятия руководителем своего решения.
Стиль руководства зависит от семи ситуативных факторов, которые можно выразить в форме вопросов, стоящих перед руководителем в процессе формирования решения:
1.Сформулировано ли требование достижения определенного качества решения так, чтобы можно было отдать предпочтение одному из множества вариантов решений?
2.Имеется достаточно информации для принятия решения?
3.Структурирована ли проблема?
4.Имеет ли принципиальное значение согласие подчиненных с принимаемым решением?
5.Получит ли поддержку автократическое решение?
6.Высока ли мотивация подчиненных на выполнение задачи?
7.Высока ли вероятность конфликта между подчиненными при выборе варианта решения?
Отвечая («да» или «нет») на каждый из вопросов, руководитель тем самым идентифицирует сложившуюся ситуацию и «продвигается» по соответствующим ветвям древовидного графа — «дерева решений», в результате приходя к окончательному решению (рекомендации).
Каждая рекомендация представляют собой один из конкретных стилей лидерского поведения, наиболее соответствующий сложившейся ситуации

Стили лидерского поведения по В. Вруму и Ф. Йеттону

ОбозначениеСтильХарактеристика
А IАвтократический IРуководитель принимает решение сам, используя имеющуюся у него на данное время информацию.
А IIАвтократический IIРуководитель получает необходимую информацию от своих подчиненных и затем сам принимает решение. Работники привлекаются только на этапе сбора информации. Выработку решения и его принятие осуществляет руководитель
CIКонсультативный IРуководитель на индивидуальной основе делится соображениями по проблеме с имеющими к ней отношение подчиненными с целью получения от них идей и предложении, не собирая при этом их в группу. Затем он сам принимает решение, которое может основываться на вкладе подчиненных, а может и нет
CIIКонсультативный IIРуководитель делится соображениями по проблеме с подчиненными, собрав их вместе. В ходе совещания он собирает их идеи и предложения. Затем он принимает решение, которое может либо отражать, либо не отражать мнение большинства
GГрупповойРуководитель делится соображениями по проблеме с подчиненными. Они совместно оценивают альтернативы и пытаются достичь консенсуса относительно решения. Роль, выполняемая при этом руководителем, больше похожа на роль председателя собрания, координирующего дискуссию, концентрирующего внимание на проблеме и делающего все для того, чтобы рассматривались наиболее важные аспекты проблемы. Руководитель не пытается влиять на группу с тем, чтобы она приняла его решение, и проявляет готовность принять и выполнить любое решение, получившее поддержку всей группы
Приведем алгоритм построения дерева классификаций.
  1. \(n \leftarrow |\mathcal{D}_j|\) //число разбиений
  2. \(n_i \leftarrow |\{x_j|x_j \in \mathcal{D}, y_j = c_i\}| \)// Размер класса \(c_i\)
  3. \(purity(\mathcal{D}) \leftarrow \max_i \left\{\frac{n_i}{n}\right\}\)
  4. if n ≤ η or purity(\(\mathcal{D}\)) ≥ π then // условие завершения построения дерева
    • \(c^* \leftarrow arg max_i\left\{\frac{n_i}{n}\right\} \)// мажоритарный класс
    • создать листовой узел и пометить его классом \(c^*\)
  5. return
  6. (split-point*, score*)\( \leftarrow (\emptyset, 0)\) // инициализировать лучшую точку расщепления
  7. foreach (attribute \(X_j\)) do
    • if (\(X_j\) is numeric) then
      • \((v, score) \leftarrow\) Оценка числовых атрибутов \((\mathcal{D}, X_j)\)
      • if score > score* then (split-point*, score*) \(\leftarrow (X_j \le v, score)\)
    • else if (\(X_j\) is categorical) then
      • \((V, score) \leftarrow \) Оценка категориальных атрибутов \((\mathcal{D}, X_j)\)
      • if score > score∗ then (split-point*, score*) \(\leftarrow (X_j \in V, score)\)
  8. // разбиение \(\mathcal{D}\) на \(\mathcal{D}_{Yes}\) и \(\mathcal{D}_{No}\) использует split-point* (рекурсия)
  9. \(\mathcal{D}_{Yes} \leftarrow \{\textbf{x} \in \mathcal{D} | \textbf{x} \) обеспечивает split-point*}
  10. \(\mathcal{D}_{No} \leftarrow \{\textbf{x} \in \mathcal{D} | \textbf{x} \) не обеспечивает split-point*}
  11. Создаем внутренний узел split-point*, с двумя дочерними узлами,\(\mathcal{D}_{Yes}\) и \(\mathcal{D}_{No}\)
  12. DecisionTree( \(\mathcal{D}_{Yes}\)); DecisionTree(\(\mathcal{D}_{No}\)).
В качестве входных данных требуется обучающая выборка \(\mathcal{D}\) и два параметра η и π, где η - размер листа и π порог чистоты листа. Различные точки рсщепления оцениваются для каждого атрибута из \(\mathcal{D}\). Числовые значения имеют вид \(X_j \le v\) для некоторого \(v\) из диапазона значений атрибута \(X_j\), а категориальные, имеют вид \(X_j \in V\) для некоторого подмножества из области значений \(X_j\). Лучшая точка расщепления выбирается для разделения данных на два подмножества: \(\mathcal{D}_{Yes}\) и \(\mathcal{D}_{No}\), где \(\mathcal{D}_{Yes}\) соответствует всем точкам \(\textbf{x}\in \mathcal{D}\), которые удовлетворяют разрешенному решению, а \(\mathcal{D}_{No}\) соответствует всем точкам, которые не удовлетворяют.
Для остановки рекурсивного разбиения можно использовать несколько условий. Простейшее условие основано на размере разбиения \(\mathcal{D}\). Если число \(n\) точек, попавших в \(\mathcal{D}\) меньше заданного пользователем порога размера η, тогда процесс разбиения завершается и строится лист.

Пример использования дерева квалификации.

Предположим, что некоторое предприятие владеет акциями стоимостью 1000 USD (заметим, что данные можно изменить и посмотреть как изменится результат).
Существует три варианта решений: Вероятность роста курса акции на 20% составляет P1 = 0.6, а вероятность снижения курсовой стоимости P2 = 0.4.

Необходимо максимизировать ожидаемую прибыль.
Построим дерево решений для данной ситуации.
 
Проведем анализ возможных решений.
В случае дополнительной покупки акций имеем:
   P1: 1000 + 500 + 0.2 * 1500 = 1800 USD;
   P2: 1000 + 500 - 0.2 * 1500 = 1200 USD;
В случае дальнейшего хранения акций имеем:
   P1: 1000 + 0.2 * 1000 = 1200 USD;
   P2: 1000 - 0.2 * 1000 = 800 USD;
Ожидаемое значение в вершине А составляет:
 0.6 * 1800 + 0.4 * 1200 = 1560 USD;
Ожидаемое значение в вершине B составляет:
  0.6 * 1200 + 0.4 * 800 = 1040 USD;
Прибыль при различных вариантах стратегий имеет следующие размеры:
Вариант 1 (купить дополнительные акции):
П1 = 1560 - 500 = 1060 USD;
Вариант 2 (продать все акции):
П2 = 0 + 1000 = 1000 USD;
Вариант 3 (продолжать держать все акции):
 П3 = 1040 + 0 = 1040 USD;
Итак, на основании метода дерева решений, оптимальным вариантом является покупка дополнительных акций, которая приводит к максимально возможной прибыли в 1060 USD;

Существует достаточно много алгоритмов, реализующих деревья решений, среди которых наиболее популярны алгоритмы CART и ID3 (с его расширением C4.5), на которых мы и остановимся.

Пример использования нечетких деревьев решений

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

Обучающая выборка.

Функции принадлежности


Новые данные

Квалификация (результат собеседования в баллах от 0 до 10)
Зарплата (в тыс. грн.)
Возраст (в годах)


Полезная литература. Книги.

  1. An Introduction to Statistical Learning with Applications in R / G.James, D.Witten, T.Hastie, R.Tibshirani .— New York Heidelberg Dordrecht London: Springer, 2013 .— 418 p.
  2. Berry L. Data Mining Techniques For Marketing, Sales, and Customer Relationship Management / L.Berry, G.Linoff; Second Edition .— Indianapolis, Indiana: Wiley Publishing, Inc., 2004 .— 672 p.
  3. Berry M. Lecture Notes in Data Mining / M.Berry, M.Browne .— Singapore: World Scientific Publishing Co., 2006 .— 237 p.
  4. Bowles M. Machine Learning in Python / M.Bowles; Essential Techniques for Predictive Analysis .— Indianapolis: John Wiley & Sons, Inc., 2015 .— 361 p.
  5. Han J. Data Mining Concepts and Techniques / J.Han, M.Kamber, J.Pei; Third Edition .— 225 Wyman Street, Waltham, MA 02451, USA: Morgan Kaufmann Publishers is an imprint of Elsevier, 2012 .— 740 p.
  6. Harrington P. Machine Learning in Action / P.Harrington .— Shelter Island: Manning Publications Co., 2012 .— 354 p.
  7. McNamee P. Decision Analysis for the Professional / P.McNamee, J.Celona; Fourth edition .— SmartOrg, Inc., 2008 .— 342 p.
  8. Nilsson N.J. Introduction to machine learning / N.J.Nilsson; An early draft of a proposed textbook .— Stanford: Stanford University, 1998 .— 188 p.
  9. Nisbet R. Handbook of statistical analysis and data mining applications / R.Nisbet, J.Elder, G.Miner .— Elsevier Inc., 2009 .— 860 p.
  10. Pattern Recognition and Machine Intelligence / Sergei O. Kuznetsov Deba P. Mandal Malay K. Kundu Sankar K. Pal (Eds.); 4th International Conference, PReMI 2011 Moscow, Russia, June 27 – July 1, 2011 Proceedings .— Springer, 2011 .— 495 p.
  11. Sammut C. Encyclopedia of Machine Learning / C.Sammut, G.Webb .— NY: Springer Science+Business Media, 2010 .— 1059 p.
  12. The Top Ten Algorithms in DataMining; Vipin Kumar (Editor) .— Taylor & Francis Group, LLC, 2009 .— 2006 p.
  13. Venugopal K.R. Soft Computing for Data Mining Applications / K.R.Venugopal, K.G.Srinivasa, L.M.Patnaik; Studies in Computational Intelligence,Volume 190 .— Berlin Heidelberg: Springer-Verlag, 2009 .— 354 p.
  14. Wang J. Encyclopedia of Data Warehousing and Mining / J.Wang; Second Edition .— Hershey: Information Science Reference, 2009 .— 2227 p.
  15. Witten I.H. Data Mining. Practical Machine Learning Tools and Techniques / Ian H. Witten, Eibe Frank; Second Edition .— San Francisco: Elsevier Inc., 2005 .— 558 p.
  16. Zaki M.J. Data Mining and Analysis: Fundamental Concepts and Algorithms / M.J.Zaki, W.Meira .— New York: Cambridge University Press, 2014 .— 660 p.
  17. Rokach L. Data Mining with decision trees. Theory and Applications / L.Rokach, O.Maimon; 2nd Edition .— Singapore: World Scientifc Publishing Co. Pte. Ltd, 2015 .— 305 с.

Полезная литература. Статьи.

  1. A comparative study of decision tree ID3 and C4.5 / B.Hssina, A.Merbouha, H.Ezzikouri, M.Erritali; Special Issue on Advances in Vehicular Ad Hoc Networking and Applications .— (IJACSA) International Journal of Advanced Computer Science and Applications.— 13-19 p.
  2. Quinlan J.R. Induction of Decision Trees / J.R.Quinlan // Machine Learning .— 1986 .— №1 .— P.81-106.

Вопрос-ответ.

Задать вопрос: