Podstawy AI
Co to sÄ Maszyny Wektorowe WspierajÄ ce?
Co to sÄ Maszyny Wektorowe WspierajÄ ce?
Maszyny wektorowe wspierajÄ ce sÄ rodzajem klasyfikatora uczenia maszynowego, byÄ moÅže jednym z najpopularniejszych rodzajÃģw klasyfikatorÃģw. Maszyny wektorowe wspierajÄ ce sÄ szczegÃģlnie przydatne do zadania predykcji numerycznej, klasyfikacji i rozpoznawania wzorcÃģw.
Maszyny wektorowe wspierajÄ ce dziaÅajÄ poprzez rysowanie granic decyzyjnych miÄdzy punktami danych, dÄ ÅžÄ c do granicy decyzyjnej, ktÃģra najlepiej separuje punkty danych na klasy (lub jest najbardziej ogÃģlna). Celem podczas korzystania z maszyny wektorowej wspierajÄ cej jest to, aby granica decyzyjna miÄdzy punktami byÅa jak najwiÄksza, tak aby odlegÅoÅÄ miÄdzy dowolnym punktem danych a liniÄ granicznÄ byÅa maksymalna. To jest szybkie wyjaÅnienie, jak maszyny wektorowe wspierajÄ ce (SVM) dziaÅajÄ , ale pozwÃģlmy siÄgnÄ Ä gÅÄbiej w to, jak SVM dziaÅajÄ i zrozumieÄ logikÄ ich dziaÅania.
Cel Maszyn Wektorowych WspierajÄ cych
WyobraÅš sobie wykres z pewnÄ liczbÄ punktÃģw danych, opartych na cechach okreÅlonych przez osie X i Y. Punkty danych na wykresie moÅžna luÅšno podzieliÄ na dwie rÃģÅžne grupy, a grupa, do ktÃģrej naleÅžy punkt danych, wskazuje klasÄ punktu danych. ZaÅÃģÅžmy, Åže chcemy narysowaÄ liniÄ na wykresie, ktÃģra separuje dwie klasy od siebie, z wszystkimi punktami danych w jednej klasie po jednej stronie linii i wszystkimi punktami danych naleÅžÄ cymi do innej klasy po drugiej stronie linii. Ta separujÄ ca linia jest znana jako hiperpÅaszczyzna.
MoÅžna myÅleÄ o maszynie wektorowej wspierajÄ cej jako o tworzeniu âdrÃģgâ w caÅym mieÅcie, separujÄ c miasto na dzielnice po obu stronach drogi. Wszystkie budynki (punkty danych) po jednej stronie drogi naleÅžÄ do jednej dzielnicy.

