You are on page 1of 10

Метод опорних векторів

Підготували:
Боровий О.
Монець Д.
Що таке метод опорних векторів?
«Метод опорних векторів» (англ. Support Vector Machine - SVM) -
це керований алгоритм машинного навчання, який може бути
використаний як для проблем класифікації, так і для регресії.
Однак він переважно використовується в задачах класифікації. В
алгоритмі SVM ми зображуємо кожен елемент даних як точку в n-
вимірному просторі (де n — кількість властивостей елементу
даних), при цьому значення кожної характеристики є значенням
певної координати. Потім ми виконуємо класифікацію, знаходячи
гіперплощину, яка дуже добре розрізняє два класи.
Опорні вектори – це просто координати окремого спостереження.
Класифікатор SVM - це межа, яка найкраще відокремлює два класи
(гіперплощина/ лінія).
Розглянемо приклад, щоб зрозуміти ці поняття. Нехай населення
становить 50% на 50% чоловіків і жінок. Використовуючи вибірку
цієї сукупності, ви хочете створити певний набір правил, які
визначатимуть статевий клас для решти населення. Використовуючи
цей алгоритм, ми маємо намір створити робота, який зможе
визначити, чи є людина чоловіком чи жінкою. Це зразкова задача
класифікаційного аналізу. Використовуючи деякий набір правил, ми
спробуємо класифікувати сукупність на два можливі сегменти. Для
простоти припустимо, що два ідентифікуючі фактори відрізняються:
зріст особи та довжина волосся.
Сині кола на графіку представляють жінок, а зелені квадрати – чоловіків. Деякі очікувані
висновки з графіка:

1. Чоловіки в нашій популяції мають вищий середній зріст.

2. Жінки в нашій популяції мають довше волосся на голові.

Якби ми побачили особу зростом 180 см і довжиною волосся 4 см, то найкращим


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

Найпростіший спосіб інтерпретувати цільову функцію у


SVM - це знайти мінімальну відстань лінії від найближчого
вектора опори (це може належати будь -якому класу).
Наприклад, помаранчева лінія найближче до синіх кіл.
Найближче синє коло знаходиться на відстані 2 одиниць від
лінії. Коли ми маємо ці відстані для всіх ліній, ми просто
вибираємо межу з максимальною відстанню (до
найближчого опорного вектора). З трьох зображених
кордонів ми бачимо, що чорна лінія є найдальшим від
найближчого вектора опори (тобто 15 одиниць).
Що робити, якщо ми не знаходимо
однозначної лінії, яка би розділяла класи?

У таких випадках ми не бачимо прямолінійної межі


безпосередньо в поточній площині, яка може служити
SVM. Тоді нам потрібно відобразити ці вектори на
площину вищого виміру, щоб вони відокремилися
один від одного. Таке перетворення призведе до
наступного типу SVM.
Кожен зелений квадрат у вихідному розподілі відображено в
трансформованому масштабі. І трансформована шкала має чітко
відокремлені класи.
Плюси і мінуси, пов’язані з SVM
Плюси:
• Він дуже добре працює з чітким полем розмежування
• Він ефективний у багатовимірних просторах.
• Він ефективний у випадках, коли кількість вимірів більша за кількість зразків.
• Він використовує підмножину навчальних точок у функції прийняття рішень (так звані опорні
вектори), тому він також ефективний для пам’яті.

Мінуси:
• Він погано працює, коли ми маємо великий набір даних, оскільки необхідний час навчання є вищим.
• Він також не дуже добре працює, коли у наборі даних більше шуму, тобто цільові класи
перекриваються.
• SVM не надає безпосередньо оцінки ймовірності, вони розраховуються за допомогою дорогої
п’ятикратної крос-валідації. Він включений у відповідний метод SVC бібліотеки Python scikit-learn.
Дякую за увагу!

You might also like