Pitanje:
Kako intuitivno objasniti što je jezgra?
hashkey
2015-05-19 00:43:43 UTC
view on stackexchange narkive permalink

Mnogi klasifikatori strojnog učenja (npr. strojevi s vektorskom podrškom) omogućuju određivanje jezgre. Koji bi bio intuitivan način objašnjavanja što je jezgra?

Jedan od aspekata na koji sam razmišljao je razlika između linearnih i nelinearnih jezgri. Jednostavno rečeno, mogao bih govoriti o 'linearnim funkcijama odlučivanja' i 'nelinearnim funkcijama odlučivanja'. Međutim, nisam siguran je li pozivanje kernela 'funkcija odlučivanja' dobra ideja.

Prijedlozi?

četiri odgovori:
Alexey Grigorev
2015-05-20 12:56:10 UTC
view on stackexchange narkive permalink

Kernel je način izračunavanja točkanog proizvoda dvaju vektora $ \ mathbf x $ i $ \ mathbf y $ u nekom (moguće vrlo visoko dimenzionalnom) prostoru značajki, zbog čega se funkcije jezgre ponekad nazivaju "generalizirani točkasti proizvod" .

Pretpostavimo da imamo mapiranje $ \ varphi \,: \, \ mathbb R ^ n \ u \ mathbb R ^ m $ koje dovodi naše vektore u $ \ mathbb R ^ n $ u neki prostor obilježja $ \ mathbb R ^ m $. Tada je točkasti umnožak $ \ mathbf x $ i $ \ mathbf y $ u ovom prostoru $ \ varphi (\ mathbf x) ^ T \ varphi (\ mathbf y) $. Jezgra je funkcija $ k $ koja odgovara ovom točkovnom proizvodu, tj. $ K (\ mathbf x, \ mathbf y) = \ varphi (\ mathbf x) ^ T \ varphi (\ mathbf y) $.

Zašto je ovo korisno? Jezgre daju način za izračunavanje točkastih proizvoda u nekom prostoru značajki, a da uopće ne znaju što je to prostor, a što $ $ varphi $.

Na primjer, razmotrite jednostavnu polinomsku jezgru $ k (\ mathbf x, \ mathbf y) = (1 + \ mathbf x ^ T \ mathbf y) ^ 2 $ s $ \ mathbf x, \ mathbf y \ in \ mathbb R ^ 2 $. Čini se da ovo ne odgovara nijednoj funkciji mapiranja $ \ varphi $, to je samo funkcija koja vraća stvarni broj. Pod pretpostavkom da su $ \ mathbf x = (x_1, x_2) $ i $ \ mathbf y = (y_1, y_2) $, proširimo ovaj izraz:

$ \ begin {align} k (\ mathbf x, \ mathbf y) & = (1 + \ mathbf x ^ T \ mathbf y) ^ 2 = (1 + x_1 \, y_1 + x_2 \, y_2) ^ 2 = \\ & = 1 + x_1 ^ 2 y_1 ^ 2 + x_2 ^ 2 y_2 ^ 2 + 2 x_1 y_1 + 2 x_2 y_2 + 2 x_1 x_2 y_1 y_2 \ end {align} $

Imajte na umu da ovo nije ništa drugo nego točkasti proizvod između dva vektora $ (1, x_1 ^ 2, x_2 ^ 2, \ sqrt {2} x_1, \ sqrt {2} x_2, \ sqrt {2} x_1 x_2) $ i $ (1, y_1 ^ 2, y_2 ^ 2, \ sqrt {2} y_1 , \ sqrt {2} y_2, \ sqrt {2} y_1 y_2) $ i $ \ varphi (\ mathbf x) = \ varphi (x_1, x_2) = (1, x_1 ^ 2, x_2 ^ 2, \ sqrt { 2} x_1, \ sqrt {2} x_2, \ sqrt {2} x_1 x_2) $. Dakle, kernel $ k (\ mathbf x, \ mathbf y) = (1 + \ mathbf x ^ T \ mathbf y) ^ 2 = \ varphi (\ mathbf x) ^ T \ varphi (\ mathbf y) $ izračunava točku proizvod u 6-dimenzionalnom prostoru bez eksplicitnog posjećivanja tog prostora.

Drugi primjer je Gaussova jezgra $ k (\ mathbf x, \ mathbf y) = \ exp \ big (- \ gamma \, \ | \ mathbf x - \ mathbf y \ | ^ 2 \ big) $. Ako Taylor proširimo ovu funkciju, vidjet ćemo da ona odgovara beskonačno-dimenzionalnoj šifri $ \ varphi $.

