ML a AI

Top 20 algoritmov, metód a techník umelej inteligencie a strojového učenia

Top 20 algoritmov, metód a techník umelej inteligencie a strojového učenia

Keď som začal pracovať s problémami so strojovým učením, potom som prepadol panike, ktorý algoritmus by som mal použiť? Alebo ktorý z nich sa ľahko aplikuje? Ak ste ako ja, potom vám tento článok môže pomôcť dozvedieť sa viac o algoritmoch, metódach alebo technikách umelej inteligencie a strojového učenia na riešenie akýchkoľvek neočakávaných alebo dokonca očakávaných problémov.

Strojové učenie je taká silná technika umelej inteligencie, ktorá dokáže efektívne vykonať úlohu bez použitia akýchkoľvek výslovných pokynov. Model ML sa môže poučiť zo svojich údajov a skúseností. Aplikácie strojového učenia sú automatické, robustné a dynamické. Na riešenie tejto dynamickej povahy problémov v reálnom živote je vyvinutých niekoľko algoritmov. Všeobecne existujú tri typy algoritmov strojového učenia, ako je supervidované učenie, nekontrolované učenie a posilňovacie učenie.

Najlepšie algoritmy AI a strojového učenia


Výber vhodnej techniky alebo metódy strojového učenia je jednou z hlavných úloh rozvoja projektu umelej inteligencie alebo strojového učenia. Pretože existuje niekoľko algoritmov, všetky majú svoje výhody a užitočnosť. Ďalej uvádzame 20 algoritmov strojového učenia pre začiatočníkov aj profesionálov. Poďme sa teda na to pozrieť.

1.  Naivný Bayes


Naiv Bayesov klasifikátor je pravdepodobnostný klasifikátor založený na Bayesovej vete s predpokladom nezávislosti medzi znakmi. Tieto funkcie sa líšia od aplikácie k aplikácii. Je to jedna z pohodlných metód strojového učenia pre začiatočníkov.

Naiv Bayes je model podmienenej pravdepodobnosti. Daný problémový prípad, ktorý sa má klasifikovať, reprezentovaný vektorom X = (Xi … Xn) reprezentujúc n znakov (nezávislé premenné), priraďuje aktuálnej inštancii pravdepodobnosti pre každý z K potenciálnych výsledkov:

Problém vyššie uvedenej formulácie spočíva v tom, že ak je počet znakov n značný alebo ak prvok môže nadobúdať veľké množstvo hodnôt, potom je založenie takéhoto modelu na pravdepodobnostných tabuľkách nemožné. Preto model vyvíjame tak, aby bol atraktívnejší. Pomocou Bayesovej vety možno podmienenú pravdepodobnosť napísať ako,

Použitím Bayesovskej terminológie pravdepodobnosti je možné vyššie uvedenú rovnicu napísať ako:

Tento algoritmus umelej inteligencie sa používa pri klasifikácii textu, t.j.e., analýza sentimentu, kategorizácia dokumentov, filtrovanie spamu a klasifikácia správ. Táto technika strojového učenia funguje dobre, ak sú vstupné údaje kategorizované do vopred určených skupín. Vyžaduje tiež menej údajov ako logistická regresia. Prekonáva v rôznych doménach.

2. Podporujte vektorový stroj


Support Vector Machine (SVM) je jeden z najbežnejšie používaných algoritmov strojového učenia pod dohľadom v oblasti klasifikácie textu. Táto metóda sa používa aj na regresiu. Môže sa tiež označovať ako Support Vector Networks. Spoločnosť Cortes & Vapnik vyvinula túto metódu pre binárnu klasifikáciu. Model učenia pod dohľadom je prístup strojového učenia, ktorý odvodzuje výstup z označených údajov o tréningu.

Podporný vektorový stroj konštruuje nadrovinu alebo množinu hyperplánov vo veľmi vysokej alebo nekonečne dimenzionálnej oblasti. Vypočíta lineárnu separačnú plochu s maximálnou rezervou pre danú cvičnú zostavu.

