Создание графа

Общая характеристика дерева целей

Определение 1

Дерево целей (the objective tree) — это управленческая методика, которая помогает создавать и упорядочивать цели в жизни и бизнесе.

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

Отсутствие структуры приводит к:

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

Отсутствие четкой структуры управления в фирме отрицательно сказывается на возможности стабильно улучшать финансовые показатели.

Самый простой способ структурировать свою работу — это выстроить дерево целей компании.

Построить модель дерева можно самостоятельно, без привлечения бизнес-консультантов.

Дерево целей — это методика управления, помогающая структурировать цели в бизнесе и в жизни. Она создана в 50-х годах прошлого века Р. Акоффом и Ч. Черчменом как средство для повышения эффективности крупных корпораций.

Замечание 1

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

Система быстро стала популярна в деловой среде, поскольку является простой и универсальной.

Система «Дерево целей» помогает решить две важные бизнес-задачи:

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

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

Дерево целей описывается несколькими определениями. Его характеризуют как:

  1. Иерархию целей фирмы.
  2. Графическую модель планового развития организации.
  3. Совокупность задач компании на долгосрочную перспективу.
  4. Комплексную систему задач.

Каждое из них отражает характеристики дерева:

  1. Иерархичность: сложные цели всегда создают простые цели.
  2. Системность: взаимосвязь элементов дерева.
  3. Лаконичность: отсутствие лишних компонентов.
  4. Индивидуальность: каждое дерево неповторимо и индивидуально.
  5. Наглядность: дерево представлено в виде графической формы.

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

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

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

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

Дерево целей необходимо компании для того чтобы:

  • Реализовать Миссию организации.
  • Структурировать направления деятельности.
  • Создать систему управления компании.
  • Не дублировать задачи.
  • Упорядочить все ресурсы.
  • Видеть слабые места сейчас и в перспективе.
  • Быстро вносить корректировки в текущий план действий.

Дерево целей — это хорошая база для будущего развития организации.

PlantUML

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

Основные характеристики и особенности:

  • Определение объектов и связей с помощью языка сценариев PlantUML.
  • Поддерживает множество типов диаграмм: последовательность, пользовательский регистр, класс, Гантт и т.д.
  • Экспортируйте диаграммы в формате PNG, SVG или LaTeX.

перевод с makeuseof.com

Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram, и . Только там последние обновления блога и новости мира информационных технологий.

Методы формирования целей

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

Методика системного анализа, процесс формирования целей укрупнено представляется тремя этапами:

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

2. Написание сценария. Сценарий представляется как инструмент упорядоченности нашего представления о будущем. Систематизация черт этого будущего в едином документе. Сценарий как модель содержит два важных аспекта:

а) описание существующих позитивных и негативных тенденций, т.е. разрабатывается модель современного состояния;

б) разрабатывается модель будущего состояния. Это анализ тенденций будущего в зависимости от ситуаций которые могут возникнуть и оказать влияние на развитие системы. Общесистемные цели задаются в качественном виде и определяются какими видами деятельности будет заниматься организация. Рассматриваются два варианта представления о будущем:

• опорное представление, на основе экстраполяции и факторного анализа;

• целевое представление. То есть, то чего хочет добиться компания в будущем.

При этом целевое отношение рассматривается в трех аспектах: пессимистическом, реалистическом и оптимистическом.

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

3.Декомпозиция целей. Основываясь на главных свойствах целей, развертываемости и подчиненности, конечная цель раскладывается на составляющие подцели, таким образом, чтобы конъюнкция этих подцелей определялась в конечную цель. Инструментом с помощью которого осуществляется систематизация целей является модель – «дерево целей».

Литература

1.    Алексеев, С.И. Исследование систем управления: учебно-методический комплекс / С.И. Алексеев. — М.: Изд. центр ЕАОИ, 2008. —195 с.

2.    Богушевский, И.И. Базовые лекции по дисциплине: Исследование систем управления / И.И. Богушевский. – СпбИМаш, 2006. – 27 с.

