Посты для тега : ‘дерева’

Введение в теорию деревьев решений

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

Читать далее »

Мутация программ

Отобранные наилучшие программы копируются и модифицируются для включения в следующее поколение. Выше уже отмечалось, что мутация заключается в небольшом изменении одной программы. Изменить древовидную программу можно разными способами, например изменив функцию в каком-то узле или одну из ветвей. Если для новой функции требуется другое количество дочерних узлов, то либо какие- то ветви удаляются, либо добавляются […]

Читать далее »

Скрещивание

Другой вид модификации программ – это скрещивание. Для этого две успешные программы комбинируются с целью получения новой. Обычно это делается путем замены какой-то ветви одной программы ветвью другой. На рис. 11.5 приведен соответствующий пример.

Читать далее »

Программы как деревья

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

Читать далее »

Классификация новых наблюдений

Теперь нам необходима функция, которая классифицирует новое наблюдение в соответствии с деревом решений. Добавьте ее в файл treepredict.py: def classify(observation,tree): if tree.results!=None: return tree.results else: v=observation[tree.col] branch=None

Читать далее »

Отсечение ветвей дерева

У описанных выше методов обучения дерева есть один недостаток: оно может оказаться переученным (overfitted), то есть излишне ориентированным на данные, предъявленные в процессе обучения. Вероятность ответа, возвращенного переученным деревом, может оказаться выше, чем на самом деле, из-за того что были созданы ветви, лишь немного уменьшающие энтропию предъявленного множества наблюдений, хотя выбранное условие расщепления в действительности […]

Читать далее »

Классификатор на базе деревьев решений

Деревья решений рассматривались ранее  на примере построения модели поведения пользователя исходя из записей в протоколах сервера. Отличительной особенностью деревьев решений является исключительная простота интерпретации. На рис. 12.1 показан пример дерева:

Читать далее »

Рекурсивное построение дерева

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

Читать далее »

Шифр LEVMTHAN

Шифр разработан сотрудниками Cisco Systems D. А. McGrew и S. R. Fluhrer. Cisco Systems является мировым лидером в области сетевых технологий и ведет разработки в области аппаратного и программного обеспечения, в частности в области защиты данных. Четкая ориентация алгоритма LEVlATHAN именно на сетевые приложения станет ясна ниже. Описание алгоритма LEVlATHAN было опубликовано авторами в сети […]

Читать далее »
 
Rambler's Top100