Iba podmnožina vstupných vektorov ovplyvní výber okraja (na obrázku zakrúžkovaný); také vektory sa nazývajú podporné vektory. Ak lineárna separačná plocha neexistuje, napríklad za prítomnosti hlučných údajov, sú vhodné algoritmy SVM s premennou slack. Tento klasifikátor sa pokúša rozdeliť dátový priestor pomocou lineárnych alebo nelineárnych vymedzení medzi rôznymi triedami.

SVM sa často používa pri problémoch s klasifikáciou vzorov a pri nelineárnej regresii. Je to tiež jedna z najlepších techník vykonávania automatickej kategorizácie textu. Najlepšie na tomto algoritme je, že nevytvára žiadne silné predpoklady o údajoch.

Implementácia Support Vector Machine: Data Science Libraries v Python-SciKit Learn, PyML, SVMStruct  Python, LIBSVM a knižnice vedeckých údajov v R-Klar, e1071.

3. Lineárna regresia


Lineárna regresia je priamy prístup, ktorý sa používa na modelovanie vzťahu medzi závislou premennou a jednou alebo viacerými nezávislými premennými. Ak existuje jedna nezávislá premenná, nazýva sa to jednoduchá lineárna regresia. Ak je k dispozícii viac ako jedna nezávislá premenná, nazýva sa to viacnásobná lineárna regresia.

Tento vzorec sa používa na odhad skutočných hodnôt, ako sú cena domov, počet hovorov a celkový predaj na základe nepretržitých premenných. Tu sa stanoví vzťah medzi nezávislými a závislými premennými prispôsobením najlepšej čiary. Táto najlepšie vyhovujúca priamka je známa ako regresná priamka a predstavuje ju lineárna rovnica

Y = a * X + b.

tu,

Táto metóda strojového učenia sa ľahko používa. Vykonáva sa rýchlo. To sa dá využiť v podnikaní na prognózy predaja. Môže sa použiť aj pri hodnotení rizika.

4.  Logistická regresia


Tu je ďalší algoritmus strojového učenia - logistická regresia alebo logitová regresia, ktorá sa používa na odhad diskrétnych hodnôt (binárne hodnoty ako 0/1, áno / nie, pravda / nepravda) na základe danej sady nezávislej premennej. Úlohou tohto algoritmu je predpovedať pravdepodobnosť incidentu prispôsobením údajov funkcii logit. Jeho výstupné hodnoty sú medzi 0 a 1.

Vzorec sa dá použiť v rôznych oblastiach, ako je strojové učenie, vedecká disciplína a lekárske odbory. Môže sa použiť na predpovedanie nebezpečenstva výskytu daného ochorenia na základe pozorovaných charakteristík pacienta. Logistickú regresiu je možné využiť na predikciu želania zákazníka kúpiť si produkt. Táto technika strojového učenia sa používa pri predpovedi počasia na predpovedanie pravdepodobnosti dažďa.

Logistickú regresiu možno rozdeliť do troch typov -

Logistická regresia je menej komplikovaná. Je tiež robustný. Zvláda nelineárne efekty. Ak sú však tréningové údaje riedke a vysoko dimenzionálne, môže tento algoritmus ML prebrať. Nemôže predvídať nepretržité výsledky.

5. K-najbližší sused (KNN)


K-najbližší sused (kNN) je dobre známy štatistický prístup pre klasifikáciu a v priebehu rokov bol široko študovaný a včas sa použil pri úlohách kategorizácie. Funguje ako neparametrická metodika pre problémy klasifikácie a regresie.

Táto metóda AI a ML je dosť jednoduchá. Určuje kategóriu skúšobného dokumentu t na základe hlasovania o skupine k dokumentov, ktoré sú najbližšie k t z hľadiska vzdialenosti, zvyčajne euklidovskej vzdialenosti. Základné pravidlo rozhodovania dané testovacím dokumentom t pre klasifikátor kNN je:

