V posledních letech se jádrovým metodám dostalo velké pozornosti, zejména kvůli zvýšené popularitě podpůrných vektorových strojů. Funkce jádra mohou být použity v mnoha aplikacích, protože poskytují jednoduchý most od linearity k nelinearitě pro algoritmy, které lze vyjádřit jako dot produkty. V tomto článku uvedeme několik funkcí jádra a některé jejich vlastnosti.
- zkontrolujte zdrojový kód pro všechny funkce jádra zde.
mnoho z těchto funkcí bylo začleněno do Accord.NET, rámec pro vytváření strojového učení, statistik a aplikací počítačového vidění.
- Obsah
- Jádro Metody
- trik jádra
- vlastnosti jádra
- Výběr správného Jádra
- funkce jádra
- 1. Lineární Jádra
- 2. Polynomiální jádro
- 3. Gaussovské jádro
- 4. Exponenciální jádro
- 5. Laplaciánské jádro
- 6. Anova jádro
- 7. Hyperbolické tečné (sigmoidní) jádro
- 8. Racionální kvadratické jádro
- 9. Multiquadric jádro
- 10. Inverzní Multiquadric jádro
- 11. Kruhové jádro
- 12. Sférické jádro
- 13. Vlnové jádro
- 14. Power Kernel
- 15. Log jádro
- 16. Jádro spline
- 17. B-Spline (Radial Basis Function) jádro
- 18. Besselovo jádro
- 19. Jádro Cauchy
- 20. Chi-Square Kernel
- 21. Histogram průsečík jádro
- 22. Generalizovaný průsečík histogramu
- 23. Zobecněné T-Student Jádra
- 24. Bayesovské Jádra
- 25. Wavelet Jádra
- zdrojový kód
- Viz také
- citovat tuto práci
Obsah
- Metody Jádra,
- Jádro Trik
- Jádro Vlastnosti
- Výběr správného Jádra
- Funkce Jádra
- Lineární Jádra
- Polynom Jádra
- Gaussovské Jádro
- Exponenciální Jádra
- Laplaceova Jádra
- ANOVA Jádra
- Hyperbolický Tangens (Sigmoid) Jádra
- Racionální Kvadratické Jádra
- Multiquadric Jádra
- Inverzní Multiquadric Jádra
- Kruhový Jádra
- Sférická Jádra
- Vlna Jádra
- Napájení Jádra
- Log Jádra
- Spline Jádra
- B-Spline Jádra
- Besselovy Jádra
- Cauchyova Jádra
- Chi-Square Jádra
- Histogram Intersection Kernel
- Generalizované Histogram Intersection Kernel
- Zobecněné T-Student Jádra
- Bayesovské Jádra
- Wavelet Jádra
- Zdrojový kód
- Viz také
Jádro Metody
Jádro metody jsou třída algoritmů pro analýzu modelu nebo uznání, jehož nejznámější součástí je support vector machine (SVM). Obecným úkolem vzor analýzy je najít a studovat obecné typy vztahů (např. klastry, žebříčky, hlavní komponenty, korelace, klasifikace) v obecné typy dat (například sekvence, textové dokumenty, soubory bodů, vektorů, obrázky, grafy, atd.) (Wikipedia, 2010a).
hlavní charakteristikou metod jádra je však jejich odlišný přístup k tomuto problému. Metody jádra mapují data do vyšších dimenzionálních prostorů v naději, že v tomto vyšším rozměrovém prostoru by se data mohla snadněji oddělit nebo lépe strukturovat. Neexistují také žádná omezení na formu tohoto mapování, která by mohla dokonce vést k nekonečně rozměrným prostorům. Tuto mapovací funkci však není třeba počítat kvůli nástroji zvanému trik jádra.
trik jádra
trik jádra je velmi zajímavý a výkonný nástroj. Je silný, protože poskytuje můstek od linearity k nelinearitě jakémukoli algoritmu, který lze vyjádřit pouze na základě bodů mezi dvěma vektory. To vychází ze skutečnosti, že, pokud jsme se nejprve zmapovat naše vstupní data do vyšší dimenzionální prostor, lineární algoritmus pracující v tomto prostoru se bude chovat nelineárně, v originálním vstupním prostoru.
nyní je trik jádra opravdu zajímavý, protože toto mapování nemusí být nikdy vypočítáno. Pokud náš algoritmus lze vyjádřit pouze jako vnitřní produkt mezi dvěma vektory, vše, co potřebujeme, je nahradit tento vnitřní produkt vnitřním produktem z jiného vhodného prostoru. To je místo, kde sídlí „trik“: tam, kde je použit produkt dot, je nahrazen funkcí jádra. Jádro funkce označuje skalární součin funkce v prostoru a je obvykle označován jako:
K(x,y) = <φ(x),φ(y)>
Pomocí jádrové funkce, algoritmus pak může být provedena do vyšší dimenze prostoru, aniž by výslovně mapování vstupních bodů do tohoto prostoru. To je velmi žádoucí, protože někdy náš vyšší rozměrný prostor může být dokonce nekonečně dimenzionální,a proto nelze vypočítat.
vlastnosti jádra
funkce jádra musí být spojité, symetrické a nejvýhodněji by měly mít kladnou (Polo) definitivní gramovou matici. Jádra, o nichž se říká, že splňují Mercerovu větu, jsou pozitivní semi-definitivní, což znamená, že jejich matice jádra mají pouze nezáporné hodnoty Eigen. Použití pozitivního určitého jádra zajišťuje, že optimalizační problém bude konvexní a řešení bude jedinečné.
v praxi se však ukázalo, že mnoho funkcí jádra, které nejsou striktně kladné, funguje velmi dobře. Příkladem je sigmoidní jádro, které i přes své široké použití není pro určité hodnoty svých parametrů kladné semi-definitivní. Boughorbel (2005) také experimentálně prokázal, že jádra, která jsou pouze podmíněně pozitivní, mohou v některých aplikacích možná překonat většinu klasických jader.
jádra lze také klasifikovat jako anizotropní stacionární, izotropní stacionární, kompaktně podepřená, lokálně stacionární, nestacionární nebo oddělitelná nestacionární. Kromě toho, jádra může být také označen scale-invariant nebo scale-závislé, což je zajímavá vlastnost, jako scale-invariant jádra řídit tréninkový proces invariantní vůči škálování dat.
Výběr správného Jádra
Výběru nejvhodnější jádra silně závisí na problém na dosah ruky – a doladění jeho parametrů může snadno stát nudné a těžkopádný úkol. Automatický výběr jádra je možný a je diskutován v dílech Toma Howleyho a Michaela Maddena.
volba jádra závisí na daném problému, protože závisí na tom, co se snažíme modelovat. Jádro polynomu nám například umožňuje modelovat konjunkce funkcí až do pořadí polynomu. Radiální bázové funkce umožňuje vybrat kruhy (nebo hyperspheres) – v kontrast tak s Lineárním jádrem, což umožňuje pouze vybrat čáry (nebo nadrovin).
motivace za výběr konkrétního jádra může být velmi intuitivní a jednoduché, v závislosti na tom, jaké informace očekáváme extrahovat data. Viz závěrečné poznámky k tomuto tématu od úvodu k získávání informací, Manning, Raghavan a Schütze pro lepší vysvětlení na toto téma.
funkce jádra
níže je uveden seznam některých funkcí jádra dostupných z existující literatury. Stejně jako v případě předchozích článků, každá latexová notace pro níže uvedené vzorce je snadno dostupná z jejich alternativní textové značky html. Nemohu zaručit, že všechny jsou naprosto správné, a proto je používejte na vlastní nebezpečí. Většina z nich má odkazy na články, kde byly původně použity nebo navrženy.
1. Lineární Jádra
- Lineární jádra dokumentace – lineární kernel source code – jak vytvořit SVMs .NET s Accord.NET
Lineární jádra je nejjednodušší kernel funkce. To je dáno skalární součin <x,y> plus volitelnou konstantu c. Jádro algoritmů pomocí lineárního jádra jsou často rovnocenné jejich non-kernel protějšky, tj. KPCA s lineární jádra je stejná jako standardní PCA.
2. Polynomiální jádro
polynomiální jádro je nestacionární jádro. Polynomiální jádra jsou vhodná pro problémy, kde jsou všechna tréninková data normalizována.
Nastavitelné parametry jsou svahu alfa, konstanta c a polynom stupně d.
3. Gaussovské jádro
Gaussovské jádro je příkladem funkčního jádra radiální báze.
Případně, to může být také realizován pomocí
nastavitelný parametr sigma hraje hlavní roli ve výkonu jádra, a měla by být pečlivě naladěný na problém po ruce. Pokud přecenil, exponenciální bude chovat téměř lineárně a vyšší-dimenzionální projekce začne ztratit jeho non-lineární sílu. Na druhou stranu, pokud bude podceňována, bude Funkce postrádat regularizaci a hranice rozhodnutí bude vysoce citlivá na hluk v tréninkových datech.
4. Exponenciální jádro
exponenciální jádro úzce souvisí s gaussovským jádrem, přičemž je vynechán pouze čtverec normy. Je to také radiální základní funkční jádro.
5. Laplaciánské jádro
Laplaceovo jádro je zcela ekvivalentní exponenciálnímu jádru, kromě toho, že je méně citlivé na změny parametru sigma. Je ekvivalentní, je to také jádro radiální základní funkce.
je důležité si uvědomit, že připomínky o sigma parametr pro Gaussovo jádro také použít Exponenciální a Laplaceova jádra.
6. Anova jádro
ANOVA jádro je také radiální základní funkční jádro, stejně jako Gaussova a Laplacianova jádra. Říká se, že dobře funguje v multidimenzionálních regresních problémech (Hofmann, 2008).
7. Hyperbolické tečné (sigmoidní) jádro
hyperbolické tečné jádro je také známé jako sigmoidní jádro a jako vícevrstvé Perceptronové (MLP) jádro. Sigmoidní jádro pochází z pole neuronových sítí, kde se bipolární sigmoidní funkce často používá jako aktivační funkce pro umělé neurony.
To je zajímavé, že o SVM model pomocí esovité jádro funkce je ekvivalentní dvouvrstvé, perceptron neuronové sítě. Toto jádro bylo velmi populární pro podpůrné vektorové stroje kvůli jeho původu z teorie neuronových sítí. I přesto, že je pouze podmíněně pozitivní, bylo zjištěno, že v praxi funguje dobře.
v sigmoidním jádru jsou dva nastavitelné parametry, sklon alfa a konstanta zachycení c. společná hodnota pro Alfa je 1 / N, kde N je dimenze dat. Podrobnější studii o sigmoidních jádrech lze nalézt v dílech Hsuan-Tien a Chih-Jen.
8. Racionální kvadratické jádro
racionální kvadratické jádro je méně výpočetně náročné než Gaussovské jádro a může být použito jako alternativa při použití Gaussovského jádra.
9. Multiquadric jádro
Multiquadric jádro může být použito ve stejných situacích jako racionální kvadratické jádro. Stejně jako je tomu v případě sigmoidního jádra, je to také příklad nepozitivního určitého jádra.
10. Inverzní Multiquadric jádro
inverzní Multi Kvadric jádro. Stejně jako u Gaussova jádra má za následek jádrovou matici s plným hodnocením (Micchelli, 1986) a vytváří tak nekonečný prostor pro dimenzi.
11. Kruhové jádro
kruhové jádro se používá v geostatických aplikacích. Je to příklad izotropního stacionárního jádra a je pozitivní definitivní v R2.
12. Sférické jádro
sférické jádro je podobné kruhovému jádru, ale je kladné definitivní v R3.
13. Vlnové jádro
vlnové jádro je také symetrické pozitivní semi-definitivní (Huang, 2008).
14. Power Kernel
Power kernel je také známý jako (neopravené) trojúhelníkové jádro. Je to příklad měřítka invariantního jádra (Sahbi a Fleuret, 2004) a je také pouze podmíněně pozitivní definitivní.
15. Log jádro
log jádro se zdá být zvláště zajímavé pro obrázky, ale je pouze podmíněně pozitivní definitivní.
16. Jádro spline
jádro Spline je dáno jako kusový krychlový polynom, jak je odvozeno v dílech Gunna (1998).
Nicméně, co to vlastně je:
17. B-Spline (Radial Basis Function) jádro
jádro B-Spline je definováno v intervalu . To je dáno tím, že rekurzivní vzorec:
V práci Bart Hamers to je dáno tím, že:
Případně, Bn lze vypočítat pomocí explicitní vyjádření (Fomel, 2000):
Kde x+ je definována jako zkrácen výkon funkce:
18. Besselovo jádro
besselovo jádro je dobře známé v teorii funkčních prostorů frakční hladkosti. To je dáno tím, že:
kde J je Besselova funkce prvního druhu. Nicméně, v Kernlab pro R dokumentace, Besselova jádro je řekl, aby byl:
19. Jádro Cauchy
jádro Cauchy pochází z distribuce Cauchy (Basak, 2008). Jedná se o jádro s dlouhým ocasem a může být použito k ovlivnění a citlivosti dlouhého dosahu nad prostorem s vysokou dimenzí.
20. Chi-Square Kernel
Chi-Square kernel pochází z Chi-Square distribuce:
Nicméně, jak poznamenal komentátor Alexis Mignon, tato verze jádra je pouze podmíněně pozitivní-definitivní (CPD). Pozitivní-definitivní verze tohoto jádra je uveden v (Vedaldi a Zisserman, 2011) jako
a je vhodné, aby být použity jiné metody, než support vector machines.
21. Histogram průsečík jádro
Histogram průsečík jádro je také známý jako Min jádro a bylo prokázáno, že užitečné při klasifikaci obrazu.
22. Generalizovaný průsečík histogramu
generalizované jádro křižovatky histogramu je postaveno na základě průsečíku histogramu pro klasifikaci obrazu, ale používá se v mnohem větší škále kontextů (Boughorbel, 2005). Je dán:
23. Zobecněné T-Student Jádra
Zobecněné T-Student Jádra, se ukázala být Už Jádra, což má pozitivní semi-definitivní Jádro matice (Boughorbel, 2004). Je dán:
24. Bayesovské Jádra
Bayesovské jádra by mohly být uvedeny jako:
, kde
Nicméně, to opravdu záleží na problém je modelován. Další informace naleznete v práci Alashwal, Deris a Othman, ve kterém použili SVM s Bayesovskými jádry v predikci interakcí protein-protein.
25. Wavelet Jádra
Wavelet jádra (Zhang et al., 2004) vychází z Vlnkové teorie a je dána jako:
, Kde a a c jsou vlnkové dilatace a překlady koeficienty, respektive (formulář uvedený výše je zjednodušení, prosím, vidět originální papír pro podrobnosti). Překlad-invariantní verze tohoto jádra mohou být uvedeny jako:
Kde v obou h(x) označuje matka wavelet funkce. V novinách Li Zhang, Weida Zhou, a Licheng Jiao, autoři naznačují možné h(x) jako:
Což dokazují také jako přípustná funkce jádra.
zdrojový kód
nejnovější verze zdrojového kódu pro téměř všechna výše uvedená jádra je k dispozici v Accord.NET rámec. Některé jsou také k dispozici v pokračování tohoto článku, jádro podporuje Vektorové stroje pro klasifikaci a regresi v C#. Jsou poskytovány společně s komplexní a jednoduchou implementací SVMs (Support Vector Machines) v C#. Nicméně, pro nejnovější zdroje, které mohou obsahovat opravy chyb a další vylepšení, stáhněte si nejnovější dostupnou verzi Accord.NET.
Viz také
- Kernel Support Vector Machines (kSVMs)
- Analýza Hlavních Komponent (PCA)
- Jádro Analýza Hlavních Komponent (KPCA)
- Lineární Diskriminační Analýza (LDA)
- Non-Lineární Diskriminační Analýzy s Jádry (KDA)
- Logistické Regresní Analýzy v C#
- Accord.NET Rámec: Vědecké výpočty .NET
- Haar-funkce detekce objektů v C# (Viola-Jones Klasifikátor)
- Rozpoznávání Rukopisu pomocí Jádra Diskriminační Analýzy
- Rozpoznávání Rukopisu Revisited: Kernel Support Vector Machines
- logistická regresní analýza
- on-Line predikce Wiki přispěvatelé. „Metody Jádra.“On-Line Predikce Wiki. http://onlineprediction.net/?n=Main.KernelMethods (přístup 3. března 2010).
- Genton, Marc G. “ třídy jader pro strojové učení: perspektiva statistiky.“Journal of Machine Learning Research 2 (2001) 299-312.
- Hofmann, T., B. Schölkopf, a a. J. Smola. „Kernel methods in machine learning.” Anna. Statik. Svazek 36, Číslo 3 (2008), 1171-1220.
- Gunn, s. R. (1998, Květen). „Podpora vektorových strojů pro klasifikaci a regresi.“Technická zpráva, Fakulta strojní, Věda a matematika škola elektroniky a informatiky.
- Karatzoglou, a., Smola, a., Hornik, K. and Zeileis, a. “ Kernlab-R balíček pro učení jádra.” (2004).
- Karatzoglou, a., Smola, a., Hornik, K. and Zeileis, a. „kernlab-an S4 package for kernel methods in R.“ J. Statistical Software, 11, 9 (2004).
- Karatzoglou, a., Smola, a., Hornik, K. and Zeileis, a. “ R: funkce jádra.“Dokumentace k balíčku‘ kernlab ‚ verze 0.9-5. http://rss.acs.unt.edu/Rdoc/library/kernlab/html/dots.html (přístup 3. března 2010).
- Howley, T. and Madden, M. G .“ the genetic kernel support vector machine: Description and evaluation“. Recenze Umělé Inteligence. Svazek 24, Číslo 3 (2005), 379-395.
- Shawkat Ali a Kate a. Smith. „Výběr šířky jádra pro klasifikaci SVM: Meta-Learning přístup.“International Journal of Data Warehousing & Mining, 1(4), 78-97, říjen-prosinec 2005.
- Hsuan-Tien Lin a Chih-Jen Lin. „Studie o sigmoidních jádrech pro SVM a výcvik jader jiných než PSD metodami typu SMO.“Technická zpráva, Katedra Informatiky, Národní Taiwanská univerzita, 2003.
- Boughorbel, s., Jean-Philippe Tarel a Nozha Boujemaa. „Project-Imedia: Rozpoznávání Objektů.“INRIA – zprávy o činnosti INRIA-RalyX. http://ralyx.inria.fr/2004/Raweb/imedia/uid84.html (přístup 3. března 2010).
- Huang, Lingkang. „Výběr proměnných v Multi-class Support Vector Machine a aplikace v analýze genomických dat.“Disertační Práce, 2008.
- Manning, Christopher D., Prabhakar Raghavan a Hinrich Schütze. „Nelineární SVMs.“Stanford NLP (Natural Language Processing) Group. http://nlp.stanford.edu/IR-book/html/htmledition/nonlinear-svms-1.html (přístup 3. března 2010).
- Fomel, Sergej. „Inverzní interpolace B-spline.“Stanford Exploration Project, 2000. http://sepwww.stanford.edu/public/docs/sep105/sergey2/paper_html/node5.html (přístup 3. března 2010).
- Basak, Džajanta. „Stroj s nejmenším čtvercovým jádrem s omezeními v krabici.“Mezinárodní konference o rozpoznávání vzorů 2008 1 (2008): 1-4.
- Alashwal, h., Safaai Deris a Razib m.Othman. „Bayesovské jádro pro predikci interakcí Protein-Protein.“International Journal of Computational Intelligence 5, no. 2 (2009): 119-124.
- Hichem Sahbi a François Fleuret. „Metody jádra a invariance měřítka pomocí trojúhelníkového jádra“. INRIA Research Report, N-5143, březen 2004.
- Sabri Boughorbel, Jean-Philippe Tarel a Nozha Boujemaa. „Generalizované jádro průsečíku histogramu pro rozpoznávání obrazu“. Sborník konference 2005 o zpracování obrazu, svazek 3, strany 161-164, 2005.
- Micchelli, Charles. Interpolace rozptýlených dat: distanční matice a podmíněně pozitivní definitivní funkce. Konstruktivní aproximace 2, č. 1 (1986): 11-22.
- Wikipedia contributors, „kernel methods,“ Wikipedia, the Free Encyclopedia,http://en.wikipedia.org/w/index.php?title=Kernel_methods&oldid=340911970 (accessed March 3, 2010).
- Wikipedia contributors, „kernel trick“, Wikipedia, the Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Kernel_trick&oldid=269422477 (accessed March 3, 2010).
- Weisstein, Eric W. “ Positive Semidefinite Matrix.“Z MathWorld-Wolfram Webový Zdroj. http://mathworld.wolfram.com/PositiveSemidefiniteMatrix.html
- Hamers B. „Kernel Modely pro Rozsáhlé Aplikace“, Ph.d. , Katholieke Universiteit Leuven, Belgie, 2004.
- Li Zhang, Weida Zhou, Licheng Jiao. Wavelet Support Vector Machine. IEEE transakce o systému, člověku a kybernetice, část B, 2004, 34(1): 34-39.
- Vedaldi, A. and Zisserman, a. efektivní aditivní jádra pomocí explicitních map funkcí. IEEE Transactions on Pattern Recognition and Machine Intelligence, Vol. XX, ne. XX, červen, 2011.
citovat tuto práci
Pokud byste chtěli, citujte tuto práci jako: Souza, César R. “ funkce jádra pro aplikace strojového učení.“17.března. 2010. Web. <http://crsouza.blogspot.com/2010/03/kernel-functions-for-machine-learning.html>.