Articles

strategie și consultanță AI aplicată | InnoArchiTech

articole din această serie

  1. Prezentare generală, obiective, tipuri de învățare și algoritmi

  2. selectarea, pregătirea și modelarea datelor

  3. evaluarea, validarea, complexitatea și îmbunătățirea modelului

  4. Analiza performanței Modelului și a erorilor

  5. învățare nesupravegheată, domenii conexe și învățare automată în practică

introducere

bine ați venit! Acesta este primul articol dintr-o serie de cinci părți despre învățarea automată.învățarea automată este un subiect foarte fierbinte din mai multe motive cheie și pentru că oferă posibilitatea de a obține automat informații profunde, de a recunoaște modele necunoscute și de a crea modele predictive performante din date, toate fără a necesita instrucțiuni explicite de programare.

în ciuda popularității subiectului, adevăratul scop și detaliile învățării automate nu sunt bine înțelese, cu excepția oamenilor foarte tehnici și / sau a oamenilor de știință de date.

această serie este destinată să fie un ghid cuprinzător și aprofundat al învățării automate și ar trebui să fie util tuturor, de la directori de afaceri până la practicieni în învățarea automată. Acesta acoperă practic toate aspectele învățării automate (și multe domenii conexe) la un nivel înalt și ar trebui să servească drept introducere sau referință suficientă la terminologia, conceptele, instrumentele, considerațiile și tehnicile din domeniu.

această înțelegere la nivel înalt este esențială dacă este implicată vreodată într-un proces de luare a deciziilor în jurul utilizării învățării automate, cum poate ajuta la atingerea obiectivelor de afaceri și de proiect, ce tehnici de învățare automată să folosească, potențiale capcane și cum să interpreteze rezultatele.

rețineți că majoritatea subiectelor discutate în această serie sunt, de asemenea, direct aplicabile în domenii precum analiza predictivă, extragerea datelor, învățarea statistică, inteligența artificială și așa mai departe.

Machine Learning Defined

definiția formală des citată și acceptată pe scară largă a machine learning, așa cum a declarat pionierul de teren Tom M. Mitchell, este:

se spune că un program de calculator învață din experiență E cu privire la o anumită clasă DE SARCINI T și măsurarea performanței P dacă performanța sa la sarcini în T, măsurată prin P, se îmbunătățește cu experiența e

următorul este modul meu mai puțin formal de a descrie învățarea automată.învățarea automată este un subdomeniu al informaticii, dar este adesea denumită și analiză predictivă sau modelare predictivă. Scopul și utilizarea sa este de a construi algoritmi noi și/sau de a folosi algoritmi existenți pentru a învăța din date, pentru a construi modele generalizabile care oferă predicții exacte sau pentru a găsi modele, în special cu date similare noi și nevăzute.

Prezentare generală a procesului de învățare automată

Imaginați-vă un set de date ca un tabel, unde rândurile sunt fiecare observație (aka măsurare, punct de date etc.), iar coloanele pentru fiecare observație reprezintă caracteristicile acelei observații și valorile lor.

la începutul unui proiect de învățare automată, un set de date este de obicei împărțit în două sau trei subseturi. Subseturile minime sunt seturile de date de instruire și testare și adesea este creat și un al treilea set de date opțional de validare.

odată ce aceste subseturi de date sunt create din setul de date primar, un model predictiv sau un clasificator este instruit folosind datele de instruire, iar apoi precizia predictivă a modelului este determinată folosind datele de testare.așa cum am menționat, învățarea automată folosește algoritmi pentru a modela și găsi automat modele în date, de obicei cu scopul de a prezice o ieșire sau un răspuns țintă. Acești algoritmi se bazează în mare măsură pe statistici și optimizare matematică.

Optimizarea este procesul de găsire a celei mai mici sau mai mari valori (minime sau maxime) a unei funcții, adesea denumită pierdere sau funcție de cost în cazul minimizării. Unul dintre cei mai populari algoritmi de optimizare utilizați în învățarea automată se numește coborâre în gradient, iar altul este cunoscut sub numele de ecuația normală.