Keď y (xi, c) je binárna klasifikačná funkcia pre tréningový dokument xi (ktorý vracia hodnotu 1, ak je xi označený c alebo 0 inak), toto pravidlo označuje t s kategóriou, ktorá má v k najviac hlasov -najbližšie okolie.

Môžeme byť priradení KNN k našim skutočným životom. Napríklad, ak by ste chceli zistiť pár ľudí, o ktorých nemáte žiadne informácie, pravdepodobne by ste radšej rozhodli o jeho blízkych priateľoch, a teda kruhoch, v ktorých sa pohybuje, a získajte prístup k jeho / jej informáciám. Tento algoritmus je výpočtovo nákladný.

6. K-znamená


k-means clustering je metóda učenia bez dozoru, ktorá je prístupná pre klastrovú analýzu v dolovaní dát. Účelom tohto algoritmu je rozdeliť n pozorovaní do klastrov, kde každé pozorovanie patrí k najbližšiemu priemeru klastra. Tento algoritmus sa používa v segmentácii trhu, počítačovom videní a astronómii v mnohých ďalších doménach.

7. Rozhodovací strom


Rozhodovací strom je nástroj na podporu rozhodovania, ktorý využíva grafické znázornenie, t.e., stromový graf alebo model rozhodnutí. Bežne sa používa v rozhodovacej analýze a je tiež obľúbeným nástrojom v strojovom učení. Rozhodovacie stromy sa používajú pri operačnom výskume a riadení operácií.

Má štruktúru podobnú vývojovému diagramu, v ktorej každý vnútorný uzol predstavuje „test“ atribútu, každá vetva predstavuje výsledok testu a každý listový uzol predstavuje označenie triedy. Cesta od koreňa k listu je známa ako klasifikačné pravidlá. Skladá sa z troch typov uzlov:

Rozhodovací strom je ľahko pochopiteľný a interpretovateľný. Používa model bielej skrinky. Môže sa tiež kombinovať s inými rozhodovacími technikami.

8. Náhodný les


Náhodný les je populárna technika učenia súborov, ktorá spočíva v zostrojení množstva rozhodovacích stromov v čase tréningu a výstupe z kategórie, ktorá je režimom kategórií (klasifikácia) alebo priemernej predikcie (regresia) každého stromu.

Runtime tohto algoritmu strojového učenia je rýchly a je schopný pracovať s nevyváženými a chýbajúcimi údajmi. Keď sme ho však použili na regresiu, nedokáže predpovedať mimo rozsah v tréningových údajoch a môže dôjsť k preplneniu údajov.

9. KOŠÍK


Klasifikačný a regresný strom (CART) je jeden druh rozhodovacieho stromu. Rozhodovací strom funguje ako rekurzívny prístup k rozdeleniu na oddiely a CART rozdeľuje každý zo vstupných uzlov na dva podradené uzly. Na každej úrovni rozhodovacieho stromu algoritmus identifikuje podmienku - ktorá premenná a úroveň sa majú použiť na rozdelenie vstupného uzla na dva podradené uzly.

Kroky algoritmu CART sú uvedené nižšie:

10. Apriori algoritmus strojového učenia


Algoritmus Apriori je kategorizačný algoritmus. Táto technika strojového učenia sa používa na triedenie veľkého množstva údajov. Môže sa tiež použiť na sledovanie vývoja vzťahov a vytvárania kategórií. Tento algoritmus je metóda učenia bez dozoru, ktorá generuje asociačné pravidlá z danej množiny údajov.

Algoritmus strojového učenia Apriori funguje ako:

Tento algoritmus ML sa používa v rôznych aplikáciách, ako napríklad na detekciu nežiaducich účinkov liekov, na analýzu koša na trhu a na automatické dokončovanie aplikácií. Je to jednoduché implementovať.

11. Analýza hlavných komponentov (PCA)


