Această serie este o încercare de a face rețelele neuronale ușor de înțeles pentru oamenii care nu știu nimic mai mult decât matematica de liceu. Nu există o groază mai mare decât să vizionezi ecuații matematice plictisitoare și rânduri lungi de cod după cod, fără idee cum să folosești vreuna dintre ele. Îndepărtează toată distracția!

Deci, fără alte prelungiri, să începem prin a înțelege o simplă Problemă de clasificare care va introduce ușor conceptele din spatele rețelelor neuronale.

Să presupunem că sunteți managerul de angajare al unei companii care caută să angajeze studenți pentru stagii de vară. Este posibil să primiți un CV al unui student care are un GPA 3.0 și a finalizat 10 proiecte personale, vă decideți să îl angajați. Un alt CV ar putea avea un GPA 1.0 și 2 proiecte personale, respingeți cererea. Acum trebuie să vă decideți asupra unui alt CV cu un GPA de 2,7 și 8 proiecte personale dacă este acceptat sau nu?

Pentru a găsi răspunsul, să începem prin a reprezenta datele pe care le avem deja pe un grafic cu GPA pe axa x și numărul de proiecte pe axa y.

Punctul albastru arată studentul care a fost acceptat, punctul portocaliu este studentul care a fost respins, iar punctul gri este pentru studentul pentru care trebuie să decidem. Acum să adăugăm toate acceptările și respingeriile care s-ar fi putut întâmpla în ultimii ani și să adăugăm acele date în graficul nostru.

Observați linia care separă punctele albastre de portocalii, vă spune clar că studentul cu 2.7 GPA și 8 proiecte ar trebui să fie acceptat. Această linie se numește „modelul” în jargonul AI/Rețea neuronală/ML(Întotdeauna am obținut să mă sperie ori de câte ori auzeam acest termen, dar nu e chiar așa de rău, nu-i așa?). Pentru noi, oamenii, este ușor să trasăm această linie, dar implică sarcina banală de a trasa cu atenție fiecare punct de date și apoi de a găsi linia potrivită. Vești bune, computerele au fost create pentru a ne îndepărta toată această muncă plictisitoare, astfel încât să ne putem concentra pe sarcini mai importante. Deci, cum facem ca computerele să găsească modelul pentru noi?

Să începem cu niște matematici de bază, vom eticheta axa orizontală corespunzătoare GPA cu variabila x1 și axa verticală corespunzătoare numărului de proiecte cu variabila x2. Deci linia de delimitare care separă punctele albastre și portocalii va avea o ecuație liniară:

Ceea ce reprezintă cu adevărat această ecuație este un scor al elevului și poate fi scris în formatul:

Acum ori de câte ori vrem să aflăm dacă un nou student este eligibil sau nu, introducem fiecare dintre valorile din această ecuație și dacă scorul este pozitiv, atunci acceptăm studentul, altfel nu. Să punem 2.7 ca GPA și 8 în numărul de proiecte. Obținem un scor de 3,9. Studentul este eligibil!

Într-o formă mai generală, vom avea o ecuație pentru model ca:

sau în formă vectorială ca:

Unde

și

și luăm pur și simplu produsul celor doi vectori. Prin convenție, ne vom referi la W ca ponderi, x ca intrări și b ca părtinire. Putem eticheta scorurile pozitive ca 1 (puncte albastre) și scorurile negative ca 0 (puncte portocalii).

În cele din urmă, predicția modelului nostru va fi:

ceea ce înseamnă că algoritmul nostru va încerca să prezică 1 dacă scorul este mai mare de 0 și 0 dacă scorul este mai mic de 0. Cu cât mai îndeaproape, algoritmul nostru poate face predicții la etichetele pe care datele le au deja, cu atât va funcționa mai bine, ceea ce este exact echivalent cu linia de cea mai bună potrivire care separă punctele albastre de punctele portocalii.

Pentru acest articol, mă voi opri chiar aici și sper că până acum, s-au introdus unele probleme de clasificare, cum funcționează ele și cum algoritmii încearcă să găsească predicții. Acesta a fost un fundal simplu pe care am vrut să le prezint înainte de a face o analiză profundă. scufundați-vă în uimitoarea lume a rețelelor neuronale. Până data viitoare, adios!

Sugestiile de îmbunătățiri sunt binevenite :)