Cum să începeți cu Machine Learning?

Încercările de a proiecta mașini mai inteligente decât oamenii nu sunt noi.

Unul dintre primele atacuri pe care informatica le-a făcut asupra „inteligenței” umane a fost prin jocul de șah. Șahul este (sau ar trebui să spunem, a fost?) asumat de mulți drept testul suprem al intelectului și creativității umane, iar în anii 1960-70, existau diferite școli de gândire în domeniul informaticii.

Unii au susținut că era doar o chestiune de timp până când computerele îi depășesc pe oameni în jocul de șah, în timp ce alții credeau că acest lucru nu se va întâmpla niciodată.

Kasparov vs. Deep Blue

Cel mai senzațional eveniment care a prezentat om vs. mașină în bătălia gândirii a fost meciul de șah din 1996 dintre campionul mondial de atunci Garry Kasparov (și, fără îndoială, cel mai bun jucător de șah) și Albastru inchisun supercomputer conceput de IBM chiar pentru acest eveniment.

Credit imagine: Wikipedia

Pentru a scurta povestea, Kasparov a câștigat convingător meciul din 1996 (4-2), dar a pierdut revanșa din 1997 (4,5-3,5) pe fondul multor controversă și acuzațiile directe de înșelăciune ale lui Kasparov împotriva IBM.

Oricum, o eră în șah și informatică s-a încheiat. Calculatoarele au fost intitulate mai inteligente decât orice om viu posibil. IBM, mulțumit de răzbunare, a demontat Deep Blue și a trecut mai departe.

Astăzi, este imposibil pentru orice mare maestru să bată orice motor de șah obișnuit care rulează pe hardware de bază.

Ce nu este Machine Learning?

Înainte de a arunca o privire mai aprofundată asupra învățării automate, să înlăturăm câteva concepții greșite. Învățarea automată nu este, nici pe departe, o încercare de a replica creierul uman. În ciuda convingerilor senzaționaliste susținute de oameni ca Elon Musk, cercetătorii în informatică susțin că nu sunt în căutarea acestui cereale sfânt și, cu siguranță, nu sunt nicăieri aproape de el.

Mai simplu spus, învățarea automată este practica de aplicare a proceselor de învățare prin exemplu pe computere. Acest lucru contrastează cu abordarea tradițională de a te baza pe un programator uman pentru a gândi toate scenariile posibile și regulile hard-code pentru ele într-un sistem.

Sincer, cam asta este învățarea automată: transmiterea de tone și tone și tone de date către un computer, astfel încât acesta să poată învăța din exemple (încercare → eroare → comparație → îmbunătățire) în loc să se bazeze pe codul sursă.

  Cele mai comune 10 parole pe care ar trebui să nu le mai folosiți

Aplicații ale învățării automate

Deci, dacă Machine Learning nu este magie neagră și nici ceva nu va genera Terminators, pentru ce este util?

Învățarea automată ajută în cazurile în care programarea tradițională este neregulată, iar aceste cazuri se încadrează în general într-una dintre cele două categorii.

După cum sugerează și numele, Clasificarea se referă la etichetarea corectă a lucrurilor, în timp ce Predicția își propune să corecteze proiecțiile viitoare, având în vedere un set de date suficient de mare de valori din trecut.

Câteva aplicații interesante ale Machine Learning sunt:

Filtrarea spamului

Spamul prin e-mail este omniprezent, dar încercarea de a-l opri poate fi un coșmar. Cum este definit spamul? Este prezența anumitor cuvinte cheie? Sau poate cum este scris? Este greu să te gândești la un set exhaustiv de reguli, din punct de vedere al programului.

Acesta este motivul pentru care folosim Machine Learning. Arătăm sistemului milioane de mesaje spam și mesaje non-spam și lăsăm să-și dea seama de restul. Acesta a fost secretul din spatele filtrelor excelente de spam ale Gmail, care au zguduit e-mailurile personale la începutul anilor 2000!

Recomandări

Toate marile companii de comerț electronic au astăzi sisteme puternice de recomandare. Uneori, capacitatea lor de a recomanda lucruri pe care „s-ar putea” să le găsim utile este incredibil de precisă, în ciuda faptului că nu am făcut niciodată clic pe acel articol înainte.

Coincidență? Deloc!

Învățarea automată lucrează din greu aici, înghițind terabyte după terabyte de date și încercând să ne prezică dispozițiile și preferințele volatile.

Chatbots

Ați întâlnit asistență pentru clienți de prim nivel care părea ciudat de robotică și totuși a fost capabilă să facă discuții interesante?

Ei bine, atunci ai fost condus de Machine Learning!

Învățarea din conversații și determinarea ce să spuneți când este o zonă viitoare și interesantă a aplicației chatbot.

Îndepărtarea buruienilor

În agricultură, roboții alimentați de Machine Learning sunt folosiți pentru a pulveriza în mod selectiv buruienile și alte plante nedorite în mijlocul culturilor.

Altfel, acest lucru ar trebui făcut manual sau ar fi o risipă sălbatică, deoarece sistemul ar pulveriza produsul și cu lichidul ucigaș!

Interacțiunea pe bază de voce cu sistemele informatice nu mai este science fiction. Astăzi avem asistenți digitali precum Alexa, Siri și Google Home care pot prelua comenzile verbal și nu dau greșelii (bine, aproape!).

Unii ar putea argumenta că este o invenție cel mai bine evitată, deoarece face ca rasa umană să fie mai leneșă ca niciodată, dar nu poți contesta eficacitatea.

  Procesarea salariilor este mai ușoară decât credeți cu Rippling tipstrick.ro

Diagnostic medical