3.    Игнатьева, А.В. Исследование систем управления: учеб, пособие для вузов/ А.В. Игнатьева, М.М. Максимцов. – ЮНИТИ-ДАНА, 2000. – 157 с.

4.    Райзберг, Б.А. Современный экономический словарь  / Б.А. Райзберг, Л.Ш. Лозовский, Е.Б. Стародубцева -5-е изд., перераб. и доп.-М.: ИНФРА-М, 2006. — 495 с. — (Библиотека словарей «ИНФРА-М»)

5.    Тырсин, А.Н. Теория систем и системный анализ: учеб, пособие / Сост. А.Н. Тырсин. — Челябинск: УрСЭИ АТиСО, 2002. – 128 с.

6.    Шевчук, Д.А. Исследование систем управления: конспект лекций /Д.А. Шевчук. – Ростов-на-дону: Феникс, 2007. – 103 с.

Понятие «цель»

Понятие «цель» и связанные с ним понятия целесообразности, целенаправленности лежат в основе развития системы.

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

В некоторых определениях цель как бы трансформируется, принимая различные оттенки в пределах условной «шкалы» — от идеальных устремлении к материальному воплощению, конечному результату деятельности.

Наряду с приведенным выше определением, целью называется «то, к чему стремится, чему поклоняется и за что борется человек» («борется» подразумевает достижимость в определенном интервале времени); под целью понимается «модель желаемого будущего» (при этом в понятие «модель» можно вкладывать различные оттенки реализуемости) и, кроме того, вводится понятие, характеризующее разновидность цели («мечта — это цель, не обеспеченная средствами ее достижения».

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

В русском языке вообще не было термина «цель». Этот термин заимствован из немецкого и имеет значение близкое к понятию «мишень», «финиш», «точка попадания». В английском языке содержится несколько терминов, отражающих различные оттенки понятия цели, в пределах рассматриваемой «шкалы»: «purpose» (цель-намерение, целеустремленность, воля), «object» и «objective» (цель-направление действия, направление движения), «aim» (цель-стремление, прицел, указание), «goal» (цель-место назначения, задача), «target» (цель-мишень для стрельбы, задание, план), «end» (цель-финиш, конец, окончание, предел).

Для того, чтобы отразить диалектическое противоречие, заключенное в понятии «цель», в БСЭ дается следующее определение: цель – » заранее мыслимый результат сознательной деятельности человека, группы людей.» («заранее мыслимый», но все же «результат», воплощение замысла; подчеркивается также, что понятие цели связано с человеком, его «сознательной деятельностью», т, е. с наличием сознания.

Диалектико-материалистическое понимание цели очень важно при организации процессов коллективного принятия решений в системах управления. В реальных ситуациях необходимо оговаривать, а каком смысле на данной этапе рассмотрения системы используется понятие «цель», что в большей степени должно быть отражено в ее формулировке — идеальные устремления, которые помогут коллективу лиц принимающих решение (ЛПР), увидеть перспективы, или реальные возможности обеспечивающие своевременность завершения очередного этапа на пути к желаемому будущему

Реализация в Python

пример

В следующем примере мы собираемся реализовать классификатор дерева решений для индийского диабета Пима —

Во-первых, начните с импорта необходимых пакетов Python —

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

Затем загрузите набор данных iris с веб-ссылки следующим образом:

col_names = 
pima = pd.read_csv(r"C:\pima-indians-diabetes.csv", header = None, names = col_names)
pima.head()
беременная глюкоза BP кожа инсулин индекс массы тела Родословная Возраст метка
6 148 72 35 33,6 0,627 50 1
1 1 85 66 29 33,6 0,627 50 1
2 8 183 64 23,3 0,672 32 1
3 1 89 66 23 94 28,1 0,167 21
4 137 40 35 168 43,1 2,288 33 1

Теперь разделите набор данных на объекты и целевую переменную следующим образом:

feature_cols = 
X = pima # Features
y = pima.label # Target variable

Далее мы разделим данные на разделы «поезд» и «тест». Следующий код разделит набор данных на 70% данных обучения и 30% данных тестирования.

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random_state = 1)

Затем обучаем модель с помощью класса sklearn класса DecisionTreeClassifier следующим образом —

clf = DecisionTreeClassifier()
clf = clf.fit(X_train,y_train)

Наконец нам нужно сделать прогноз. Это можно сделать с помощью следующего скрипта —

y_pred = clf.predict(X_test)

Затем мы можем получить оценку точности, матрицу путаницы и отчет о классификации следующим образом:

from sklearn.metrics import classification_report, confusion_matrix, accuracy_score
result = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(result)
result1 = classification_report(y_test, y_pred)
print("Classification Report:",)
print (result1)
result2 = accuracy_score(y_test,y_pred)
print("Accuracy:",result2)

Выход

Confusion Matrix:
   
   ]
