Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторний практикум МCШІ - 2013 .doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.63 Mб
Скачать

Побудова розділяючої функції

Мета роботи. Знайти параметри розділяючої лінії та продемонструвати розподіл об’єктів на різні класи.

Суть роботи. Для окреслення чітких границь класів шукають функцій , таких, що кожен об’єкт, представлений як вектор може бути віднесений до свого, конкретно визначеного класу, тобто . Такі функції називають розділяючи ми або дискримінант ними. Якщо не задати апріорі ніяких додаткових властивостей функцій для , то знайти їх дуже складно. Тому переважно використовують в таких випадках функції які мають деякі прості властивості. Наприклад лінійні розділяючи функції виду

. (6)

Тоді рівняння границі між класами і або , де . Очевидно, що останнє рівняння є рівнянням гіперплощини в просторі ознак . Приймемо . Тоді задача побудови розділяючої гіперплощини полягає в знаходженні чисел , таких, що для деяких , і має місце рішаючи правило

(7)

де і – класи об’єктів.

Якщо не припускати існування гіперплощини, яка розділяє два класи, то лінійна рішаючи функція повинна будуватися так, щоб число неправильних розпізнавань елементів для відомої послідовності було мінімальним.

У випадку, коли , можна вважати, що лінійна розділяюча функція будується спочатку для відокремлення об’єктів першого класу (образу) від усіх інших класів. Далі процедура побудови розділяючої функції повторюється на множині решти об’єктів з метою виділення другого класу і т.д. оскільки аналогічне міркування можна провести для будь-якої задачі розпізнавання, то це значить, що число класів на які класифікуються об’єкти завжди можна вважати рівним двом.

В найпростішому випадку задача зводиться до побудови розділяючої лінії. Проведена на площині така лінія ділить площину на дві області таким чином, що двомірні об’єкти одного типу будуть при їх розпізнаванні локалізуватися над цією лінією, а інші – під нею. Очевидно не виключається випадок, коли точки, які символізують об’єкти можуть належати цій прямій, тобто маємо ще й третій клас. Проте, як правило, таку ситуацію переважно вважають невизначеною, а самі об’єкти або піддають додатковому аналізу або відкидають.

Рівняння прямої, що проходить через дві дані точки і має вид

. (8)

Кутовий коефіцієнт прямої

. (9)

Нахил прямої, що проходить через точки і до осі визначається кутом

. (10)

Нормальне рівняння прямої

, (11)

перпендикуляром до прямої з початку координат і віссю , як показано на рис. 3., причому .

Рис. 5. Приклад розділяючої лінії.

Нормальне рівняння отримують перемноженням звичайного рівняння на нормуючий множник, тобто: загальне рівняння множать на , причому знак є протилежним до знака . Відстань від точки до прямої рівна . В залежності від значень координат значення може мати різні знаки. Якщо , то точка і початок координат знаходяться по різні боки прямої, а якщо то по один бік. Іншими словами, в першому випадку точки розташовані над прямою, а в другому – під прямою. Ця властивість і використовується для побудови алгоритмів розпізнавання, які працюють за принципом розділяючої поверхні.

Хід роботи.

1. Використовуючи внутрішній генератор випадкових чисел RND розкидаємо в межах екрану 10 – 1000 точок з будь-яким розподілом їх координат. Точки можуть бути зосереджені групами або рівномірно розподіленими по усій площі екрану.

2. Вибираємо положення трьох ліній так, щоб вони утворили (виокремили) декілька областей, тобто не менше чотирьох.

3. Знаходимо параметри цих ліній, наприклад, з допомогою координат двох точок, через які вони проходять. Приводимо рівняння лінії до нормального виду.

4. Підставляємо координати точок в нормальне рівняння і визначаємо знак відстані. У відповідності від знаку зафарбовуємо точки. Для цього слід використати принцип розгортки та відповідні логічні предикати.

5. Оформити звіт, в якому схематично відобразити положення ліній на екрані та перед захистом роботи продемонструвати результати. У звіті також привести фрагменти програми які стосуються роботи алгоритму розділяючої відстані, принципу виділення і фарбування точок та форму логічних предикатів.