Top 10 algoritmi de învățare automată: de ce sunt atât de importante în 2021?

Publicat: 2019-06-10
Cuprins
  • În gaura iepurelui de învățare automată

  • Aplicații din viața reală

  • Ce înseamnă algoritmi de învățare automată?

  • Tipuri de învățare automată

  • Top 10 algoritmi de învățare automată

  • Învelire

  • În 2021, computerele nu numai că pot vedea , dar pot citi și scrie din proprie inițiativă.

    Ei bine, să aruncăm o privire la povestea de groază modernă în care trăim de fapt.

    De exemplu, cum ați reacționa dacă cineva v-ar spune că în curând 30% din locuri de muncă vor fi înlocuite de automatizare? Este revoltător, nu-i așa?

    Și ce legătură are asta cu algoritmii de învățare automată ?

    Din fericire, există o lumină la capătul tunelului. Lasă-mă să te plimb prin el.

    În 2021, computerele pot:

    • Recunoașteți vocile, fețele și scrisul de mână. (Stil CSI ...)
    • Imagini cu subtitrare în mod automat.
    • Aflați cum să recunoașteți conținutul unei imagini și să îl clasificați în funcție de o anumită caracteristică.
    • Fă sarcini pentru tine. (Și creați algoritmii necesari pentru a le elimina.)

    Lista continuă, desigur.

    În fiecare zi facem căutări pe web, vizităm site-uri web și social media. Și nu ne punem niciodată întrebarea fundamentală:

    Cât de departe a trecut tehnologia AI?

    Începem!

    Realizările tehnologiei ridică întrebări despre viitorul umanității.

    Poate că aceste fapte ne vor oferi o perspectivă:

    (Sursa: Futurism , Dezyre )

    • În Coreea de Sud, din 100 muncitori, 4,78 în medie sunt roboți .
    • 88% dintre angajații din Etiopia riscă să-și piardă locurile de muncă din cauza roboților.
    • În New York, angajații pe cale de dispariție sunt de 40,7% .
    • Sunt necesare 9 linii de cod pentru a scrie un program de învățare automată.
    • 97% din locurile de muncă de gătit fast-food vor fi înlocuite cu mașini.
    • 98% dintre fermieri își vor pierde locurile de muncă din cauza mașinilor.
    • Învățarea automată poate genera până la 1 miliard de dolari pe an în industria farmaceutică.
    • În următorii 10 ani, se estimează că învățarea automată va înlocui 25% din locuri de muncă.

    În 2021 putem deține un robot acasă.

    Puteți purta o conversație fluentă cu Jibo sau Tapia . Sunt numiți roboți sociali dintr-un motiv.

    Își amintesc numele, fețele și vocile prietenilor și membrilor familiei tale (ceea ce nu este deloc înfiorător!), Îți pot îngriji copilul (oh da!), Iar dacă ai un accident acasă, te sună la 911 pentru tu. Acest ultim poate fi util mai ales atunci când nu mai este nimeni altcineva. Dar vom ajunge la asta mai târziu.

    În prezent, algoritmii se pot „învăța singuri” limbi și chiar pot traduce engleza vorbită în chineză scrisă simultan cu fluența vorbitorului mediu nativ de chineză. Mai devreme sau mai târziu, studierea limbilor străine va deveni inevitabil învechită.

    Și ce zici de asta:

    Smartphone-urile noastre ne spionează literalmente ... Sunt sigur că știi exact despre ce vorbesc! Imaginați-vă - la prânzul de birou pe care îl menționați (verbal!) Doriți să începeți să- l urmăriți pe Lucifer . Înapoi la birou, deschizi Pinterest sau Facebook pe telefonul tău și iată-l - Diavolul însuși ... (Da, Tom Ellis este visător, dar nu asta e rostul!)

    Sistemele de recomandare sunt în jurul nostru. Dacă introduceți o căutare pentru „Lego”, imaginile conexe care apar și sunt clasificate ca Lego, ar fi fost recunoscute ca atare de un AI. Cu alte cuvinte, nu au fost adnotate manual pe măsură ce Lego blochează un om ...

    Algoritmul s-a învățat în sine ce este acest lucru uitându-se la milioane de imagini.

    Piele de gaina!

    Toate aceste capacități și mult mai multe, sunt deja utilizate de companii.

    Implicațiile aici sunt:

    În primul rând, computerele posedă Învățați-vă , băieți! Gândiți-vă la toți lucrătorii robot în viitor. Ei vor învăța și vor îndeplini sarcinile MULT mai repede decât lucrătorii umani.

    Și în al doilea rând - știu la ce te gândești - OMG, umanitatea este atât de condamnată!

    Mulți oameni reacționează astfel.

    Mulți autori din secolul trecut au scris despre un viitor în care roboții domină oamenii. Inteligența artificială înflorește, roboții vor conduce lumea și se vor hrăni cu oameni. Singularitatea este aproape.

    OK, acesta este un loc bun de oprire.

    Acum, că am scos asta din sistemul nostru, să analizăm de fapt ceea ce este adevărat.

    În gaura iepurelui de învățare automată

    Mai întâi avem nevoie de un anumit context.

    Acum 15.000 de ani a fost inventat unul dintre cele mai iubite jocuri din lume. Undeva între secolele al XII-lea și al XIV-lea, acel joc a devenit cunoscut sub numele de șah .

    Are 10 până la puterea a 40 de rezultate posibile (adică 1 cu 40 de zerouri la sfârșit).

    În 2017, algoritmul AlphaZero de la Google a folosit învățarea automată pentru a se învăța să joace ȘI să câștige jocul.

    Întregul proces, de la introducerea jocului la algoritm, până când a câștigat primul său joc împotriva Stockfish - unul dintre cele mai puternice motoare de șah din lume, a durat:

    (ține-te bine!)

    4 ore.

    Vai!

    Da, suntem la un pas de o revoluție de învățare automată .

    Privind în urmă, aceasta nu este prima perturbare de acest fel. Revoluția industrială de la sfârșitul secolului al XIX-lea și începutul secolului al XX-lea a provocat, de asemenea, perturbări sociale, dar în cele din urmă, umanitatea și mașinile au atins un echilibru.

    Da, lucrurile se schimbă și acesta este de fapt un lucru bun!

    Software-ul de învățare automată are puterea de a privi o problemă cu ochi proaspeți și de a naviga prin medii necunoscute.

    Deci, așa cum urmează să vedem, nu este o poveste de groază până la urmă.

    Mai mult ca un miracol tehnologic.

    Acum:

    De ce este atât de importantă clasificarea?

    Pentru început, ce este învățarea automată prin definiție ?

    Practic, o mașină este programată să se învețe să producă un program și să creeze soluții. Învățarea automată produce întotdeauna cele mai exacte numere (și, dacă este necesar - predicții) posibile.

    Gândiți-vă la o tehnologie care poate rezolva o gamă largă de probleme complet diferite.

    Și asta e frumusețea!

    Scopul principal al sistemului este clasificarea . Aceasta se mai numește și viziune computerizată . Va învăța de la sine să facă distincții. Și numărul problemelor diferite din lume care pot fi reduse la sarcina aparent simplă de clasificare, este absolut năucitor.

    Imaginați-vă abilitatea de a clasifica între:

    • Poziții de șah bune și rele (jocuri)
    • Propoziții corecte și incorecte gramaticale (traducere)
    • Un drum gol și unul cu mașini sau pietoni pe el (mașini cu conducere automată)
    • O celulă sănătoasă și o celulă canceroasă (diagnostic medical)

    Tocmai de aceea, experții din multe domenii vor deveni învechite. Nu este nevoie să fiți expert pentru a crea un cod care va efectua astfel de sarcini. Băieții care au scris programul de traducere simultană din engleză în chineză nu vorbeau nici un cuvânt din chineză.

    Algoritmul se va învăța singur să fie un expert.

    Și da, este important să aflăm despre ele și să le cunoaștem ... modul în care am ajuns să cunoaștem computerele la început.

    Acum suntem buni cu computerele. Atât de bine încât avem tendința să le antropomorfizăm (sau poate că sunt doar eu?).

    Se pare că acesta este momentul să ne întrebăm:

    Ce se va întâmpla cu toți acei oameni care, în cele din urmă, își vor pierde slujba din cauza AI și a programelor de învățare automată?

    Ați auzit de un lucru mic numit Venitul de bază universal?

    Iată-l:

    În viitor, cetățenii vor avea venituri care nu îi implică pe ei să facă nicio muncă. Banii vor proveni din eficiența nebună pe care automatizarea o va oferi și din economiile generate de aceasta.

    Fie acesta, fie - un scenariu puțin mai realist - vor apărea multe noi tipuri de locuri de muncă. La sfârșitul secolului al XIX-lea, aproximativ 50% din populația din SUA era implicată în agricultură. Acum, datorită mașinilor puternice, mai puțin de 2% sunt fermieri și totuși oamenii sunt angajați.

    Acum, pentru ce se poate folosi învățarea automată ?

    Aplicații din viața reală

    Învățarea automată poate fi utilizată pentru a deduce noi fapte dintr-o bază de date.

    Să vedem câteva dintre domeniile în care masina de învățare va face o mare diferență:

    • Conducere asistată - mașinile pot atinge automat frâna pentru dvs. când vă apropiați de vehiculul din fața dvs. Astfel, la un moment dat în viitor, omenirea aproape că va uita ce înseamnă accidentul auto . Mașinile fără șofer sunt pe drum.
    • Asistență medicală - îmbunătățește eficiența profesioniștilor din domeniul medical. Recunoașterea și diagnosticarea bolilor vor deveni mult mai ușoare și mai precise cu ajutorul învățării automate. De exemplu, programele nu numai că pot scana și identifica imagini ale țesutului canceros mai bine decât oamenii, dar pot calcula și ratele de supraviețuire a pacienților pe baza unor baze de date imense de dosare medicale. (Vedeți lucrarea lui Jeremy Howard și proiectul său numit Enlitic . Este uimitor!)
    • Invenția medicamentului - cu ajutorul învățării automate, fiecare pacient poate primi un tratament conceput special pentru el.
    • Agricultură - agricultura va fi automatizată cu viziune computerizată și control robotizat: calitatea și predicția culturilor, detectarea bolilor, bunăstarea animalelor și producția.
    • Capacități lingvistice bazate pe AI - în viitorul apropiat vom putea comunica verbal cu traducerea în timp real folosind AI .

    Învățarea automată este doar un instrument și va rămâne unul pentru viitorul previzibil.

    Deci, nu este nevoie să vă faceți griji. Așezați-vă și relaxați-vă.

    Acum că am văzut ce este învățarea automată, să punem următoarea întrebare:

    Ce înseamnă algoritmi de învățare automată?

    Deci, după ce am stabilit cât de importantă și benefică este viitoarea noastră învățare automată, să aruncăm o privire mai atentă asupra algoritmilor care fac magia să se întâmple.

    O modalitate excelentă de a explica algoritmii de învățare automată este de a le compara cu programarea tradițională.

    În programarea tradițională , programatorul lucrează în echipă cu un expert în domeniu, pentru care este dezvoltat software-ul. Cu cât sarcina este mai complexă - cu atât este mai lung codul și cu atât va fi mai dificil de scris.

    Algoritmii de învățare automată funcționează destul de diferit. Algoritmul primește un set de date pentru intrare - și unul opțional pentru ieșire. Apoi îl analizează (sau ei) și elaborează procesul care trebuie să aibă loc pentru a avea loc un rezultat util. Astăzi, acesta este un loc de muncă rezervat unui programator uman. În viitor, și asta se va schimba.

    Tipuri de învățare automată

    Există 4 tipuri diferite de algoritmi de învățare automată.

    Aici sunt ei:

    1. Învățare supravegheată

    Datele de intrare în algoritmii de învățare supravegheați sunt etichetate, iar rezultatul este cunoscut și precis. Pentru a utiliza această clasă de algoritmi, veți avea nevoie de o cantitate mare de date etichetate. Și poate că nu este întotdeauna o sarcină ușoară.

    Algoritmii supravegheați se împart în două categorii - regresie și clasificare . Fiecare examinează seturi diferite de date.

    Algoritmii de regresie sunt cei care fac predicții și prognoze. Printre altele, acestea includ prognozele meteo, creșterea populației și estimările speranței de viață, prognozele pieței.

    Algoritmii de clasificare sunt utilizați pentru diagnosticare, detectarea fraudelor de identitate, păstrarea clienților și, după cum sugerează și numele - clasificarea imaginilor.

    2. Învățare fără supraveghere

    Apare atunci când datele de intrare nu sunt etichetate. Ele organizează datele în structuri de clustere. Astfel, orice date de intrare sunt imediat pregătite pentru analiză.

    Deoarece datele nu sunt etichetate, nu există nicio modalitate de a evalua acuratețea rezultatului. Acestea fiind spuse, algoritmii nesupravegheați sunt proiectați să urmărească nu exactitatea. Clusterele create de algoritm nu sunt în niciun fel familiare programului. Deci, ideea este să introduceți date, să le analizați și să le grupați în clustere.

    La fel ca algoritmii supravegheați, verii lor nesupravegheați sunt împărțiți în 2 categorii - reducerea dimensionalității și gruparea .

    Algoritmii de grupare în sine sunt în mod evident o parte din toate acestea. Este util să grupați datele în categorii, deci nu trebuie să vă ocupați singuri de fiecare piesă. Acești algoritmi sunt utilizați mai ales pentru segmentarea clienților și pentru marketingul vizat.

    Algoritmii de reducere a dimensiunii sunt utilizați pentru descoperirea structurii, vizualizarea datelor mari, elicitarea caracteristicilor și compresia semnificativă. Dacă gruparea este o parte a monedei, reducerea dimensionalității ar fi cealaltă. Prin gruparea datelor în clustere, algoritmii reduc inevitabil numărul de variabile semnificative (dimensiuni) care descriu setul de date.

    Acum, există o clasă de algoritmi de învățare automată care combină cele 2 clase anterioare:

    3. Învățare semi-supravegheată

    Se situează între date supravegheate cu date etichetate și algoritmi nesupravegheați cu date neetichetate .

    Algoritmii semi-supravegheați utilizează o cantitate mică de date etichetate și o cantitate mare de date neetichetate. Acest lucru poate duce la o îmbunătățire a preciziei învățării.

    Este, de asemenea, o ușurare enormă în ceea ce privește colectarea datelor, deoarece este nevoie de o mulțime de resurse pentru a genera date etichetate.

    4. Învățarea prin întărire

    Spre deosebire de cele 3 tipuri anterioare, algoritmii de întărire aleg o acțiune pe baza unui set de date. Apoi, ei evaluează rezultatul și schimbă strategia, dacă este necesar.

    În algoritmii de întărire, creați o rețea și o buclă de acțiuni, și atât. Fără a crea o bază de date, aveți un câștigător. De ce?

    Ei bine, algoritmii de întărire au dat seama de jocurile de dame, șah și Go.

    Activitatea de învățare a întăririi pe principiul încercării și erorii. Sistemului i se va oferi o recompensă de un fel care îl va ajuta să-și măsoare rata de succes. În cazul jocurilor - recompensa va fi tabloul de bord. Ori de câte ori sistemul câștigă un punct, îl evaluează ca o mișcare de succes, iar starea acestei mișcări devine mai mare. Se va repeta bucla până când toate mișcările sale vor avea succes.

    Și așa avem un algoritm care poate stăpâni jocul de șah în 4 ore.

    Acum știm!

    Bine. Să aruncăm o privire asupra algoritmilor înșiși:

    Top 10 algoritmi de învățare automată

    Acum, înainte de a începe, să aruncăm o privire la unul dintre conceptele de bază în învățarea automată. Regresia , când vine vorba de algoritmi de regresie de învățare automată , înseamnă că algoritmul va încerca să stabilească o relație între două variabile.

    Există multe tipuri de regresie - liniară, logistică, polinomială, regresie obișnuită a celor mai mici pătrate și așa mai departe. Astăzi vom acoperi doar primele 2 tipuri, pentru că altfel acest lucru va fi mai bine publicat ca o carte, decât ca un articol.

    După cum vom vedea într-o clipă, majoritatea primilor 10 algoritmi sunt algoritmi de învățare supravegheați și sunt utilizați cel mai bine cu Python.

    Iată lista celor mai buni 10 algoritmi de învățare automată :

    1. Regresie liniară

    Este printre cei mai populari algoritmi de învățare automată. Funcționează pentru a stabili o relație între două variabile prin potrivirea unei ecuații liniare prin datele observate.

    Cu alte cuvinte, acest tip de algoritmi observă diverse caracteristici pentru a ajunge la o concluzie. Dacă numărul de variabile este mai mare de două - algoritmul va fi numit regresie liniară multiplă.

    Regresia liniară este, de asemenea, unul dintre algoritmii de învățare automată supravegheați care funcționează bine în Python . Este un instrument statistic puternic și poate fi aplicat pentru prezicerea comportamentului consumatorilor, estimarea previziunilor și evaluarea tendințelor. O companie poate beneficia de analiza liniară și poate prognoza vânzările pentru o perioadă de timp viitoare.

    Deci, dacă avem două variabile, una dintre ele este explicativă , iar cealaltă este dependentă . Variabila dependentă reprezintă valoarea despre care doriți să cercetați sau să faceți o predicție. Variabila explicativă este independentă. Variabila dependentă se bazează întotdeauna pe explicativ.

    Scopul învățării automate liniare este de a vedea dacă există o relație semnificativă între cele două variabile și, dacă există, de a vedea exact ce reprezintă.

    Regresia liniară este considerată un algoritm simplu de învățare automată și, prin urmare, este populară în rândul oamenilor de știință.

    Acum, există o regresie liniară și există o regresie logistică. Să aruncăm o privire asupra diferenței:

    2. Regresia logistică

    Acesta este unul dintre algoritmii de bază de învățare automată . Este un clasificator binomial care are doar 2 stări sau 2 valori - cărora le puteți atribui semnificațiile Datele de intrare sunt comprimate și apoi analizate.

    Spre deosebire de regresia liniară, algoritmii logistici fac predicții utilizând o funcție neliniară. Algoritmii de regresie logistică sunt folosiți pentru clasificare și nu pentru sarcini de regresie. „Regresia” din nume sugerează că algoritmii folosesc un model liniar și îl încorporează în spațiul viitor.

    Regresia logistică este un algoritm de învățare automată supravegheat , care, la fel ca regresia liniară, funcționează bine în Python. Din punct de vedere matematic, dacă se preconizează că rezultatele cercetării vor fi în termeni de bolnav / sănătos sau cancer / fără cancer, atunci o regresie logistică este algoritmul perfect de utilizat.

    Spre deosebire de regresia liniară în care datele de ieșire pot avea valori diferite, regresia logistică poate avea ca ieșire doar 1 și 0.

    Există 3 tipuri de regresie logistică, bazate pe răspunsul categoric. Acestea sunt:

    • Regresie logistică binară - acesta este tipul cel mai frecvent utilizat dacă rezultatul este o varietate de „da” / „nu”.
    • Regresie logistică multi-nominală - atunci când există posibilitatea a 3 sau mai multe răspunsuri fără ordonare.
    • Regresie logistică ordinală - din nou 3 sau mai multe răspunsuri, dar cu ordonare. De exemplu, atunci când rezultatele așteptate sunt pe o scară de la 1 la 10.

    Să vedem un alt algoritm de clasificare excelent:

    3. Analiza Discriminantă Liniară

    Această metodă găsește combinații liniare de caracteristici, care separă diferite date de intrare. Scopul unui algoritm LDA este de a examina o variabilă de încredere ca o uniune liniară de caracteristici. Este o tehnică de clasificare excelentă .

    Acest algoritm examinează calitățile statistice ale datelor de intrare și face calcule pentru fiecare clasă. Măsoară valoarea clasei și apoi varianța între toate clasele.

    În timpul procesului de modelare a diferențelor dintre clase, algoritmul examinează datele de intrare în funcție de variabile independente.

    Datele de ieșire conțin informații despre clasa cu cea mai mare valoare. Algoritmii de Analiză Discriminantă Liniară funcționează cel mai bine pentru separarea între categoriile cunoscute . Când mai mulți factori trebuie împărțiți matematic în categorii, folosim un algoritm LDA.

    4. K- Vecinii cei mai apropiați

    Algoritmul kNN este unul dintre cei mai buni algoritmi de învățare automată pentru începători . Ele fac predicții pe baza datelor vechi disponibile, pentru a clasifica datele în categorii pe baza diferitelor caracteristici.

    Se află pe lista de algoritmi de învățare automată supravegheată, care este utilizată mai ales pentru clasificare. Stochează datele disponibile și le utilizează pentru a măsura similitudinile în cazuri noi.

    K în KNN este un parametru care indică numărul de vecini apropiați , care vor fi incluse în „procesul de vot majoritar“. În acest fel, vecinii fiecărui element „votează” pentru a-și determina clasa.

    Una dintre cele mai bune modalități de a utiliza algoritmul kNN este atunci când aveți un set de date mic, fără zgomot și toate datele sunt etichetate. Algoritmul nu este unul rapid și nu se învață să recunoască datele necurate. Când setul de date este mai mare, nu este o idee bună să utilizați kNN.

    Algoritmul kNN funcționează astfel: mai întâi, este specificat parametrul K, după care algoritmul face o listă de intrări, care este aproape de noul eșantion de date. Apoi găsește cea mai obișnuită clasificare a intrărilor și, în cele din urmă, dă o clasificare noilor date de intrare.

    În ceea ce privește aplicațiile din viața reală, algoritmii kNN sunt utilizați de motoarele de căutare pentru a stabili dacă rezultatele căutării sunt relevante pentru interogare. Ei sunt eroul nemărginit care economisește timp utilizatorilor atunci când efectuează o căutare.

    Urmează Tree-Trio: Regression Trees , Random Forest și AdaBoost .

    Începem:

    5. Arbori de regresie (aka Arbori de decizie)

    Da, se numesc copaci , dar din moment ce vorbim despre algoritmi de învățare automată, imaginați-i cu rădăcinile deasupra și ramurile și frunzele în partea de jos.

    Arborii de regresie sunt un tip de algoritm de învățare supravegheat , care - surpriză, funcționează bine în Python. (Apropo, majoritatea algoritmilor ML).

    Acești „copaci” sunt, de asemenea, numiți arbori de decizie și sunt utilizați pentru modelarea predictivă . Acestea necesită un efort relativ mic de la utilizator în ceea ce privește cantitatea de date de intrare.

    Reprezentarea lor este un arbore binar și rezolvă probleme de clasificare. După cum sugerează și numele, acest tip de algoritm folosește un model de decizie în formă de copac. Acestea efectuează o selecție variabilă sau o selecție de caracteristici. Datele de intrare pot fi atât numerice, cât și categorice.

    Tradu te rog!

    Sigur. De fiecare dată când luați o decizie, treceți la o situație nouă - cu noi decizii de luat. Fiecare dintre rutele posibile pe care le puteți lua este o „ramură”, în timp ce deciziile în sine sunt „nodurile”. Punctul dvs. inițial de pornire este nodul principal.

    Așa se face că un algoritm al arborelui decizional creează o serie de noduri și frunze. Important este că toate provin dintr-un singur nod. (În schimb, algoritmii forestieri aleatori produc mai mulți copaci, fiecare cu nodul său primar.)

    În ceea ce privește aplicația din viața reală, arborii de regresie pot fi folosiți pentru a prezice ratele de supraviețuire, primele de asigurare și prețul imobilelor, pe baza diferiților factori.

    Arborii de regresie „cresc” ramuri ale deciziilor până la atingerea unui criteriu de oprire. Funcționează mai bine cu cantități mici de date de intrare, pentru că altfel s-ar putea să obțineți un set de date de ieșire părtinitor.

    Algoritmul decide unde să se împartă și să formeze o nouă ramură dintr-o decizie, pe baza mai multor algoritmi. Datele sunt împărțite în regiuni de subnote, care se adună în jurul tuturor variabilelor disponibile.

    6. Padure aleatorie

    Algoritmul de pădure aleatorie este o altă formă de învățare mașină de supravegheat. Produce mai mulți arbori de decizie, în loc de unul singur ca arborii de regresie. Nodurile sunt răspândite aleatoriu și ordinea lor nu are nicio semnificație pentru datele de ieșire. Cu cât este mai mare cantitatea de copaci, cu atât rezultatul este mai precis.

    Acest tip de algoritm poate fi utilizat atât pentru clasificare, cât și pentru regresie. Una dintre caracteristicile minunate ale algoritmului forestier aleatoriu este că poate funcționa atunci când lipsește o mare parte din date . De asemenea, are puterea de a lucra cu un set de date mare.

    În cazul regresiei, acești algoritmi nu sunt cea mai bună alegere, deoarece nu prea controlează ceea ce face modelul.

    Algoritmii Random Forest pot fi foarte utili în comerțul electronic. Dacă trebuie să stabiliți dacă clienților dvs. le va plăcea o anumită pereche de pantofi, trebuie doar să colectați informații despre achizițiile lor anterioare.

    Includeți tipul de pantofi, indiferent dacă au avut sau nu toc, genul cumpărătorului și gama de prețuri a perechilor anterioare pe care le-au comandat. Acestea vor fi datele dvs. de intrare.

    Algoritmul va genera suficienți copaci pentru a vă oferi o estimare exactă.

    Cu plăcere!

    Și aici vine ultimul algoritm arbore-sistem:

    7. AdaBoost

    AdaBoost este prescurtarea pentru Adaptive Boosting. Algoritmul a câștigat Premiul Godel în 2003 pentru creatorii săi.

    La fel ca cele două precedente, acesta folosește și sistemul copacilor. Numai în loc de mai multe noduri și frunze, copacii din AdaBoost produc doar 1 nod și 2 frunze, adică un ciot .

    Algoritmii AdaBoost diferă substanțial de arborii de decizie și pădurile aleatorii .

    Să vedem:

    Un algoritm al arborelui decizional va utiliza multe variabile înainte de a produce o ieșire. Un butuc poate folosi doar o variabilă pentru a lua o decizie.

    În cazul algoritmilor forestieri aleatori , toți copacii sunt la fel de importanți pentru decizia finală. Algoritmii AdaBoost stabilesc prioritatea unor butucuri față de altele.

    Și nu în ultimul rând, copacii forestieri aleatori sunt mai haotici , ca să spunem așa. Adică secvența copacilor este irelevantă. Rezultatul nu depinde de ordinea în care s-au produs copacii. În schimb, pentru algoritmii AdaBoost - ordinea este esențială.

    Rezultatul fiecărui copac este baza pentru următorul. Deci, dacă există o greșeală pe parcurs, fiecare copac ulterior devine afectat.

    Bine, deci ce poate face acest algoritm în viața reală?

    Algoritmii AdaBoost strălucesc deja în domeniul sănătății, unde cercetătorii le folosesc pentru a măsura riscurile bolilor. Aveți datele, dar diferiți factori au o gravitate diferită. (Imaginați-vă că ați căzut pe braț și medicii dvs. folosesc un algoritm pentru a determina dacă este rupt sau nu. Dacă datele de intrare conțin atât radiografia brațului, cât și o fotografie a unghiei rupte ... bine, este destul de evident care butuc i se va acorda mai multă importanță.)

    Acum, am ieșit din pădure, ca să spunem așa, deci să aruncăm o privire la alte 3 tipuri de algoritmi de învățare automată:

    8. Naive Bayes

    Acesta este util când aveți o problemă de clasificare a textului . Este algoritmul de învățare automată utilizat atunci când cineva trebuie să se ocupe de seturi de date de înaltă dimensiune, cum ar fi filtrarea spamului sau clasificarea articolelor de știri.

    Algoritmul poartă acest nume de semnătură, deoarece consideră că fiecare variabilă este independentă. Cu alte cuvinte, consideră că diferitele caracteristici ale datelor de intrare sunt complet lipsite de legătură. Acest lucru îl face un clasificator probabilistic simplu și eficient.

    Partea „Bayes” a numelui se referă la omul care a inventat teorema utilizată pentru algoritm, și anume - Thomas Bayes. Teorema sa, după cum ați putea suspecta, examinează probabilitatea condiționată a evenimentelor.

    Probabilitățile sunt calculate pe două niveluri. În primul rând, probabilitatea fiecărei clase. Și în al doilea rând, probabilitatea condițională în funcție de un factor dat.

    9. Învățarea cuantificării vectoriale

    Algoritmul de cuantificare a vectorilor de învățare sau LVQ este unul dintre algoritmii de învățare automată mai avansați .

    Spre deosebire de kNN, algoritmul LVQ reprezintă un algoritm de rețea neuronală artificială . Cu alte cuvinte, își propune să recreeze neurologia creierului uman.

    Algoritmul LVQ folosește o colecție de vectori de codebook ca reprezentare. Acestea sunt, în principiu, liste de numere, care au aceleași calități de intrare și ieșire ca și datele dvs. de antrenament.

    10. Sprijiniți mașinile vectoriale

    Acestea sunt unul dintre cei mai populari algoritmi de învățare automată .

    Algoritmul Support Vector Machines este potrivit pentru cazuri extreme de clasificări . Înțeles - atunci când limita de decizie a datelor de intrare este neclară. SVM servește ca o frontieră care separă cel mai bine clasele de intrare.

    SVM-urile pot fi utilizate în seturi de date multidimensionale. Algoritmul transformă spațiul neliniar într-un spațiu liniar. În 2 dimensiuni puteți vizualiza variabilele ca o linie și, astfel, puteți identifica mai ușor corelațiile.

    SVM-urile au fost deja utilizate într-o varietate de domenii în viața reală:

    • În sarcinile de imagistică medicală și de clasificare medicală
    • Să studieze calitatea aerului în zonele în mare parte populate
    • Pentru a ajuta la analiza financiară
    • În algoritmi de clasificare a paginilor pentru motoarele de căutare
    • Pentru recunoașterea textului și a obiectelor.

    Sună ca cuțitul elvețian al algoritmilor ML, nu-i așa?

    Învelire

    Oamenii și computerele pot lucra împreună cu succes.

    Cercetătorii ne asigură că acest parteneriat poate și va da rezultate uimitoare. Algoritmii de învățare automată ajută deja omenirea în mai multe moduri.

    Una dintre cele mai importante funcții de învățare automată și algoritmi AI este clasificarea.

    Să vedem din nou primele 10 algoritmi de învățare automată pe scurt:

    • Regresie liniară - utilizată pentru a stabili relația dintre 2 variabile - o variabilă Regresie logistică - un clasificator binomial, există doar 2 rezultate posibile ale fiecărei interogări.
    • Analiza Discriminantă Liniară - funcționează cel mai bine pentru clasificarea datelor între categoriile cunoscute.
    • K-Cel mai apropiat vecin - clasifică datele în categorii.
    • Copaci de regresie - utilizați pentru modelarea predictivă.
    • Random Forest - utilizat cu seturi de date mari și când lipsește o mare parte din datele de intrare.
    • AdaBoost - clasificări binare.
    • Naive Bayes - modelare predictivă.
    • Learning Vector Quantization - un algoritm de rețea neuronală artificială.
    • Support Vector Machines - cazuri extreme de clasificare într-un set de date multidimensional.

    Toți acești algoritmi (plus cei noi care urmează să vină) vor pune bazele unei noi ere de prosperitate pentru umanitate. Va face posibil (și chiar necesar) un venit de bază universal pentru a asigura supraviețuirea oamenilor mai puțin capabili. (Cine altfel se va revolta și ne va încurca societatea. Oh, bine.)

    Ei bine, cine ar fi crezut că un articol despre algoritmi de învățare automată ar fi un astfel de doozy. Ei bine, asta a fost pentru astăzi.

    Ne vedem curând, băieți!

    FAQ

    Care sunt limitele învățării automate

    Învățarea automată este minunată și oferă lumină asupra viitorului tehnologiei. Asta vine cu niște costuri. De exemplu, computerele care găzduiesc programe de învățare automată consumă cantități nebune de energie electrică și resurse. Un alt neajuns al învățării automate până acum a fost dezambiguizarea ocazională a entității. Uneori, mașinile nu pot distinge între, să spunem, numele Anne Hathaway și valoarea stocului Berkshire Hathaway. De fiecare dată când actrița primește atenție media, compania câștigă bani ...

    Ce este un algoritm de învățare automată?

    Învățarea automată este o metodă de calcul. În timp ce algoritmii „tradiționali” au nevoie de un programator pentru a le scrie, cei de învățare automată practic se antrenează singuri. Da, nu glumesc!

    Care este cel mai bun algoritm de învățare automată?

    Acest lucru depinde de sarcina pe care trebuie să o îndepliniți. Alegerea celui mai bun algoritm pentru sarcina la îndemână depinde de mărimea, calitatea și diversitatea intrărilor dvs., precum și de tipul de date de ieșire pe care le solicită utilizatorul.

    Cum scrieți un algoritm de învățare automată?

    Ca orice alt lucru, procesul începe cu cunoașterea elementelor de bază ale algoritmului pe care l-ați ales pentru problema dvs. Va trebui să consultați diferite surse de învățare și să o alegeți pe cea care funcționează cel mai bine pentru dvs. Apoi începeți prin divizarea algoritmului în unități mici. Începeți cu un exemplu simplu și, când primiți controlul asupra lucrurilor, vă validați cu o implementare de încredere. Și apoi finalizați întregul proces. Probabil sună mai dificil decât este. Dar merită cu totul încercat!