Analýza hlavných komponentov (PCA) je algoritmus bez dozoru. Nové funkcie sú ortogonálne, to znamená, že nie sú korelované. Pred vykonaním dohody PCA by ste mali vždy normalizovať svoju množinu údajov, pretože transformácia závisí od rozsahu. Ak tak neurobíte, vlastnosti, ktoré sú v najvýznamnejšom meradle, budú dominovať novým hlavným komponentom.

PCA je všestranná technika. Tento algoritmus je nenáročný a ľahko implementovateľný. Môže byť použitý pri spracovaní obrazu.

12. CatBoost


CatBoost je algoritmus strojového učenia otvoreného zdroja, ktorý pochádza z Yandexu. Názov 'CatBoost' pochádza z dvoch slov 'Category' a 'Boosting.„Môže sa kombinovať s rámcami hlbokého učenia, t.j.e., Google TensorFlow a Apple Core ML. CatBoost dokáže pri riešení niekoľkých problémov pracovať s mnohými typmi údajov.

13. Iteračný dichotomizér 3 (ID3)


Iteračný dichotomizér 3 (ID3) je algoritmické pravidlo učenia rozhodovacieho stromu predložené Rossom Quinlanom, ktoré sa používa na dodanie rozhodovacieho stromu zo sady údajov. Je predchodcom C4.Algoritmický program a používa sa v doménach procesu strojového učenia a jazykovej komunikácie.

ID3 môže preplniť údaje o tréningu. Toto algoritmické pravidlo je ťažšie použiť pri spojitých dátach. Nezaručuje optimálne riešenie.

14. Hierarchické zhlukovanie


Hierarchické klastrovanie je spôsob klastrovej analýzy. V hierarchickom klastrovaní je na ilustráciu údajov vyvinutý strom klastra (dendrogram). V hierarchickom klastrovaní sa každá skupina (uzol) spája s dvoma alebo viacerými nasledujúcimi skupinami. Každý uzol v klastrovom strome obsahuje podobné údaje. Skupina uzlov na grafe vedľa ďalších podobných uzlov.

Algoritmus

Túto metódu strojového učenia možno rozdeliť do dvoch modelov - zdola nahor alebo zhora nadol:

Zdola nahor (hierarchické aglomeratívne zhlukovanie, HAC)

a. Kompletné spojenie: Podobnosť najvzdialenejšieho páru. Jedným obmedzením je, že odľahlé hodnoty môžu spôsobiť zlúčenie blízkych skupín neskôr, ako je optimálne.

b. Jednoduché prepojenie: Podobnosť najbližšieho páru. Môže to spôsobiť predčasné zlúčenie, aj keď tieto skupiny sú úplne odlišné.

c. Skupinový priemer: podobnosť medzi skupinami.

d. Ťažisko podobnosti: každá iterácia spája klastre s najdôležitejším podobným stredovým bodom.

Zhora nadol (rozporuplné zhlukovanie)

15. Spätná propagácia


Spätná propagácia je algoritmus učeného pod dohľadom. Tento algoritmus ML pochádza z oblasti ANN (Artificial Neural Networks). Táto sieť je viacvrstvovou sieťou spätného toku. Táto technika má za cieľ navrhnúť danú funkciu úpravou vnútorných váh vstupných signálov tak, aby produkovali požadovaný výstupný signál. Môže sa použiť na klasifikáciu a regresiu.

Algoritmus spätného šírenia má niektoré výhody, t.e., je ľahké ho implementovať. Matematický vzorec použitý v algoritme je možné použiť na ľubovoľnú sieť. Výpočetný čas sa môže skrátiť, ak sú váhy malé.

Algoritmus spätného šírenia má niektoré nevýhody, napríklad môže byť citlivý na hlučné údaje a odľahlé hodnoty. Je to prístup založený výlučne na matici. Skutočný výkon tohto algoritmu úplne závisí od vstupných údajov. Výstup môže byť nečíselný.

