Алгоритм НСКО (алгоритм Хо-Кашьяпа)

Часто під час роботи з нейронними мережами, перед нами постає завдання в побудові лінійних вирішальних функцій (ЛРФ) для поділу класів, що містять наші образи.


Малюнок 1. двовимірний випадок

Один з методів, що дозволяють вирішити нашу проблему, це алгоритм найменшою середньоквадратичної помилки (НСКО алгоритм).

Інтерес даний алгоритм представляє не тільки в тому, що він допомагає побудувати необхідні нам ЛРФ, а в тому, що при виникненні ситуації, коли класи лінійно нероздільні, ми можемо побудувати ЛРФ, де помилка неправильної класифікації прагне до мінімуму.


Малюнок 2. лінійно нероздільні класи

Наведемо вихідні дані:

— позначення класу (i — номер класу)

— навчальна вибірка

— мітки( номер класу до якого належить образ )

— швидкість навчання (довільна величина)

Цієї інформації нам більш ніж достатньо для побудови ЛРФ.
Перейдемо безпосередньо до самого алгоритму.

Алгоритм

1 крок

а) переводимо у систему , де дорівнює , у якого в кінці приписаний клас способу

Наприклад:

Нехай заданий образ .

Тоді

якщо з 1 класу

якщо з 2 класу

б) будуємо матрицю розмірністю Nx3 яка складається з наших векторів

в) будуємо

г) вважаємо довільний вектор(за замовчуванням одиничний)

д) (номер ітерації)

2 крок

Перевіряємо умову зупинки:

Якщо «СТОП»

інакше переходимо до кроку 3

3 крок

а) (де + це функція Хэвисайда)

Наприклад(функція Хэвисайда):


(якщо )

(якщо або )

Після підрахунків міняємо номер ітерації:



б) переходимо на крок 2

Приклад роботи алгоритму НСКО






належать 1 класу
належать 2 класу

а)






б)


в)


г)




д)

, оскільки всі елементи «СТОП»

Завершили роботу алгоритму, і тепер можна підрахувати нашу ЛРФ.


Спасибі parpalak за онлайн редактор.

Дякую за увагу.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.