pe scurt, învățarea automată se referă la învățarea automată a unui model predictiv sau clasificator extrem de precis sau la găsirea unor modele necunoscute în date, prin utilizarea algoritmilor de învățare și a tehnicilor de optimizare.

tipuri de învățare

categoriile principale de învățare automată sunt învățarea supravegheată, nesupravegheată și semisupravegheată. Ne vom concentra pe primele două din acest articol.

în învățarea supravegheată, datele conțin variabila de răspuns (etichetă) modelată și cu scopul de a prezice valoarea sau clasa datelor nevăzute. Învățarea nesupravegheată implică învățarea dintr-un set de date care nu are etichetă sau Variabilă de răspuns și, prin urmare, se referă mai mult la găsirea tiparelor decât la predicție.

ca eu sunt un mare fan NFL și Chicago Bears, echipa mea va ajuta exemplifica aceste tipuri de învățare! Să presupunem că aveți o mulțime de date și statistici Chicago Bears datând de când echipa a devenit membru autorizat al NFL (1920) până în prezent (2016).

Imaginați-vă că fiecare rând de date este în esență un instantaneu de echipă (sau observație) a statisticilor relevante pentru fiecare joc din 1920. Coloanele din acest caz și datele conținute în fiecare reprezintă caracteristicile (valorile) datelor și pot include date despre caracteristici, cum ar fi data jocului, adversarul jocului, câștigurile sezonului, pierderile sezonului, poziția divizionară care se încheie sezonul, Dana post-sezon (Y/N), Statisticile post-sezon și, probabil, statistici specifice celor trei faze ale jocului: ofensă, apărare și echipe speciale.

în cazul supravegheat, obiectivul dvs. poate fi să utilizați aceste date pentru a prezice dacă urșii vor câștiga sau vor pierde împotriva unei anumite Echipe în timpul unui anumit joc și pe un anumit teren (acasă sau în deplasare). Rețineți că orice se poate întâmpla în fotbal în ceea ce privește accidentările pre și în timpul jocului, condițiile meteorologice, apelurile arbitrilor răi și așa mai departe, deci luați acest lucru pur și simplu ca un exemplu de aplicare a învățării supravegheate cu un răspuns da sau nu (predicție), spre deosebire de determinarea probabilității sau probabilității ca Da Bears să obțină victoria.

deoarece aveți Date istorice despre victorii și pierderi (răspunsul) împotriva anumitor echipe de pe anumite terenuri de fotbal, puteți utiliza învățarea supravegheată pentru a crea un model pentru a face această predicție.

acum să presupunem că scopul tău este să găsești tipare în datele istorice și să înveți ceva ce nu știi deja sau să grupezi echipa în anumite moduri de-a lungul istoriei. Pentru a face acest lucru, executați un algoritm nesupravegheat de învățare automată care grupează (grupează) datele în mod automat și apoi analizează rezultatele de grupare.

cu un pic de analiză, se poate constata că aceste clustere generate automat grupează aparent echipa în următoarele categorii de exemple în timp:

  • apărare puternică, infracțiune de funcționare slabă, infracțiune de trecere puternică, echipe speciale slabe, Dana playoff

  • apărare puternică, infracțiune de alergare puternică, infracțiune de trecere slabă, echipe speciale medii, Dana playoff

  • apărare slabă, infracțiune puternică, echipe speciale puternice, a ratat playoff-urile

  • și așa mai departe

un exemplu de analiză nesupravegheată a clusterului ar fi găsirea unui motiv potențial pentru care au ratat playoff-urile din al treilea cluster de mai sus. Poate din cauza apărării slabe? Urșii au fost în mod tradițional o echipă defensivă puternică, iar unii spun că apărarea câștigă campionate. În ambele cazuri, fiecare dintre clasificările de mai sus pot fi găsite să se refere la un anumit interval de timp, care s-ar aștepta. Poate că echipa a fost caracterizată de una dintre aceste grupări de mai multe ori de-a lungul istoriei lor și pentru perioade diferite de timp.