Classification Report:
              precision     recall      f1-score     support
        0          0.72       0.79          0.75         146
        1          0.57       0.46          0.51          85
micro avg          0.67       0.67          0.67         231
macro avg          0.64       0.63          0.63         231
weighted avg       0.66       0.67          0.66         231

Accuracy: 0.670995670995671

Визуализация дерева решений

Приведенное выше дерево решений можно визуализировать с помощью следующего кода:

from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO
from IPython.display import Image
import pydotplus
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data, filled=True, rounded=True,
   special_characters=True,feature_names = feature_cols,class_names=)

graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_png('Pima_diabetes_Tree.png')
Image(graph.create_png())

Экспертные оценки.

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

Качественные – связаны с определением возможных направлений развития внешней среды, выбором целей и стратегии развития.

Количественные – используются при определении бальных оценок, коэффициентов относительной важности (КОВ)

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

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

решений

вар. решений.

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

Принципы построения

В менеджменте приняты следующие принципы построения дерева целей:

Учитывайте потребности и ресурсы

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

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

Конкретизируйте

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

Разбейте постановку на этапы

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

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

Совместимость

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

Соответствие структуре предприятия

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

Метод декомпозиции

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

Теория метода

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

Идея метода дерева целей впервые была предложена американскими исследователями Ч. Черчменом и Р. Акоффом в 1957 году. Свое название схема получила благодаря сходству с перевернутым деревом.

Концепция «дерева целей» представляет собой упорядочивающий инструмент (подобный организационной схеме компании), используемый для формирования элементов общей целевой программы развития компании (главных или генеральных целей) и соотнесения со специфическими целями различных уровней и областей деятельности.

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

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

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

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

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

дерево цель компания

Как реализовать проект при помощи дерева целей

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

Именно так следует поступить с поручениями подзадач в проекте. После того, как вы обеспечили создание дерева целей, начинайте поручать задачи сотрудникам. И опять же — в ЛидерТаске такой функционал реализован «на ура»:

  1. В ЛидерТаске всегда видно, кто за какой участок проекта несет ответственность.
  2. По каждой из задач вы можете общаться с исполнителем во встроенном чате.
  3. Другие участники проекта также могут иметь доступ к документам других исполнителей. А могут и не иметь.
  4. При помощи инструмента «Диаграмма Гантта» вы всегда сможете отследить, на каком этапе находится реализация проекта.

Вот так просто можно работать с деревом целей в проектном менеджменте вашей организации.

Правильно сгруппируйте цели

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

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

Определение правил группировки целей позволяет навести «порядок» при создании дерева целей, а также проверить полноту целеполагания. В качестве примера при использовании группировки по перспективам BSC, можно обнаружить «пробелы» в части ориентации на клиента, развития внутренних бизнес-процессов или в обучении и развитии персонала. По факту можно увидеть, что российский бизнес иногда руководствуется анекдотом: «Чтобы корова меньше ела и больше давала молока, ее нужно меньше кормить и больше доить».

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

Программы для работы с блок-схемами

LibreOffice Draw

LibreOffice — это бесплатный офисный пакет, своего рода аналог MS Office (неоднократно мной рекомендуем, кстати). В его арсенале есть спец. программа Draw, позволяющая буквально 2-3 кликами мышки рисовать простенькие блок-схемы (см. скрин ниже).