Suntem în pragul unei revoluții în diagnosticul medical, deoarece sistemele bazate pe Machine Learning încep să depășească medicii cu experiență în diagnostic prin raze X etc.

Vă rugăm să rețineți că acest lucru nu înseamnă că în curând nu va fi nevoie de medici, ci că calitatea asistenței medicale va crește dramatic, în timp ce costurile vor avea o scădere (cu excepția cazului în care cartelurile de afaceri dictează altfel!).

Acesta a fost doar o mostră a ceea ce este folosit învățarea automată. Mașini care se conduc singure, roboți cu jocuri de strategie, mașini de pliat tricouri, spargere captcha și fotografii alb-negru de colorat au loc în aceste zile.

Tipuri de învățare automată

Tehnicile de învățare automată sunt de două feluri.

Învățare supravegheată, în care sistemul este condus de judecata umană, și Învățare nesupravegheată, în care sistemul este lăsat să învețe de la sine. Un alt mod de a spune același lucru ar fi că în Învățare Supervizată, avem un set de date care conține atât intrările, cât și ieșirile așteptate, pe care sistemul le folosește pentru a compara și a se auto-corecta. În Învățare nesupravegheată, totuși, nu există niciun rezultat existent cu care să se măsoare, așa că rezultatele pot varia foarte mult.

O aplicație captivantă și captivantă a învățării automate nesupravegheate?

Ar fi boți care joacă jocuri de societate, în care programul este învățat regulile jocului și condițiile de câștig și apoi este lăsat la dispoziție. Programul joacă apoi milioane de jocuri împotriva lui, învățând din greșelile sale și întărind deciziile avantajoase.

Dacă sunteți pe un computer suficient de puternic, un AI de joc de-a lungul lumii poate fi pregătit în câteva ore!

Următoarele imagini ilustrează aceste idei în mod succint (sursa: Medium):

Resurse pentru a începe în Machine Learning

Deci, acum că sunteți încântați de Machine Learning și de cum vă poate ajuta să cuceriți lumea, de unde să începeți?

Mai jos am enumerat câteva resurse fantastice de pe Web care vă pot ajuta să obțineți fluență în învățarea automată fără a obține un doctorat. in informatica! Dacă nu sunteți un cercetător în domeniul învățării automate, veți găsi domeniul învățării automate la fel de practic și plăcut ca și programarea în general.

Deci, nu vă faceți griji, indiferent de nivelul dvs. în prezent, puteți, ca un program bun de învățare automată, să vă învățați și să vă îmbunătățiți. 😛

#1. Programare

Prima cerință pentru a intra în Machine Learning este să înveți să programezi. Asta pentru că sistemele de învățare automată vin sub formă de biblioteci pentru diferite limbaje de programare.

  Cum să vă deconectați de la Mac după o perioadă stabilită de inactivitate

Python este cel mai recomandat, parțial pentru că este incredibil de plăcut de învățat și parțial pentru că are un ecosistem masiv de biblioteci și resurse.

The oficial Ghidul pentru începători este un loc minunat pentru a începe, chiar dacă sunteți puțin familiarizat cu Python. Sau, ia asta Curs bootcamp pentru a deveni un erou de la zero.

#2. Gândiți-vă la statistici

Odată ce ați terminat cu elementele de bază ale Python, a doua mea recomandare ar fi să parcurgeți două cărți extraordinare. Sunt 100% gratuite și disponibile ca PDF pentru descărcare. Gândiți-vă la statistici și Gândește-te la Bayes sunt două clasice moderne pe care fiecare aspirant inginer de învățare automată ar trebui să le internalizeze.

#3. Udemy

În acest moment, ți-aș recomanda să iei câteva cursuri de la Udemy. Formatul interactiv, cu ritm propriu, vă va ajuta să intrați în esențialitate și să vă creați încredere.

Asigurați-vă că verificați previzualizarea cursului, recenziile (în special cele negative!) și senzația generală a cursului înainte de a începe.

De asemenea, puteți găsi tutoriale uimitoare pe YouTube gratuit. Sentdex este un astfel de canal pe care îl pot recomanda, unde se întâmplă mereu o mulțime de distracție, dar abordarea lui nu este prietenoasă pentru începători.

#4. Andrei Ng

Curs susținut de Andrew Ng pe Coursera este probabil cea mai populară resursă de învățare pentru elementele fundamentale ale învățării automate.

Deși folosește limbajul de programare R, rămâne de neegalat în tratarea subiectului și explicațiile sale lucide. Datorită acestui curs, Andrew Ng a atins oarecum o statură divină în cercurile ML, iar oamenii se bucură de el pentru înțelepciunea supremă (nu glumesc!).

Acesta nu este un curs pentru începători, dar dacă sunteți deja bun la disputele de date și nu vă deranjează niște cercetări secundare pe măsură ce mergeți, acest curs este cea mai bună recomandare.

#5. Udacity

Deveniți inginer de învățare automată luând acest nanograd până la Udacity.

Va dura aproximativ 3 luni pentru a finaliza și a termina cursul, se așteaptă să aveți o idee corectă despre algoritmii de învățare automată, cum să îi modelați și să îi implementați în producție.

Concluzie

Resursele de pe internet nu se termină și te poți pierde cu ușurință când începi. Majoritatea tutorialelor și discuțiilor de acolo sunt dificile din punct de vedere matematic sau lipsite de o structură și vă pot rupe încrederea înainte de a începe.

Așadar, aș dori să vă avertizez împotriva autodistrugerii: păstrați-vă obiectivul modest și mișcați-vă în pași minimi. Învățarea automată nu este ceva cu care să te simți confortabil într-o zi sau două, dar destul de curând, vei începe să te distrezi și cine știe, poate chiar să creezi ceva înfricoșător!

A se distra! 🙂