Cel maszyny wektorowej wspierajÄ cej nie jest tylko rysowanie hiperpÅaszczyzn i separowanie punktÃģw danych, ale rysowanie hiperpÅaszczyzny, ktÃģra separuje punkty danych z najwiÄkszym marginesem, czyli z najwiÄkszÄ przestrzeniÄ miÄdzy liniÄ dzielÄ cÄ a dowolnym punktem danych. WracajÄ c do metafory âdrÃģgâ, jeÅli planista miasta tworzy plany autostrady, nie chce, aby autostrada byÅa zbyt blisko domÃģw lub innych budynkÃģw. Im wiÄkszy margines miÄdzy autostradÄ a budynkami po obu stronach, tym lepiej. Im wiÄkszy ten margines, tym bardziej âpewnyâ moÅže byÄ klasyfikator co do swoich predykcji. W przypadku klasyfikacji binarnej rysowanie prawidÅowej hiperpÅaszczyzny oznacza wybÃģr hiperpÅaszczyzny, ktÃģra jest dokÅadnie w Årodku dwÃģch rÃģÅžnych klas. JeÅli granica decyzyjna/hiperpÅaszczyzna jest dalej od jednej klasy, bÄdzie bliÅžej innej. Dlatego hiperpÅaszczyzna musi balansowaÄ margines miÄdzy dwiema rÃģÅžnymi klasami.
Obliczanie SeparujÄ cej HiperpÅaszczyzny
Jak maszyna wektorowa wspierajÄ ca okreÅla najlepszÄ separujÄ cÄ hiperpÅaszczyznÄ/granicÄ decyzyjnÄ ? To jest osiÄ gane poprzez obliczanie moÅžliwych hiperpÅaszczyzn przy uÅžyciu matematycznego wzoru. Nie bÄdziemy omawiaÄ wzoru na obliczanie hiperpÅaszczyzn w ekstremalnym szczegÃģle, ale linia jest obliczana za pomocÄ sÅynnego wzoru nachylenia/linii:
Y = ax + b
Podczas gdy linie skÅadajÄ siÄ z punktÃģw, co oznacza, Åže kaÅžda hiperpÅaszczyzna moÅže byÄ opisana jako: zestaw punktÃģw, ktÃģre biegnÄ rÃģwnolegle do proponowanej hiperpÅaszczyzny, okreÅlonej przez wagi modelu pomnoÅžone przez zestaw cech modyfikowanych przez okreÅlony przesuniÄcie/przesuniÄcie (âdâ).
Maszyny wektorowe wspierajÄ ce rysujÄ wiele hiperpÅaszczyzn. Na przykÅad linia graniczna jest jednÄ hiperpÅaszczyznÄ , ale punkty danych, ktÃģre klasyfikator uwzglÄdnia, rÃģwnieÅž znajdujÄ siÄ na hiperpÅaszczyznach. WartoÅci x sÄ okreÅlane na podstawie cech w zbiorze danych. Na przykÅad, jeÅli miaÅbyÅ zestaw danych z wysokoÅciami i wagami wielu ludzi, âwysokoÅÄâ i âwagaâ byÅyby cechami uÅžywanymi do obliczania âxâ. Marginesy miÄdzy proponowanÄ hiperpÅaszczyznÄ a rÃģÅžnymi âwektorami wspierajÄ cymiâ (punktami danych) znajdujÄ cymi siÄ po obu stronach linii granicznej sÄ obliczane za pomocÄ nastÄpujÄ cego wzoru:
W * X â b
Podczas gdy moÅžesz przeczytaÄ wiÄcej o matematyce za maszynami wektorowymi wspierajÄ cymi, jeÅli szukasz bardziej intuicyjnego zrozumienia ich, po prostu wiedz, Åže celem jest maksymalizacja odlegÅoÅci miÄdzy proponowanÄ separujÄ cÄ hiperpÅaszczyznÄ /liniÄ granicznÄ a innymi hiperpÅaszczyznami, ktÃģre biegnÄ rÃģwnolegle do niej (i na ktÃģrych znajdujÄ siÄ punkty danych).