Типовая блок-схема // Draw

С помощью левой панельки можно быстро добавить различные фигуры: ромбы, прямоугольники, линии, стрелки и т.д. К тому же в отличие от многих других продуктов — Draw поддерживает русский язык в полном объеме.

В общем, однозначно рекомендую!

Dia

Это добротный и бесплатный редактор диаграмм, блок-схем и пр. подобных «штук»

По сравнению с предыдущей программой, Dia обладает куда большим функционалом — да просто хотя бы обратите внимание на панель задач: там есть практически любые фигуры и значки!

DIA — скрин главного окна

Особенности:

  1. простой и лаконичный интерфейс: разобраться с ним не составит труда любому начинающему пользователю;
  2. есть коллекция стандартных блок-схем (не обязательно всегда создавать что-то новое);
  3. есть возможность добавлять в коллекцию свои фигуры и значки;
  4. любую фигуру на схеме можно перекрасить в нужный вам цвет (см. скрин выше);
  5. ПО можно использовать как в ОС Windows и Linux.

Pencil Project

Отличное ПО для построения практически любых схем, форм и диаграмм. Отличается от остальных наличием просто огромного количества блоков и фигур (см. скрин ниже — я спец. сделал скрин всего многообразия инструментов (и это еще не все…)).

Скрин блоков из Pencil Project

Особенности:

  1. возможность импортировать рисунки и вставлять их в свои схемы;
  2. возможность создавать собственные фигуры и блоки;
  3. огромная коллекция готовых графиков, схем, шаблонов и т.д.;
  4. есть опция для сохранения блоков в такие популярные форматы, как HTML, PNG, PDF и пр.

Diagram Designer

Добротный векторный графический редактор для создания графиков, блок-схем, диаграмм. Программа выгодно отличается от других продуктов своей «простотой» — посмотрите на ее интерфейс, он выполнен в стиле тотального минимализма!

Чтобы создать свою схему — достаточно 2-х кликов мышки (и это не преувеличение).

Diagram Designer — главное окно программы

Особенности:

  1. простой интерфейс: нет ничего лишнего (только инструменты для создания схем);
  2. импорт/экспорт файлов в формате: WMF, EMF, BMP, JPEG, PNG, MNG, ICO, GIF и PCX;
  3. встроенная функция для просмотра слайд-шоу;
  4. возможность сжимать файлы блок-схем (архиватор);
  5. есть опция по объединению нескольких схем в одну (весьма удобно, если вам нужно скомпоновать что-то одно из разных «кусков»).

yEd Graph Editor

Весьма современный редактор для быстрого построения «древовидных» диаграмм и блок-схем (даже для неподготовленного пользователя). Отмечу, что программа достаточно мощная и универсальная (правда с несколько «причудливым» интерфейсом).

yEd Graph Editor — пример построенной блок-схемы

Особенности:

  1. легкое и быстрое построение схем любой сложности (и с любым количеством условий и ответвлений);
  2. поддержка комментариев, аннотаций;
  3. возможность работать параллельно сразу с несколькими документами;
  4. есть спец. «сворачивающиеся» блоки (подобные инструменты редко встречаются в др. аналогичных продуктах);
  5. наличие алгоритмов для автоматической компоновки (выручает при работе с большими диаграммами и схемами);
  6. возможность сохранения созданных графиков в HTML, PNG, JPG и PDF файлы.

по теме — приветствуются!

Удачи!

Дерево решений[править]

Определение:
Дерево решений (англ. decision tree, DT) — алгоритм классификации , задающийся деревом (связным ациклическим графом), где:
  • — множество вершин , — корень дерева;
  • — функция перехода по значению предиката в множество детей вершины ;
  • — предикат ветвления, и ;
  • Для листьев определена метка класса .
Определение:
Бинарное дерево решений — частный случай дерева решений, для которого .


Классификация объекта бинарным решающим деревом