Napokon, preporučio bih mrežni tečaj "Učenje iz podataka " profesora Yaser Abu-Mostafe kao dobar uvod u metode zasnovane na jezgri. Točnije, predavanja "Podržavaju vektorske strojeve", "Metode jezgre" i "Funkcije radijalne osnove" govore o jezgri.

Trenutna definicija oznake: "Intuitivno: pitanja koja traže konceptualno ili nematematsko razumijevanje statistike."Nema jasne naznake tretira li se pojmovno kao sinonim ne-matematičkog.
Vladislavs Dovgalecs
2015-05-19 01:52:43 UTC
view on stackexchange narkive permalink

Vrlo jednostavan i intuitivan način razmišljanja o jezgri (barem za SVM-ove) je funkcija sličnosti. S obzirom na dva objekta, jezgra daje neku ocjenu sličnosti. Objekti mogu biti bilo što, počevši od dvije cjelobrojne vrijednosti, dva stvarno vrijedna vektora, stabla, sve pod uvjetom da funkcija jezgre zna kako ih usporediti.

Argumentirano najjednostavniji primjer je linearni kernel, koji se naziva i točkasti proizvod. S obzirom na dva vektora, sličnost je duljina projekcije jednog vektora na drugi.

Još jedan zanimljiv primjer jezgre je Gaussova jezgra. S obzirom na dva vektora, sličnost će se smanjivati ​​s radijusom $ \ sigma $. Ovaj parametar radijusa "umanjuje" udaljenost između dva objekta.

Uspjeh učenja s jezgrom (opet, barem za SVM-ove), jako ovisi o izboru jezgre. Jezgro možete vidjeti kao kompaktni prikaz znanja o vašem problemu klasifikacije. Vrlo je često specifičan za problem.

Ne bih zvao jezgru funkcijom odlučivanja jer se jezgra koristi unutar funkcije odlučivanja. Dajući točku podataka za klasifikaciju, funkcija odlučivanja koristi jezgru uspoređujući tu točku podataka s brojnim vektorima podrške ponderiranim naučenim parametrima $ \ alpha $. Vektori potpore nalaze se u domeni te podatkovne točke i uz naučene parametre $ \ alpha $ pronalazi algoritam učenja.

Točkasti proizvod i projekcija nisu posve identični.
U slučaju SVM-a, vjerujem da su jezgre mjere udaljenosti u različitim prostorima.To je u skladu s idejom da SVM generalizira klasifikator vektora potpore.Općenito, jezgre mogu biti složenije.
Xavier Bourret Sicotte
2018-07-08 15:21:04 UTC
view on stackexchange narkive permalink

Vizualni primjer za pomoć intuiciji

Uzmite u obzir sljedeći skup podataka gdje se žute i plave točke očito ne mogu linearno razdvojiti u dvije dimenzije.

enter image description here

Ako bismo mogli pronaći prostor veće dimenzije u kojem su te točke bile linearno odvojive, onda bismo mogli učiniti sljedeće:

  • Mapirajte izvorne značajke u viši prostor transformatora (mapiranje značajki)
  • Izvedite linearni SVM u ovom višem prostoru
  • Nabavite skup pondera koji odgovaraju hiper ravnini granice odluke
  • Mapirajte ovu hiper ravninu natrag u izvorni 2D prostor da biste dobili nelinearnu granicu odluke

Postoje mnogi prostori viših dimenzija u kojima su ove točke linearno odvojive. Evo jednog primjera

$$ x_1, x_2: \ rightarrow z_1, z_2, z_3 $$ $$ z_1 = \ sqrt {2} x_1x_2 \ \ z_2 = x_1 ^ 2 \ \ z_3 = x_2 ^ 2 $$

Tu dolazi do izražaja trik Kernel. Citiranje gornjih sjajnih odgovora

Pretpostavimo da imamo mapiranje $ \ varphi \,: \, \ mathbb R ^ n \ u \ mathbb R ^ m $ koje dovodi naše vektore u $ \ mathbb R ^ n $ do nekog prostora značajki $ \ mathbb R ^ m $ . Tada je točkasti proizvod $ \ mathbf x $ i $ \ mathbf y $ u ovom prostoru $ \ varphi (\ mathbf x) ^ T \ varphi (\ mathbf y) $ . Kernel je funkcija $ k $ koja odgovara ovom točkasti proizvod, tj. $ k (\ mathbf x, \ mathbf y ) = \ varphi (\ mathbf x) ^ T \ varphi (\ mathbf y) $

Ako bismo mogli pronaći funkciju jezgre koja je ekvivalentna gornjoj mapi značajki, tada bismo funkciju jezgre mogli uključiti u linearni SVM i vrlo učinkovito izvoditi izračune.