ZdjÄcie: ZackWeinberg via Wikimedia Commons, CC BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Svm_separating_hyperplanes_(SVG).svg)
Klasyfikacja Wieloklasowa
Proces opisany dotychczas dotyczy zadaÅ klasyfikacji binarnej. Jednak klasyfikatory SVM mogÄ byÄ rÃģwnieÅž uÅžywane do zadaÅ klasyfikacji niebinarnej. Podczas korzystania z klasyfikatora SVM na zestawie danych z trzema lub wiÄcej klasami, uÅžywane sÄ dodatkowe linie graniczne. Na przykÅad, jeÅli zadanie klasyfikacji ma trzy klasy zamiast dwÃģch, uÅžywane sÄ dwie linie graniczne do podziaÅu punktÃģw danych na klasy, a region, ktÃģry skÅada siÄ z jednej klasy, znajduje siÄ miÄdzy dwiema liniami granicznymi zamiast jednej. Zamiast obliczania odlegÅoÅci miÄdzy tylko dwiema klasami a granicÄ decyzyjnÄ , klasyfikator musi uwzglÄdniÄ marginesy miÄdzy granicami decyzyjnymi a wieloma klasami w zestawie danych.
Nieliniowe Separacje
Proces opisany powyÅžej dotyczy przypadkÃģw, w ktÃģrych dane sÄ liniowo separowalne. ZwrÃģÄ uwagÄ, Åže w rzeczywistoÅci zestawy danych sÄ prawie nigdy caÅkowicie liniowo separowalne, co oznacza, Åže podczas korzystania z klasyfikatora SVM czÄsto bÄdziesz musiaÅ uÅžyÄ dwÃģch rÃģÅžnych technik: miÄkkiej granicy i sztuczek jÄ dra. RozwaÅž sytuacjÄ, w ktÃģrej punkty danych rÃģÅžnych klas sÄ pomieszane, z niektÃģrymi przypadkami naleÅžÄ cymi do jednej klasy w âklasterzeâ innej klasy. Jak moÅžna by nakazaÄ klasyfikatorowi obsÅuÅžyÄ te przypadki?
JednÄ taktykÄ , ktÃģra moÅže byÄ uÅžyta do obsÅuÅženia nieliniowo separowalnych zestawÃģw danych, jest zastosowanie âmiÄkkiej granicyâ klasyfikatora SVM. Klasyfikator o miÄkkiej granicy dziaÅa poprzez akceptacjÄ kilku bÅÄdnie sklasyfikowanych punktÃģw danych. BÄdzie prÃģbowaÅ narysowaÄ liniÄ, ktÃģra najlepiej separuje klastry punktÃģw danych od siebie, poniewaÅž zawierajÄ one wiÄkszoÅÄ przypadkÃģw naleÅžÄ cych do ich odpowiednich klas. Klasyfikator SVM o miÄkkiej granicy prÃģbuje stworzyÄ liniÄ granicznÄ , ktÃģra balansuje dwa wymagania klasyfikatora: dokÅadnoÅÄ i margines. BÄdzie prÃģbowaÅ minimalizowaÄ bÅÄdne klasyfikacje, jednoczeÅnie maksymalizujÄ c margines.
CierpliwoÅÄ klasyfikatora SVM wobec bÅÄdÃģw moÅže byÄ dostosowana poprzez manipulacjÄ hiperparametrem o nazwie âCâ. WartoÅÄ C kontroluje, ile wektorÃģw wspierajÄ cych klasyfikator uwzglÄdnia przy rysowaniu granic decyzyjnych. WartoÅÄ C jest karÄ nakÅadanÄ na bÅÄdne klasyfikacje, co oznacza, Åže im wiÄksza wartoÅÄ C, tym mniej wektorÃģw wspierajÄ cych klasyfikator uwzglÄdnia i tym wÄÅžszy margines.

Sztuczka jÄ dra przeksztaÅca dane w nieliniowy sposÃģb. ZdjÄcie: Shiyu Ju via Wikmedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Kernel_trick_idea.svg)
Sztuczka jÄ dra dziaÅa poprzez aplikowanie nieliniowych transformacji do cech w zestawie danych. Sztuczka jÄ dra bierze istniejÄ ce cechy w zestawie danych i tworzy nowe cechy poprzez aplikacjÄ nieliniowych funkcji matematycznych. Co wynika z aplikacji tych nieliniowych transformacji, jest nieliniowa granica decyzyjna. PoniewaÅž klasyfikator SVM nie jest juÅž ograniczony do rysowania liniowych granic decyzyjnych, moÅže zaczÄ Ä rysowaÄ zakrzywione granice decyzyjne, ktÃģre lepiej oddajÄ prawdziwy rozkÅad wektorÃģw wspierajÄ cych i minimalizujÄ bÅÄdne klasyfikacje. Dwa najpopularniejsze nieliniowe jÄ dra SVM to Funkcja Radialna i Wielomianowa. Funkcja wielomianowa tworzy wielomianowe kombinacje wszystkich istniejÄ cych cech, podczas gdy funkcja radialna generuje nowe cechy poprzez pomiar odlegÅoÅci miÄdzy centralnym punktem/punktami a wszystkimi innymi punktami.












