what is support vector machine machine learning
Цей посібник пояснює підтримку Vector Machine у ML та пов'язані з ними концепції, такі як Hyperplane, вектори підтримки та програми SVM:
В Попередній підручник , ми дізналися про генетичні алгоритми та їх роль у машинному навчанні.
Ми вивчали деякі контрольовані та неконтрольовані алгоритми машинного навчання в наших попередніх навчальних посібниках. Зворотне розповсюдження - це керований алгоритм навчання, тоді як Кохенен - керований алгоритм навчання.
У цьому навчальному посібнику з машинами векторної підтримки ми дізнаємося про машини векторної підтримки. SVM - це надійні математичні керовані алгоритми машинного навчання, що широко використовуються в класифікації набору навчальних даних.
=> Прочитайте повну навчальну серію машинного навчання
Що ви дізнаєтесь:
- Що таке машина підтримки вектора (SVM)
- Що таке гіперплан
- Що таке алгоритми класифікації та регресії
- Що таке вектори підтримки
- Як працює апарат векторної підтримки
- Як оптимізувати положення гіперплану
- Застосування SVM
- Висновок
- Рекомендована література
Що таке машина підтримки вектора (SVM)
Алгоритм SVM - це керований алгоритм навчання, класифікований за методами класифікації. Це бінарна техніка класифікації, яка використовує навчальний набір даних для прогнозування оптимальної гіперплощини в n-мірному просторі.
Цей гіперплан використовується для класифікації нових наборів даних. Будучи двійковим класифікатором, набір навчальних даних гіперплощина ділить набір навчальних даних на два класи.
Алгоритми SVM використовуються для класифікації даних у двовимірній площині, а також багатовимірній гіперплощині. Багатовимірний гіперплан використовує “Ядра” для класифікації багатовимірних даних.
Завжди бажано мати максимальну різницю між класифікованими точками даних. Це означає, що вони повинні мати максимальну відстань, або гіперплан повинен мати максимальний запас між точками даних.
Що таке гіперплан
Гіперплощина - це межа, яка розділяє площину. Це межа прийняття рішення, яка класифікує точки даних на 2 окремі класи. Оскільки SVM використовується для класифікації даних у багатовимірних, гіперплощиною може бути пряма лінія, якщо є 2 входи, або двовимірна площина, якщо є більше 2 входів.
Алгоритми SVM також можуть бути використані для регресійного аналізу, але в основному вони використовуються для класифікації. Давайте подивимось докладніше про кожен із цих методів.
Що таке алгоритми класифікації та регресії
Алгоритм класифікації - це той, який аналізує дані навчання для прогнозування результату. Результатом є цільовий клас, наприклад , День чи Ніч, Так чи Ні, Тривалий або Короткий. Прикладом алгоритму класифікації може бути те, чи купує хліб покупець у супермаркеті також масло. Цільовим класом буде 'Так' або 'Ні'.
Алгоритм регресії з’ясовує взаємозв’язок між незалежними змінними та передбачає результат. Лінійна регресія з’ясовує лінійну залежність між входом і виходом. Наприклад: “A” як вхід і “b” як вихід, лінійною функцією буде b = k * a + c.
Що таке вектори підтримки
Вектори підтримки - це точки даних, які допомагають нам оптимізувати гіперплан. Ці вектори лежать найближче до гіперплану і їх найважче класифікувати. Положення гіперплощини рішення залежить від векторів опори. Якщо ці опорні вектори видалити, то це також змінить положення гіперплощини.
Машина опорних векторів (SVM) використовує вхідні точки даних або функції, звані векторами підтримки, щоб максимізувати межі прийняття рішень, тобто простір навколо гіперплощини. Входи та виходи SVM подібні до нейронної мережі. Існує лише одна різниця між SVM і NN, як зазначено нижче.
Входи: Мережа SVM може містити n кількість входів, наприклад xодин, хдва, …… .., xi,…., Xп.
Виходи: Цільовий вихід t.
Ваги: Подібно до ваг нейронної мережі wодин, вдва, ……, вппов'язані з кожним входом, лінійна комбінація якого передбачає вихід y.
Різниця між SVM та нейронними мережами
Синаптичні ваги в нейронних мережах усуваються для обчислення вихідної потужності мережі, тоді як у SVM ненульові ваги зменшуються або усуваються для обчислення границі оптимального рішення.
З усуненням ваг це призведе до зменшення набору вхідних даних до декількох важливих вхідних функцій, які допоможуть у визначенні розділюваної гіперплощини.
Як працює апарат векторної підтримки
Як ми знаємо, метою машин векторної підтримки є максимізація запасу між класифікованими точками даних. Це принесе більш оптимальні результати для класифікації нових наборів нетренованих даних. Таким чином, це може бути досягнуто, якщо гіперплан знаходиться в положенні, де запас максимально можливий.
Давайте подивимось приклад лінійно розділених точок даних:
Крок 1: Знайдіть правильну гіперплощину з різних можливостей: Щоб визначити найкращу гіперплощину, з’ясуйте усі можливі площини, які ділять дані, а потім з них виберіть ту, яка найкраще класифікує вхідні набори даних. На графіку нижче є три можливості гіперплощини. Гіперплощина 3 краще ділить точки даних.
Крок 2: Виберіть гіперплощину, що має максимальне поле між найближчими точками даних: Поле визначається як відстань між гіперплощиною та найближчими точками даних. Отже, оптимально мати максимальний запас. Коли 2 або більше 2 гіперпланів класифікують дані однаково, тоді з’ясуйте запас.
Вибрано гіперплощину з максимальним запасом. На малюнку нижче гіперплан 2.1.2.2 і 2.3 розділяє точки даних, але гіперплан 2.2 має максимальний запас.
Крок 3: Коли присутні відхилення: Викиди - це точки даних, які відрізняються від набору точок даних. У випадку з 2 наборами точок даних, може бути присутній відхилення. SVM ігнорує такі викиди в даних, а потім знаходить гіперплощину максимального запасу.
Крок 4: У випадку нелінійно розділених точок даних, SVM використовує трюк ядра. Він перетворить нелінійно відокремлювану площину на відокремлювану панель шляхом введення нового виміру. Прийоми ядра - це складні математичні рівняння, які виконують складні перетворення даних для оптимізації гіперплощини.
На малюнку нижче показані нелінійно відокремлювані точки даних, які потім перетворюються у велику розмірність за допомогою площини z. Гіперплощиною, що розділяє два набори даних, є коло.
Як оптимізувати положення гіперплану
Положення гіперплощини оптимізується за допомогою алгоритмів оптимізації.
Параметр SVM: ядро
Побудова оптимізованої гіперплощини в нелінійно відокремлюваній задачі виконується за допомогою ядер. Ядра - це математичні функції, які перетворюють складну задачу за допомогою лінійної алгебраїчної форми.
Для лінійного ядра рівняння знаходиться у вигляді:
F (x) = b + сума (ai* (х, хi))
де,
x - нові вхідні дані
хiє опорним вектором
б, аi- коефіцієнти. Ці коефіцієнти оцінюються на етапі навчання алгоритму.
Для складної нелінійно відокремлюваної задачі трюк ядра працює як перетворення нелінійної відокремлюваної проблеми у відокремлювану задачу. Він перетворює складні дані і знаходить спосіб поділу точок даних на результати.
Функції ядра мають багато типів, такі як лінійні, поліноміальні, сигмоподібні, радіальні зсуви, нелінійні та багато інших.
Давайте подивимось використання деяких із вищезазначених функцій ядра:
Функції ядра обчислюють внутрішній добуток 2 входів x, y простору.
# 1) Функція радіального зміщення: Найбільш вживана функція ядра говорить, що для всіх значень, що лежать між x = (-1,1), значення функції дорівнює 1, інакше 0. Для деяких перехоплень говорять xi, значення функції ядра дорівнює 1 для | (xi- h), (xi+ h) | для xiприймається за центр, а 0 - інакше.
# 2) Сигмоїдна функція: Як нейронні мережі, що використовують Sigmoid, функцією ядра для SVM є
# 3) Гіперболічна дотична функція: Оскільки нейронні мережі використовують, функція така
# 4) Гауссова функція ядра: Стан функції Гауссового ядра
# 5) Поліноміальна функція: k (xi, хj) = (xi* хj+1)два
Застосування SVM
До реальних програм SVM належать:
# 1) Класифікація статей за різними категоріями: SVM розмежовує написані тексти та включає їх у різні категорії, такі як Розваги, Здоров'я, Художні статті. Він базується на заздалегідь встановлених порогових значеннях, розрахованих під час навчання SVM.
Якщо порогове значення перетнуте, воно ставиться на категорію. Якщо значення не досягнуто, то для класифікації визначаються нові категорії.
Java копіює 2d-масив в інший масив
# 2) Розпізнавання обличчя: Дане зображення класифікується як зображення обличчя або зображення, не пов’язане з обличчям, шляхом виявлення об’єктів за допомогою пікселів. Зображення розпізнається як обличчя чи обличчя.
# 3) Інформація про здоров'я: SVM використовуються для класифікації пацієнтів на основі їх генів, розпізнавання біологічних закономірностей тощо.
# 4) Виявлення білкової гомології: В обчислювальних медичних науках SVM навчаються тому, як моделюються білкові послідовності. Потім SVM використовується для виявлення гомології білка.
Висновок
У цьому навчальному посібнику з машин векторної підтримки ми дізналися про машини векторної підтримки. Алгоритми SVM - це керовані алгоритми навчання, які використовуються для класифікації двійкових даних та лінійно відокремлюваних даних. Він класифікує точки даних за гіперплощиною з максимальним запасом.
Нелінійні точки даних також можна класифікувати за допомогою машин векторної підтримки, використовуючи трюки ядра. Існує багато застосунків SVM у реальному житті, одне з найпоширеніших - розпізнавання облич та розпізнавання рукописного вводу.
Щасливого читання !!
=> Відвідайте тут ексклюзивну серію машинного навчання
Рекомендована література
- Підручник з машинного навчання: Вступ до ML та його застосування
- Повне керівництво зі штучної нейронної мережі в машинному навчанні
- Видобуток даних проти машинного навчання проти штучного інтелекту проти глибокого навчання
- Типи машинного навчання: Контрольоване проти ненавчаного навчання
- Вступ до генетичних алгоритмів машинного навчання
- 11 Найпопулярніших програмних засобів машинного навчання в 2021 році
- 13 найкращих компаній машинного навчання (Оновлений список 2021)
- Що таке Java Java | Підручник з Java-класу з прикладами