Polinomska jezgra

Ispada da gornja mapa značajki odgovara dobro poznatom polynomial kernel: $ K (\ mathbf {x}, \ mathbf {x '}) = (\ mathbf { x} ^ T \ mathbf {x '}) ^ d $ . Neka $ d = 2 $ i $ \ mathbf {x} = (x_1, x_2) ^ T $ dobivamo

\ početak {usklađeno} k (\ begin {pmatrix} x_1 \\ x_2 \ end {pmatrix}, \ begin {pmatrix} x_1 '\\ x_2' \ end {pmatrix}) & = (x_1x_1 '+ x_2x_2') ^ 2 \\ & = 2x_1x_1'x_2x_2 '+ (x_1x_1') ^ 2 + (x_2x_2 ') ^ 2 \\ & = (\ sqrt {2} x_1x_2, \ x_1 ^ 2, \ x_2 ^ 2) \ \ početak {pmatrix} \ sqrt {2} x_1'x_2 '\\ x_1' ^ 2 \\ x_2 '^ 2 \ end { pmatrix} \ kraj {poravnato}

$$ k (\ begin {pmatrix} x_1 \\ x_2 \ end {pmatrix}, \ begin {pmatrix} x_1 '\\ x_2' \ end {pmatrix}) = \ phi (\ mathbf {x}) ^ T \ phi (\ mathbf {x '}) $$

$$ \ phi (\ begin {pmatrix} x_1 \\ x_2 \ end {pmatrix}) = \ begin {pmatrix} \ sqrt {2} x_1x_2 \\ x_1 ^ 2 \\ x_2 ^ 2 \ end {pmatrix} $$

Vizualizacija karte značajki i rezultirajuće granične crte

  • Grafikon s lijeve strane prikazuje točke ucrtane u transformirani prostor zajedno sa SVM linearnom graničnom hiper ravninom
  • Desna grafika prikazuje rezultat u izvornom 2-D prostoru

enter image description here


Izvor

"f mogli bismo pronaći prostor veće dimenzije u kojem su se te točke linearno odvojile" Zašto ne uzeti prostor niže dimenzije, na pr.radijus točaka?
Da, to bi možda moglo uspjeti - slobodno objavite odgovor s odrađenim primjerom mapiranja jezgre u nižu dimenziju.Bio bih znatiželjan da to vidim!
Sigurno će raditi s preslikavanjem z = x ^ 2 + y ^ 2, a budući da je ovo čak niže dimenzije od izvornih podataka, upotreba pogleda jezgre ne bi imala smisla.Stoga vaš primjer zapravo ne motivira upotrebu jezgri.Ali to obično shvatim, ne vidimo tako lako, koje nelinearno mapiranje koristiti.
Nikos M.
2015-05-22 09:13:25 UTC
view on stackexchange narkive permalink

Vrlo jednostavno (ali točno) jezgra je faktor vaganja između dviju sekvenci podataka. Ovaj faktor vaganja može dodijeliti veću težinu jednoj " točki podataka " u jednoj " vremenskoj točki " od druge " točke podataka " ili dodijeliti jednaku težinu ili dodijelite veću težinu drugoj " točki podataka " i tako dalje.

Na ovaj način korelacija ( točkasti proizvod ) može u nekim točkama dodijeliti veću "važnost" od drugih i tako se nositi s nelinearnostima (npr. neravni prostori ), dodatne informacije, izravnavanje podataka i tako dalje.

Na još jedan način jezgra je način promjene relativnih dimenzija (ili dimenzijske jedinice ) dviju sekvenci podataka kako bi se nosile sa gore spomenutim stvarima.

Na treći način (vezan uz prethodne dvije), kernal je način za mapiranje ili projektiranje jednog niza podataka na drugi na način 1 prema 1 uzimajući u obzir dane podatke ili kriterije (npr. zakrivljeni prostor, nedostaje podaci, ponovno naručivanje podataka i tako dalje). Tako se na primjer dano jezgro može rastegnuti ili smanjiti ili obrezati ili saviti jedan slijed podataka kako bi se uklopio ili preslikati 1 na 1 na drugu.

Kernel može djelovati poput Prokrusta kako bi se " najbolje uklopio "

Mislim da možda govorite o jezgri u smislu procjene gustoće jezgre, a ne o pozitivno-semidefinitnim Mercerovim jezgrama koja se koriste u SVM-ima i srodnim metodama.
@Dougal, u smislu ovog odgovora kernel je funkcija vaganja ili mjera koja se koristi za korelaciju podataka na specifičan način ili za iskorištavanje određenih značajki podataka, tako da su pokrivene i metode SVM kernela


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...