Obmedzenie je základnou súčasťou procesu optimalizácie podporných vektorových strojov (SVM), populárnej a výkonnej metódy v oblasti strojového učenia pre klasifikačné úlohy. Toto obmedzenie hrá dôležitú úlohu pri zabezpečovaní toho, aby model SVM správne klasifikoval body tréningových údajov a zároveň maximalizoval rozpätie medzi rôznymi triedami. Aby sme plne ocenili význam tohto obmedzenia, je nevyhnutné zvážiť mechaniku SVM, geometrickú interpretáciu obmedzenia a jeho dôsledky pre problém optimalizácie.
Cieľom Support Vector Machines je nájsť optimálnu nadrovinu, ktorá oddeľuje dátové body rôznych tried s maximálnou rezervou. Nadrovina v n-rozmernom priestore je definovaná rovnicou , Kde
je vektor hmotnosti normálny k nadrovine,
je vektor vstupného znaku a
je termín zaujatosti. Cieľom je klasifikovať dátové body tak, že body z jednej triedy ležia na jednej strane nadroviny a body z druhej triedy na opačnej strane.
Obmedzenie zabezpečuje, že každý dátový bod
je správne klasifikovaný a leží na správnej strane okraja. Tu,
predstavuje označenie triedy i-tého dátového bodu s
pre jednu triedu a
pre druhú triedu. Termín
je rozhodovacia funkcia, ktorá určuje polohu dátového bodu vzhľadom na nadrovinu.
Aby ste pochopili geometrickú interpretáciu, zvážte nasledujúce:
1. Pozitívne a negatívne oddelenie tried: Pre dátový bod patriaci do pozitívnej triedy (
), obmedzenie
zjednodušuje
. To znamená, že dátový bod
musí ležať na alebo mimo hranice okraja definovanej v
. Podobne pre dátový bod
patriaci do negatívnej triedy (
), obmedzenie sa zjednodušuje na
, čím sa zabezpečí, že údajový bod leží na alebo mimo hranice okraja definovanej pomocou
.
2. Maximalizácia marže: Okraj je vzdialenosť medzi nadrovinou a najbližšími dátovými bodmi z ktorejkoľvek triedy. Obmedzenia zaisťujú maximalizáciu rozpätia posunutím údajových bodov čo najďalej od nadroviny pri zachovaní správnej klasifikácie. Vzdialenosť od bodu k nadrovine je daný tým
. Presadzovaním obmedzení
Algoritmus SVM efektívne maximalizuje túto vzdialenosť, čo vedie k väčšej rezerve a lepšiemu výkonu zovšeobecnenia.
3. Podporné vektory: Dátové body, ktoré ležia presne na hraniciach okrajov a
sa nazývajú podporné vektory. Tieto body sú rozhodujúce pri definovaní optimálnej nadroviny, pretože sú najbližšie k nadrovine a priamo ovplyvňujú jej polohu a orientáciu. Obmedzenia zabezpečujú, že tieto podporné vektory sú správne klasifikované a ležia na hraniciach okrajov, čím zohrávajú kľúčovú úlohu v optimalizačnom probléme.
Optimalizačný problém pre SVM možno formulovať ako konvexný optimalizačný problém, kde cieľom je minimalizovať normu váhového vektora. (čo je ekvivalentné maximalizácii marže) s výhradou obmedzení
pre všetky tréningové dátové body. Matematicky sa to dá vyjadriť takto:
Faktor je zahrnutá pre matematické pohodlie pri výbere derivácie počas optimalizácie. Táto formulácia je známa ako primárna forma problému optimalizácie SVM.
Na vyriešenie tohto optimalizačného problému sa zvyčajne používajú techniky konvexnej optimalizácie, ako sú Lagrangeove multiplikátory. Zavedením Lagrangeových multiplikátorov pre každé obmedzenie môže byť optimalizačný problém transformovaný do jeho duálnej podoby, ktorá je často ľahšie riešiteľná, najmä pri práci s vysokorozmernými dátami. Duálna forma problému optimalizácie SVM je daná:
kde je počet tréningových dátových bodov a
je regularizačný parameter, ktorý riadi kompromis medzi maximalizáciou marže a minimalizáciou klasifikačnej chyby na tréningových dátach.
Dvojitá formulácia využíva trik s jadrom, ktorý umožňuje SVM spracovávať nelineárne oddeliteľné údaje mapovaním vstupných údajov do priestoru funkcií s vyššou dimenziou, kde je možné lineárne oddelenie. Dosahuje sa to prostredníctvom funkcií jadra, ako je polynomické jadro, jadro s radiálnou bázovou funkciou (RBF) a sigmoidné jadro, ktoré implicitne vypočítavajú bodový súčin vo vyššie dimenzionálnom priestore bez explicitného vykonania transformácie.
Vyriešením problému duálnej optimalizácie sa získajú optimálne Lagrangeove multiplikátory , pomocou ktorého možno určiť optimálny vektor hmotnosti
a zaujatosť
. Podporné vektory zodpovedajú dátovým bodom s nenulovými Lagrangeovými multiplikátormi a rozhodovacej funkcii na klasifikáciu nových dátových bodov
je daný:
Obmedzenie je teda integrálnou súčasťou procesu optimalizácie SVM a zabezpečuje, že model dosiahne rovnováhu medzi správnou klasifikáciou trénovacích údajov a maximalizáciou rezervy, čo vedie k lepšiemu zovšeobecneniu neviditeľných údajov.
Na ilustráciu významu tohto obmedzenia na príklade zvážte jednoduchý problém binárnej klasifikácie s dvojrozmernými dátovými bodmi. Predpokladajme, že máme nasledujúce tréningové údaje:
Cieľom je nájsť optimálnu nadrovinu, ktorá oddeľuje kladnú triedu () z negatívnej triedy (
). Obmedzenia pre tento problém možno zapísať takto:
Vyriešením problému optimalizácie SVM s týmito obmedzeniami získame optimálny vektor hmotnosti a zaujatosť
ktoré definujú nadrovinu oddeľujúcu dve triedy s maximálnym rozpätím.
Obmedzenie je dôležitý pre proces optimalizácie SVM, pretože zaisťuje správnu klasifikáciu bodov tréningových údajov a zároveň maximalizuje rozpätie medzi rôznymi triedami. To vedie k lepšiemu výkonu zovšeobecnenia a robustnosti modelu SVM.
Ďalšie nedávne otázky a odpovede týkajúce sa Strojové učenie EITC/AI/MLP s Pythonom:
- Ako sa vypočíta parameter b v lineárnej regresii (prierez y najlepšie vyhovujúcej čiary)?
- Akú úlohu zohrávajú podporné vektory pri definovaní rozhodovacej hranice SVM a ako sa identifikujú počas tréningového procesu?
- Aký je význam váhového vektora „w“ a odchýlky „b“ v kontexte optimalizácie SVM a ako sa určujú?
- Aký je účel metódy „vizualizovať“ v implementácii SVM a ako pomáha pochopiť výkon modelu?
- Ako metóda „predpovedať“ v implementácii SVM určuje klasifikáciu nového údajového bodu?
- Čo je hlavným cieľom stroja na podporu vektorov (SVM) v kontexte strojového učenia?
- Ako možno použiť knižnice, ako napríklad scikit-learn, na implementáciu klasifikácie SVM v Pythone a aké kľúčové funkcie sú zahrnuté?
- Čo je cieľom problému optimalizácie SVM a ako je matematicky formulovaný?
- Ako závisí klasifikácia množiny prvkov v SVM od znamienka rozhodovacej funkcie (text{sign}(mathbf{x}_i cdot mathbf{w} + b))?
- Aká je úloha rovnice nadroviny (mathbf{x} cdot mathbf{w} + b = 0) v kontexte podporných vektorových strojov (SVM)?
Pozrite si ďalšie otázky a odpovede v časti EITC/AI/MLP Machine Learning with Python