Задание 2. Занятие 2 Решение задачи обучения методом kближайших соседей
Скачать 77.5 Kb.
|
Распознавание образов Практическое занятие 2-3. Решение задачи обучения методом k-ближайших соседейЦель работы Запрограммировать алгоритм обучения методом «k-ближайших соседей». Порядок выполнения В рамках создаваемого приложения, разработать программный модуль, для решения задачи таксономии. Результатом работы алгоритма должен стать список таксонов, сформированных при данном значении R: При пороговом расстоянии R сформировано yy таксонов: - Таксон №1 включает xx векторов: 1,2,3,5,6 - Таксон №2 включает xx векторов: 7,9,11,12,15 Протестировать работу алгоритма на проверочном наборе векторов:
где, при пороговом расстоянии R=1 выделяются 3 таксона: таксон №1: векторы 1-6 таксон №2: векторы 7-12 таксон №3: векторы 12-14 Ввести в программу анкетные данные. Выполнить нормировку данных и сформировать таксоны при различных пороговых расстояниях R. Найти R, при котором сформировались наиболее адекватные группировки векторов. Дать интерпретацию полученных таксонов. Методические указания Алгоритм таксономии Задается некоторое пороговое расстояние R. Выбирается один из векторов таксономируемого множества, например, первый из них, и включается в таксон. В таксономируемом множестве ищутся векторы, удаленные от выбранного не больше, чем на R. Если таких векторов не обнаружено, формирование этого таксона заканчивается. Если такие векторы обнаружены, они включаются в таксон. Затем для каждого из вновь включенных в таксон векторов таким же образом ищутся ближайшие и тоже включаются в таксон и т. д. до тех пор, пока близкие векторы перестанут находиться. На этом формирования таксона заканчивается. Если остались векторы, не включенные в таксон, выбирается один из таких векторов, с которого начнется формирование нового таксона в соответствии с пунктами 3 и 4 и так до тех пор, пока все векторы не будут включены в таксоны. Количество таксонов, получаемых в результате работы алгоритма, зависит от величины R. При очень малых значениях R каждый таксон будет состоять из одного объекта, при слишком больших R все объекты могут объединиться в один таксон. Следующий рисунок иллюстрирует работу алгоритма для некоторого заданного R. Для вычисления расстояния между векторами используют метрику Евклида. При этом, если для описания объектов используются n признаков, то расстояние R между двумя векторами и вычисляется следующим образом:
Приведенная формула применяется для вычисления расстояния межу векторами, координатами которых являются произвольные вещественные числа. При работе с векторами, координаты которых представлены в двоичном виде, применяется метрика Хемминга:
Реализация алгоритма: 1) задаем пороговое расстояние r_porog = 1 |