Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЛАВЫ7_8.DOC
Скачиваний:
14
Добавлен:
28.10.2018
Размер:
339.46 Кб
Скачать

9.3. Метод приближенного определения положения разделяющей плоскости

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

- строят векторы . Все эти векторы, если существует разделяющая плоскость, лежат в некотором конусе;

- находят векторы, образующие конус (векторы, угол между которыми наибольший);

- сумма этих двух векторов по направлению приблизительно совпадает с осью конуса, поэтому этот вектор, равный сумме двух векторов, принимаем за нормаль к разделяющей поверхности (рис 9.2);

- зная вектор нормали к разделяющей поверхности и используя уравнения (9.3), находим уравнение разделяющей поверхности.

Рис. 9.2. В двухмерном случае конус образован двумя векторами и

Нормаль

Нахождение векторов, образующих конус

1. Находим первое приближение вектора разделяющей плоскости, как среднее значение всех векторов .

,

где .

2. Находим вектор , наиболее удаленный по направлению от вектора ,

где mk – определяет один из векторов образующих конус.

3. Находим вектор , наиболее удаленный по направлению от вектора , . Вектор ln наиболее удален от вектора mk. За ln – принимаем второй из векторов, образующих конус.

разделяющая

линия

Рис. 9.3. Построение векторов, образующих конус

Нахождение уравнения разделяющей плоскости

1. Находим направление вектора разделяющей плоскости,

.

2. Находим уравнение разделяющей плоскости.

,

где С0 – вектор, определяющий точку, через которую должна пройти плоскость,

.

9.4. Пример реализации

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

1) сканируя экран по диагонали, находим точку контура;

2) сканируя все точки контура К, находим наиболее удаленные точки:

;

 длина рыбы;

3) находим ширину рыбы:

- через точки k и m проводим линию,

;

- находим вектор h, перпендикулярный оси рыбы,

;

- сканируя каждую точку контура с каждой другой точкой контура, скалярное произведение, которое является шириной рыбы:

;

 ширина рыбы.

Для сокращения числа переборов, не обязательно сканировать каждую точку контура с каждой последующей, так как последовательность быстро сходится к {l, n}. Для рассматриваемого примера, достаточно трёх итераций;

- значения L и H в виде вектора , заносят в массивы статистики X – для минтая и – для камбалы, которые называют обучающими, и по ним, используя метод, описанный в главе 9.3, строят разделяющую плоскость;

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

- если распознавание происходит с ошибками, дополняем обучающее множество этими вариантами реализации (чем больше объём статистики, тем меньше вероятность ошибки).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]