16. AdaBoost


AdaBoost znamená Adaptive Boosting, metódu strojového učenia, ktorú predstavujú Yoav Freund a Robert Schapire. Jedná sa o meta-algoritmus a môže byť integrovaný do iných výučbových algoritmov na zvýšenie ich výkonu. Tento algoritmus je rýchly a ľahko použiteľný. Funguje dobre s veľkými súbormi údajov.

17. Hlboké učenie


Hlboké učenie je súbor techník inšpirovaných mechanizmom ľudského mozgu. Dve primárne hlboké učenie, t.j.e., Pri klasifikácii textu sa používajú konverzné neurónové siete (CNN) a rekurentné neurónové siete (RNN). Algoritmy hlbokého učenia ako Word2Vec alebo GloVe sa tiež používajú na získanie vysoko hodnotných vektorových reprezentácií slov a na zlepšenie presnosti klasifikátorov, ktoré sú trénované tradičnými algoritmami strojového učenia.

Táto metóda strojového učenia vyžaduje namiesto tradičných algoritmov strojového učenia veľa tréningovej vzorky, t.j.e., minimálne milióny označených príkladov. Na druhej strane tradičné techniky strojového učenia dosahujú presnú hranicu všade tam, kde pridanie ďalšej cvičnej vzorky celkovo nezlepší ich presnosť. Klasifikátory hlbokého učenia prekonávajú lepšie výsledky s väčším počtom údajov.

18. Algoritmus zvyšovania gradientu


Gradient boosting je metóda strojového učenia, ktorá sa používa na klasifikáciu a regresiu. Je to jeden z najsilnejších spôsobov vývoja prediktívneho modelu. Algoritmus na zvýšenie gradientu má tri prvky:

19. Hopfieldova sieť


Sieť Hopfield je jeden druh opakujúcich sa umelých neurónových sietí, ktorý uviedol John Hopfield v roku 1982. Cieľom tejto siete je uložiť jeden alebo viac vzorov a vyvolať úplné vzory na základe čiastočného vstupu. V sieti Hopfield sú všetky uzly vstupy aj výstupy a sú navzájom úplne prepojené.

20. C4.5 


C4.5 je rozhodovací strom, ktorý vynašiel Ross Quinlan. Je to aktualizovaná verzia ID3. Tento algoritmický program obsahuje niekoľko základných prípadov:

Končiace myšlienky


Na vývoj efektívneho projektu strojového učenia je veľmi dôležité použiť správny algoritmus založený na vašich údajoch a doméne. Pochopenie kritického rozdielu medzi každým algoritmom strojového učenia je tiež nevyhnutné vyriešiť „keď si vyberiem, ktorý z nich.„Pretože v prístupe strojového učenia sa stroj alebo zariadenie učilo prostredníctvom algoritmu učenia. Pevne verím, že tento článok vám pomôže porozumieť algoritmu. Ak máte akýkoľvek návrh alebo dopyt, neváhajte sa opýtať. Čítajte ďalej.

Ako zmeniť smer posúvania myši a touchpadu v systéme Windows 10
Myš a TouchpadNielenže uľahčujú výpočty, ale sú aj efektívnejšie a menej časovo náročné. Nemôžeme si predstaviť život bez týchto zariadení, ale je pra...
Ako zmeniť veľkosť, farbu a schému ukazovateľa myši a kurzora v systéme Windows 10
Ukazovateľ myši a kurzor vo Windows 10 sú veľmi dôležité aspekty operačného systému. Dá sa to povedať aj pre iné operačné systémy, takže v skutočnosti...
Hry Zadarmo a open source herné motory pre vývoj hier pre Linux
Zadarmo a open source herné motory pre vývoj hier pre Linux
Tento článok sa bude zaoberať zoznamom bezplatných a otvorených herných nástrojov, ktoré možno použiť na vývoj 2D a 3D hier v systéme Linux. Existuje ...