Методи побудови математичних функцій.
При побудові математичної функції класифікації та регресії основна задача зводиться до вибору найкращої функції з всієї множини варіантів. Може існувати множина функцій, що однаково класифікують одну і ту ж саму вибірку.
Рис.
4
Варіанти лінійного поділу вибірки
Кожна з трьох ліній успішно ділить точки на два класи (представлені на рисунку квадратами та кругами), однак модель має бути представлена однією функцією, яка найкращим чином вирішить задачу для нових об’єктів.
В результаті задачу побудови функції класифікації і регресії можна формально описати як задачу вибору функції з мінімальною степінню помилки:
(31)
де F – множина всіх можливих функцій; c(yi, f(xi)) – функція втрат (loss function), в якій f(xi) – значення залежної змінної, що знайдене за допомогою функції f для вектора xi ϵ T, а yi – її точне (відоме) значення.
Функція втрат приймає додатні значення. Це означає, що неможливо отримати «винагороду» за дуже хороше передбачення. Якщо обрана функція втрат все ж таки приймає від’ємне значення, то це легко виправити, ввівши додатній зсув (можливо, залежний від х). Такими ж простими засобами можливо отримати нульові втрати при абсолютно точному прогнозі f(x)=y. Переваги такого обмеження функції втрат полягає в тому, що авжди відомий мінімум і відомо, що він досяжний ( хоча б для даної пари x,y).
Для задач класифікації і регресії такі функції мають різний вигляд. Так у випадку бінарної класифікації (належності об’єкта до одного з двух класів; перший клас далі позначається +1, другий – через -1) найпростіша функція втрат ( яка називається «0-1 los” в англомовній літературі) приймає значення 1 у випадку неправильного прогнозу і 0 в протилежному випадку:
(32)
Тут не враховується ні тип помилки (f(x)=1, y= -1 – додатна помилка, f(x)=-1, y=1 – від’ємна помилка), ні її величина.
Невелика зміна дозволяє врахувати характер помилки:
(33)
Тут може враховувати велику кількість параметрів об’єкта, що класифікується і характер помилки.
Ситуація ускладнюється у випадку класифікації з кількістю класів більше двох. Кожен тип помилки класифікації в загальному випадку вносить свій тип втрат таким чином, що отримується матриця розміру k x k (де k – число класів).
При оцінці величин, які приймають дійсні значення, доцільно використовувати різницю f(x)-y для оцінки якості класифікації. Ця різниця у випадку регресії має певний сенс (наприклад, розмір фінансових збитків при неправильній оцінці вартості фінансового інструмента на ринку цінних паперів). Враховуючи умову незалежності від положення, функція втрат має вигляд:
(34)
Найчастіше застосовується мінімізація квадратів різниці f(x)-y. Цей варіант відповідає наявності адитивного нормально розподіленого шуму, який впливає на результати спостережень yi. Відповідним чином мінімізуємо:
.
Support Vector Machines (SVM)
Алгоритми класифікації і регресії під загальною назвою SVM у багатьох випадках успішно замінили нейронні мережі і в даний час застосовуються дуже широко.
Ідею методу зручно проілюструвати на наступному простому прикладі: дано точки на площині, розбиті на два класи (рис. 2). Проведемо лінію, що розділяє ці два класи (червона лінія на рис. 2). Далі, все нові точки (не з навчальної вибірки) автоматично класифікуються наступним чином:
Рис.
5.
Приклад, який ілюструє ідею методу SVM.
Точка
вище прямої потрапляє в клас A,
точка
нижче прямої - у клас B.
Таку пряму назвемо розділяючою. Однак, в просторах високих розмірностей пряма вже не буде розділяти наші класи, так як поняття «нижче прямої» або «вище прямої» втрачає всякий сенс. Тому замість прямих необхідно розглядати гіперплощини - простору, розмірність яких на одиницю менше, ніж розмірність вихідного простору.
У нашому прикладі існує кілька прямих, що розділяють два класи (рис. 6):
Рис.
6.
Прямі, які розділяють два класи.
З точки зору точності класифікації краще всього вибрати пряму, відстань від якої до кожного класу максимальна. Іншими словами, виберемо ту пряму, яка розділяє класи найкращим чином (червона пряма на рис. 3). Така пряма, а в загальному випадку - гіперплощина, називається оптимальною.
Вектори, що лежать ближче всіх до розділюючої гіперплощини, називаються опорними векторами (support vectors). На рис. 3 вони позначені червоним.
Нехай
є навчальна вибірка:
.
Метод
опорних векторів будує класифікуюючу
функцію F у
вигляді
,
де:
-
Скалярний добуток,w - нормальний вектор до розділює гіперплощини,
b - допоміжний параметр.
Ті
об'єкти, для яких F (x) =
1 потрапляють
в один клас, а об'єкти з F (x) =
-1 -
в інший. Вибір
саме такої функції невипадковий: будь-яка
гіперплощина може бути задана у
вигляді
для
деяких w і b.
Далі,
ми хочемо вибрати такі w і b які
максимізують відстань до кожного
класу. Можна
підрахувати, що дана відстань рівна
1/||w|| . Проблема
знаходження цього максимуму еквівалентна
проблемі знаходження мінімуму
.
Рис. 7. Максимізація відстані до кожного з класів
Запишемо все це у вигляді завдання оптимізації:
(35)
Це є стандартною задачею квадратичного програмування і вирішується за допомогою множників Лагранжа.
Лінійна неподільність
На практиці випадки, коли дані можна розділити гіперплощиною, або, як ще кажуть, лінійно, досить рідкісні. Приклад лінійної нероздільності можна бачити на рисунку 8.
Рис. 8. Приклад лінійної нероздільності
У
цьому випадку поступають так: всі
елементи навчальної вибірки вкладаються
в простір X більш
високої розмірності з допомогою
спеціального відображення
. При
цьому відображення
вибирається
так, щоб в новому просторі X вибірка
була лінійно роздільна.
Класифікуюча функція F приймає вид
.
(36)
Вираз
називається
ядром
класифікатора.
З математичної точки зору ядром може
служити певна симетрична функція двох
змінних. Позитивна
визначеність необхідна для того, щоб
відповідна функція Лагранжа в задачі
оптимізації була обмежена знизу,
тобто задача
оптимізації була б коректно визначена.
Формально задачу SVM можна описати як пошук функції, що відповідає таким умовам:
(37)
для
деякого кінцевого значення помилки
.
Якщо лінійна, то її можна записати у вигляді:
(38)
де
- скалярний добуток векторів ; b
- константа, яка заміняє коефіцієнт
.
Введемо
поняття площини
функції
таким чином, що більшому значенню площини
відповідає менше значення евклідової
норми вектора
:
(39)
Тоді
задачу знаходження функції можна
сформулювати наступним чином: мінімізувати
значення
за
умови:
(40)
Рішенням даної задачі є функція виду:
(41)
де
та
- додатні константи, що задовольняють
наступні умови:
(42)
Константа
C
задає співвідношення між площиною
функції
і допустимим значенням порушення границі
Незважаючи на те, що розглянутий випадок з лінійною функцією , метод SVM може бути використаний і для побудови нелінійних моделей. Для цього скалярний добуток двох векторів (х1, х) необхідно замінити на скалярний добуток перетворених векторів:
(43)
Функція k (x, y) називається ядром.
Тоді вираз можна переписати у вигляді:
(44)
Нижче наведені основні види функцій класифікації, що застосовуються в SVM-методі.
Таблиця 6
Ядро |
Назва |
|
Лінійна |
|
Поліном степеня d |
|
Базова радіальна функція Гауса |
|
Сигмоїдальна |