pentru a caracteriza echipa în acest fel fără tehnici de învățare automată, ar trebui să turnați toate datele și statisticile istorice, să găsiți manual modelele și să atribuiți clasificările (clusterele) pentru fiecare an, luând în considerare toate datele și să compilați informațiile. Cu siguranță nu ar fi o sarcină rapidă și ușoară.

alternativ, ai putea scrie un program codificat în mod explicit pentru a turna prin datele, și că trebuie să știe ce statistici echipa să ia în considerare, ce praguri să ia în considerare pentru fiecare stat, și așa mai departe. Ar fi nevoie de o cantitate substanțială de timp pentru a scrie codul și ar trebui scrise diferite programe pentru fiecare problemă care necesită un răspuns.

sau… puteți folosi un algoritm de învățare automată pentru a face toate acestea automat pentru dvs. în câteva secunde.

obiectivele și rezultatele învățării automate

algoritmii de învățare automată sunt utilizați în principal pentru următoarele tipuri de rezultate:

  • Clustering (nesupravegheat)

  • clasificare în două și mai multe clase (supravegheată)

  • regresie: Univariate, Multivariate etc. (Supravegheat)

  • detectarea anomaliilor (nesupravegheate și supravegheate)

  • sisteme de recomandare (aka motor de recomandare)

algoritmi specifici care sunt utilizați pentru fiecare tip de ieșire sunt discutate în secțiunea următoare, dar mai întâi, să oferim o imagine de ansamblu generală a fiecăruia dintre tipurile de ieșire sau probleme de mai sus.

după cum s-a discutat, gruparea este o tehnică nesupravegheată pentru descoperirea compoziției și structurii unui set dat de date. Este un proces de aglomerare a datelor în clustere pentru a vedea ce grupări apar, dacă există. Fiecare cluster este caracterizat printr-un set conținut de puncte de date și un centroid de cluster. Centroidul clusterului este practic media (medie) a tuturor punctelor de date pe care le conține clusterul, în toate caracteristicile.

problemele de clasificare implică plasarea unui punct de date (aka observație) într-o clasă sau categorie predefinită. Uneori, problemele de clasificare atribuie pur și simplu o clasă unei observații, iar în alte cazuri scopul este de a estima probabilitățile ca o observație să aparțină fiecăreia dintre clasele date.

un exemplu excelent de clasificare în două clase este atribuirea clasei de Spam sau Ham unui e-mail primit, unde ham înseamnă doar ‘nu spam’. Clasificarea Multi-clasă înseamnă doar mai mult de două clase posibile. Deci, în exemplul de spam, poate că o a treia clasă ar fi ‘necunoscută’.

Regresia este doar un cuvânt fantezist pentru a spune că un model va atribui o valoare continuă (răspuns) unei observații de date, spre deosebire de o clasă discretă. Un exemplu excelent în acest sens ar fi prezicerea prețului de închidere al Dow Jones Industrial Average în orice zi. Această valoare ar putea fi orice număr și, prin urmare, ar fi un candidat perfect pentru regresie.

rețineți că uneori cuvântul regresie este folosit în numele unui algoritm care este de fapt utilizat pentru probleme de clasificare sau pentru a prezice un răspuns categoric discret (de exemplu, spam sau ham). Un bun exemplu este regresia logistică, care prezice probabilitățile unei valori discrete date.

Un alt tip de problemă este detectarea anomaliilor. Deși ne-ar plăcea să credem că datele sunt bine comportate și sensibile, din păcate, acest lucru nu este adesea cazul. Uneori există puncte de date eronate din cauza defecțiunilor sau erorilor de măsurare sau, uneori, din cauza fraudei. Alteori s-ar putea ca măsurătorile anormale să indice o piesă hardware sau electronică defectuoasă.

uneori anomaliile indică o problemă reală și nu sunt ușor de explicat, cum ar fi un defect de fabricație, iar în acest caz, detectarea anomaliilor oferă o măsură de control al calității, precum și o perspectivă asupra faptului dacă măsurile luate pentru reducerea defectelor au funcționat sau nu. În ambele cazuri, există momente în care este benefic să se găsească aceste valori anormale, iar anumiți algoritmi de învățare automată pot fi folosiți pentru a face acest lucru.

tipul final de problemă este abordat cu un sistem de recomandare sau numit și motor de recomandare. Sistemele de recomandare sunt un tip de sistem de filtrare a informațiilor și sunt destinate să facă recomandări în multe aplicații, inclusiv filme, muzică, cărți, restaurante, articole, produse și așa mai departe. Cele mai frecvente două abordări sunt filtrarea bazată pe conținut și colaborarea.

două exemple excelente de motoare de recomandare populare sunt cele oferite de Netflix și Amazon. Netflix face recomandări pentru a menține spectatorii implicați și furnizați o mulțime de conținut de vizionat. Cu alte cuvinte, pentru a menține oamenii care folosesc Netflix. Ei fac acest lucru cu recomandările „pentru că ați urmărit …”, „Top Picks for Alex” și „sugestii pentru dvs.”.

Amazon face un lucru similar pentru a crește vânzările prin vânzare în sus, pentru a menține vânzările prin implicarea utilizatorilor și așa mai departe. Ei fac acest lucru prin „clienții care au cumpărat acest articol au cumpărat și ei”, „recomandări pentru tine, Alex”, „legate de articolele pe care le-ai vizualizat” și „mai multe articole de luat în considerare” recomandări.

algoritmi de învățare automată

am acoperit acum tipurile de probleme de învățare automată și ieșirile dorite. Acum vom oferi o imagine de ansamblu la nivel înalt a algoritmilor relevanți de învățare automată.

Iată o listă de algoritmi, atât supravegheați, cât și nesupravegheați, care sunt foarte populari și merită cunoscuți la un nivel înalt. Rețineți că unii dintre acești algoritmi vor fi discutate în profunzime mai târziu în această serie.

regresie supravegheată

  • regresie liniară simplă și multiplă

  • regresie arbore de decizie sau pădure

  • rețele neuronale artificiale

  • regresie ordinală

  • regresie Poisson

  • metode de vecin apropiat (de ex., k-NN sau K-cele mai apropiate vecini)

supravegheat cu două clase & clasificare Multi-clasă

  • regresie logistică și regresie multinomială

  • rețele neuronale artificiale

  • arbore de decizie, pădure și jungle

  • SVM (suport Vector Machine)

  • metode Perceptron

  • clasificatori bayesieni (de exemplu, Bayes naivi)

  • metode vecine cele mai apropiate (de ex., k-NN sau K-cel mai apropiat vecini)

  • unul față de toate multiclass

nesupravegheat

  • K-înseamnă clustering

  • ierarhică clustering

detectare anomalie

  • Mașină vector Suport (o clasă)

  • PCA (analiza componentelor principale)

rețineți că o tehnică care este adesea folosită pentru a îmbunătăți performanța modelului este de a combina rezultatele mai multor modele. Această abordare folosește ceea ce este cunoscut sub numele de metode de ansamblu, iar pădurile aleatorii sunt un exemplu excelent (discutat mai târziu).

dacă nimic altceva, este o idee bună să vă familiarizați cel puțin cu numele acestor algoritmi populari și să aveți o idee de bază cu privire la tipul de problemă de învățare automată și de ieșire pentru care ar putea fi potrivite.

rezumat

învățarea automată, analiza predictivă și alte subiecte conexe sunt domenii foarte interesante și puternice.în timp ce aceste subiecte pot fi foarte tehnice, multe dintre conceptele implicate sunt relativ simple de înțeles la un nivel înalt. În multe cazuri, o înțelegere simplă este tot ceea ce este necesar pentru a avea discuții bazate pe probleme de învățare automată, proiecte, tehnici și așa mai departe.

partea a doua a acestei serii va oferi o introducere în performanța modelului, va acoperi procesul de învățare automată și va discuta în detaliu selecția modelului și compromisurile asociate.

Stay tuned!

despre autor

Alex este fondatorul InnoArchiTech și InnoArchiTech Institute, precum și autorul AI pentru oameni și afaceri publicat de O ‘ Reilly Media.