function classify(x):
  
  if  
     
  else
     
  return 

Информативность ветвленияправить

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

Определение:
Частотная оценка вероятности класса в вершине :
Определение:
Мера неопределенности (англ. impurity) распределения :
  • минимальна, когда ;
  • максимальна, когда для всех ;
  • не зависит от перенумерации классов

, где убывает и , например: , ,

Примерами мер неопределенности распределения являются:

  • Энтропия: , определяется для каждого множества из разбиения, — количество возможных классов, и — вероятность объекта принадлежать -ому классу.
  • Критерий Джини: , максимизацию этого критерия можно интерпретировать как максимизацию числа пар объектов одного класса, оказавшихся после разбиения в одном множестве.

Теперь определим суммарную неопределенность распределения в разбиении.

Определение:
Неопределенность распределения после ветвления вершины по предикату и разбиения :

Информационный выигрыш от разбиения определяется как изменение неопределенности в системе.

Определение:
Информационный выигрыш от разбиения по предикату

Рекурсивный алгоритм построения бинарного дерева решений ID3править

Покажем идею построения дерева решения на частном случае бинарного дерева. Алгоритм (англ. Induction of Decision Tree) заключается в последовательном дроблении выборки на две части до тех пор, пока в каждой части не окажутся объекты только одного класса. Разделение производится по предикату , который выбирается из множества элементарных предикатов. На практике в качестве элементарных предикатов чаще всего берут простые пороговые условия вида .
Проще всего записать этот алгоритм в виде рекурсивной процедуры , которая строит дерево по заданной подвыборке и возвращает его корневую вершину.

1:function ID3():
2:   if  : , 
        
3:      v = createLeafVertex()
4:      return v
     
      Gain(, )
     
5:   
6:   
7:   if  ||  
        
8:       = majorClass()
9:      v = createLeafVertex()
     else
        
10:     v = createVertex()
11:     
12:      = ID3()
13:      = ID3()
14:  return 

Случайный лес

Случайный лес — модель, состоящая из множества деревьев решений. Вместо того,чтобы просто усреднять прогнозы разных деревьев (такая концепция называется просто «лес»), эта модель использует две ключевые концепции, которые и делают этот лес случайным.

  1. Случайная выборка образцов из набора данных при построении деревьев.
  2. При разделении узлов выбираются случайные наборы параметров.

Случайная выборка тренировочных образцов

В процессе тренировки каждое дерево случайного леса учится на случайном образце из набора данных. Выборка образцов происходит с возмещением (в статистике этот метод называется бутстреппинг, bootstrapping). Это даёт возможность повторно использовать образцы одним и тем же деревом. Хотя каждое дерево может быть высоковариативным по отношению к определённому набору тренировочных данных, обучение деревьев на разных наборах образцов позволяет понизить общую вариативность леса, не жертвуя точностью.

При тестировании результат выводится путём усреднения прогнозов, полученных от каждого дерева. Подход, при котором каждый обучающийся элемент получает собственный набор обучающих данных (с помощью бутстреппинга), после чего результат усредняется, называется бэггинг (bagging, от bootstrap aggregating).

Случайные наборы параметров для разделения узлов

Вторая базовая концепция случайного леса заключается в использовании определённой выборки параметров образца для разделения каждого узла в каждом отдельном дереве. Обычно размер выборки равен квадратному корню из общего числа параметров. То есть, если каждый образец набора данных содержит 16 параметров, то в каждом отдельном узле будет использовано 4. Хотя обучение случайного леса можно провести и с полным набором параметров, как это обычно делается при регрессии. Этот параметр можно настроить в реализации случайного леса в Scikit-Learn.

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

Чтобы лучше понять преимущество случайного леса, представьте следующий сценарий: вам нужно решить, поднимется ли цена акций определённой компании. У вас есть доступ к дюжине аналитиков, изначально не знакомых с делами этой компании. Каждый из аналитиков характеризуется низкой степенью погрешности, так как не делает каких-либо предположений. Кроме того, они могут получать новые данные из новостных источников.

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

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий