Faza 02 · lecția 01

Ce este învățarea automată

Scopul lecției: Învățarea automată înseamnă să învățați calculatoarele să găsească tipare în date, în loc să scrieți manual regulile.

Versiunea curentă AlexBred.com: primele 100 de lecții ale programului în limba română.

Curs
AI Engineering from Scratch
Fază
Bazele învățării automate
Lectură
23 min.
Verificat
Cuprinsul lecției
  1. Obiective de învățare
  2. Problema
  3. Conceptul
  4. Învățare din date, nu din reguli
  5. Cele trei tipuri de învățare automată
  6. Dincolo de cele trei categorii principale
  7. Clasificare sau regresie
  8. Fluxul de lucru ML
  9. Împărțirea în seturi de antrenare, validare și testare
  10. Supraînvățare și subînvățare
  11. Compromisul deplasare–varianță
  12. Teorema No Free Lunch
  13. Când să NU folosiți învățarea automată
  14. Construiți
  15. Pasul 1: clasificator bazat pe cel mai apropiat centroid, de la zero
  16. Pasul 2: antrenarea pe date sintetice
  17. Pasul 3: comparația cu un reper
  18. De ce contează
  19. Pasul 4: ce nu poate face clasificatorul pe centroizi
  20. Folosiți
  21. Livrați
  22. Termeni-cheie
  23. Exerciții
  24. Lecturi suplimentare

Învățarea automată înseamnă să învățați calculatoarele să găsească tipare în date, în loc să scrieți manual regulile.

Tip: Învățare Limbaje: Python Cerințe preliminare: Faza 1 (Fundamente matematice) Durată: ~45 de minute

Obiective de învățare

  • Să explicați diferența dintre învățarea supervizată, cea nesupervizată și cea prin întărire și să identificați tipul potrivit unei probleme
  • Să implementați de la zero un clasificator bazat pe cel mai apropiat centroid și să-l evaluați în raport cu un reper aleatoriu
  • Să deosebiți sarcinile de clasificare de cele de regresie și să selectați funcția de pierdere potrivită fiecăreia
  • Să evaluați dacă o problemă de afaceri este potrivită pentru ML sau ar fi rezolvată mai bine prin reguli deterministe

Problema

Doriți să construiți un filtru de spam. Abordarea tradițională: vă așezați și scrieți sute de reguli. „Dacă e-mailul conține «BANI GRATIS», marcați-l drept spam. Dacă are mai mult de trei semne de exclamare, marcați-l drept spam.” Petreceți săptămâni scriind reguli. Apoi expeditorii de spam își schimbă formulările. Regulile nu mai funcționează. Scrieți altele. Ciclul nu se încheie niciodată.

Învățarea automată inversează abordarea. În loc să scrieți reguli, oferiți calculatorului mii de e-mailuri etichetate drept „spam” sau „nu este spam” și îl lăsați să deducă singur regulile. Calculatorul găsește tipare la care poate nu v-ați fi gândit. Când expeditorii de spam își schimbă tacticile, reantrenați modelul pe date noi, în loc să rescrieți codul.

Această trecere de la „programarea regulilor” la „învățarea din date” este esența învățării automate. Numeroase motoare de recomandare, asistenți vocali, sisteme de conducere automatizată și modele lingvistice se bazează pe această abordare, de obicei împreună cu software determinist.

Conceptul

Învățare din date, nu din reguli

Programarea tradițională și învățarea automată abordează problema din direcții opuse.

Диаграмма к уроку «Ce este învățarea automată»

În programarea tradițională, scrieți regulile. Programul le aplică datelor pentru a produce rezultatul.

În învățarea automată, furnizați date și rezultate așteptate. Algoritmul descoperă regulile.

„Modelul” rezultat în urma antrenării reprezintă regulile codificate numeric, sub formă de ponderi și parametri. El generalizează din exemplele observate pentru a face predicții pe date pe care nu le-a mai văzut.

Cele trei tipuri de învățare automată

Диаграмма к уроку «Ce este învățarea automată»

Învățare supervizată: aveți perechi intrare–ieșire. Modelul învață să asocieze intrările cu ieșirile.

  • „Iată 10.000 de fotografii etichetate drept pisică sau câine. Învățați să le deosebiți.”
  • „Iată caracteristicile și prețurile unor locuințe. Învățați să preziceți prețul.”

Învățare nesupervizată: aveți numai intrări, fără etichete. Modelul găsește singur o structură în date.

  • „Iată istoricul cumpărăturilor a 10.000 de clienți. Găsiți grupările naturale.”
  • „Iată puncte de date cu 1.000 de dimensiuni. Reduceți-le la două dimensiuni, păstrând cât mai bine structura.”

Învățare prin întărire: un agent efectuează acțiuni într-un mediu și primește recompense sau penalizări. El învață o strategie, numită politică, pentru a maximiza recompensa cumulată.

  • „Jucați acest joc. +1 pentru victorie, −1 pentru înfrângere. Descoperiți o strategie.”
  • „Controlați acest braț robotic. +1 pentru ridicarea obiectului, −0,01 pentru fiecare secundă irosită.”

O mare parte din proiectele ML obișnuite folosesc învățarea supervizată. Învățarea nesupervizată este frecventă în explorarea și preprocesarea datelor. Învățarea prin întărire este utilizată în IA pentru jocuri, robotică și unele etape de aliniere a modelelor lingvistice, inclusiv RLHF.

Dincolo de cele trei categorii principale

Cele trei categorii de mai sus sunt clare ca introducere, însă învățarea automată din lumea reală estompează adesea granițele dintre ele.

Învățarea semisupervizată folosește un set mic de date etichetate și unul mare de date neetichetate. De exemplu, ați putea avea 100 de imagini medicale etichetate și 100.000 neetichetate. Tehnicile includ:

  • Propagarea etichetelor: construiți un graf care conectează punctele de date similare. Etichetele se propagă prin graf de la nodurile etichetate la vecinii neetichetați.
  • Pseudoetichetarea: antrenați un model pe datele etichetate, îl folosiți pentru a prezice etichete pentru datele neetichetate, apoi îl reantrenați pe întregul set. Modelul își extinde astfel propriul set de antrenare.
  • Regularizarea prin consistență: modelul ar trebui să ofere aceeași predicție pentru o intrare și pentru o versiune ușor perturbată a acesteia. Metoda poate folosi și exemple fără etichete.

Învățarea autosupervizată creează semnalul de supervizare din datele înseși. Nu sunt necesare etichete adnotate de oameni. Modelul își primește sarcina de predicție din structura datelor.

  • Modelare lingvistică cu mascare (BERT): selectați aleatoriu 15% dintre tokenurile unei propoziții. În schema de preantrenare BERT, 80% dintre tokenurile selectate sunt înlocuite cu [MASK], 10% cu un token aleatoriu și 10% sunt păstrate; antrenați modelul să le prezică. „Etichetele” provin din textul original.
  • Învățare contrastivă (SimCLR): porniți de la o imagine și creați două versiuni augmentate. Antrenați modelul să recunoască faptul că provin din aceeași imagine, deosebindu-le de versiunile augmentate ale altor imagini.
  • Predicția tokenului următor (GPT): preziceți următorul token pe baza tuturor tokenurilor anterioare. Fiecare document textual furnizează exemple de antrenare.

Aceste strategii nu se suprapun perfect peste cele trei categorii introductive. Învățarea autosupervizată optimizează de regulă un obiectiv de predicție asemănător celui supervizat, însă țintele sunt generate automat din date, nu adnotate de oameni.

Notă tehnică a traducerii: formularea sursei simplifică mascarea BERT drept ascunderea tuturor tokenurilor selectate. Schema originală selectează 15% dintre poziții, apoi aplică proporțiile 80% [MASK], 10% token aleatoriu și 10% token neschimbat.

Clasificare sau regresie

Acestea sunt două dintre principalele sarcini de învățare supervizată.

Aspect Clasificare Regresie
Ieșire Categorii discrete Numere continue
Exemplu „Este acest e-mail spam?” „Care va fi prețul locuinței?”
Spațiul ieșirilor {pisică, câine, pasăre} Orice număr real
Funcție de pierdere Entropie încrucișată Eroare pătratică medie, MAE
Decizie Frontiere între clase O curbă care aproximează datele

Clasificarea răspunde la întrebarea „din ce categorie?”, iar regresia la „cât?”. Acuratețea (accuracy) este o metrică de evaluare a clasificării, nu în mod obișnuit funcția de pierdere optimizată la antrenare.

Notă tehnică: Sursa enumeră acuratețea în rândul funcțiilor de pierdere. Deoarece clasificarea corectă este o decizie discretă și nediferențiabilă, modelele bazate pe gradient optimizează de regulă o pierdere precum entropia încrucișată și raportează separat acuratețea.

Unele probleme pot fi formulate în ambele moduri. Predicția direcției în care se va mișca o acțiune bursieră este o clasificare. Predicția prețului exact este o regresie.

Fluxul de lucru ML

Majoritatea proiectelor de învățare automată urmează o variantă a aceluiași flux, indiferent de algoritm.

Диаграмма к уроку «Ce este învățarea automată»

Colectați date: adunați date brute. Un volum mai mare poate ajuta dacă datele sunt relevante și reprezentative, însă calitatea, acoperirea și corectitudinea etichetelor sunt esențiale.

Curățați și explorați: tratați valorile lipsă, eliminați duplicatele, vizualizați distribuțiile și identificați anomaliile. Această etapă ocupă adesea o parte considerabilă din proiect, dar nu există un procent universal valabil precum 60–80%.

Proiectați caracteristici: transformați datele brute în caracteristici pe care modelul le poate utiliza. Extrageți ziua săptămânii din date calendaristice, normalizați coloanele numerice și codificați variabilele categoriale. Reprezentarea potrivită a datelor poate conta mai mult decât alegerea unui algoritm mai sofisticat.

Împărțiți datele: separați-le în seturi de antrenare, validare și testare. Modelul învață din datele de antrenare, reglați hiperparametrii pe datele de validare și raportați performanța finală pe setul de testare. Împărțirea trebuie făcută astfel încât să evite scurgerea de informații și să reflecte modul real de utilizare, de exemplu printr-o separare temporală pentru predicții în timp.

Antrenați modelul: furnizați datele de antrenare unui algoritm. Algoritmul ajustează parametrii interni pentru a minimiza o funcție de pierdere.

Evaluați: măsurați performanța pe date de validare și, la final, pe date de testare. Dacă performanța de validare nu este acceptabilă, încercați alte caracteristici, algoritmi sau hiperparametri.

Implementați în producție: puneți modelul într-un sistem unde face predicții pentru date noi.

Monitorizați: urmăriți în timp performanța și datele de intrare. Distribuțiile se pot schimba, fenomen numit derivă a datelor, iar performanța modelului se poate degrada. Când se întâmplă acest lucru, investigați cauza și reantrenați sau reproiectați sistemul după caz.

Împărțirea în seturi de antrenare, validare și testare

Acesta este unul dintre conceptele pe care începătorii le aplică cel mai des greșit. Trebuie să evaluați modelul pe date nefolosite la antrenare și la selecția lui. În caz contrar, puteți măsura memorarea sau adaptarea la setul de evaluare, nu generalizarea.

Диаграмма к уроку «Ce este învățarea automată»

Set Scop Când este utilizat Dimensiune tipică
Antrenare Modelul învață din aceste date În timpul antrenării 60–80%
Validare Reglarea hiperparametrilor, compararea modelelor După fiecare rulare de antrenare 10–20%
Testare Estimarea finală, independentă, a performanței După finalizarea alegerilor de model 10–20%

Protejați independența setului de testare. Folosiți-l pentru evaluarea finală după ce ați încheiat selecția modelului. Dacă ajustați repetat modelul în funcție de performanța de testare, informația din acel set intră indirect în procesul de antrenare, iar estimarea raportată devine optimistă. Într-un ciclu nou de dezvoltare puteți avea nevoie de un nou set de testare reprezentativ, nu de regula literală „îl priviți o singură dată pentru totdeauna”.

Pentru seturi mici, puteți folosi validarea încrucișată cu k partiții: împărțiți datele în k părți, antrenați pe k−1 părți, validați pe cea rămasă, rotiți rolurile și calculați media rezultatelor. Un set de testare separat poate rămâne rezervat estimării finale.

Supraînvățare și subînvățare

Диаграмма к уроку «Ce este învățarea automată»

Subînvățare: modelul este prea simplu pentru a surprinde tiparele din date. Imaginați-vă o dreaptă care încearcă să descrie o relație curbată. Eroarea de antrenare este mare, iar eroarea de testare este de asemenea mare.

Supraînvățare: modelul este prea complex și memorează particularitățile datelor de antrenare, inclusiv zgomotul. Imaginați-vă o curbă oscilantă care trece prin fiecare punct de antrenare, dar eșuează pe date noi. Eroarea de antrenare este mică, iar cea de testare este mare.

Potrivire bună: modelul surprinde tiparele reale fără să memoreze zgomotul. Erorile de antrenare și de testare sunt ambele rezonabil de mici pentru problema dată.

Semne posibile de supraînvățare:

  • Acuratețea pe setul de antrenare este mult mai mare decât pe cel de validare
  • Modelul funcționează bine pe datele de antrenare, dar slab pe date noi
  • Adăugarea unor date de antrenare reprezentative îmbunătățește performanța de validare; acesta este un indiciu, nu o dovadă unică a memorării

Remedii pentru supraînvățare:

  • Obțineți mai multe date de antrenare reprezentative
  • Reduceți complexitatea modelului, folosind mai puțini parametri sau o arhitectură mai simplă
  • Folosiți regularizare, adăugând o penalizare pentru ponderi mari sau pentru complexitate
  • Folosiți dropout, dezactivând aleatoriu unități în timpul antrenării
  • Opriți antrenarea devreme, când eroarea de validare începe să crească

Remedii pentru subînvățare:

  • Folosiți un model mai expresiv
  • Adăugați caracteristici relevante
  • Reduceți regularizarea
  • Antrenați mai mult, dacă optimizarea nu a ajuns încă la convergență

Compromisul deplasare–varianță

Acesta este un cadru matematic folosit pentru a analiza supraînvățarea și subînvățarea.

Deplasare (bias): eroare sistematică produsă de ipotezele modelului. Un model liniar are o deplasare mare atunci când relația reală este neliniară. Deplasarea mare poate conduce la subînvățare.

Varianță: sensibilitatea predicției la fluctuațiile setului de antrenare. Un model cu varianță mare oferă predicții foarte diferite când este antrenat pe submulțimi diferite de date. Varianța mare poate conduce la supraînvățare.

Complexitatea modelului Deplasare Varianță Rezultat
Prea mică, de exemplu model liniar pentru date curbate Mare Mică Subînvățare
Potrivită Medie Medie Generalizare bună
Prea mare, de exemplu polinom de gradul 20 pentru 10 puncte Mică Mare Supraînvățare

Pentru o predicție scalară evaluată prin eroare pătratică, descompunerea clasică este:

Eroare așteptată = Deplasare^2 + Varianță + Zgomot ireductibil

Notă tehnică: Formula din sursă nu este o identitate universală pentru orice model, metrică sau sarcină. Ea este descompunerea erorii pătratice așteptate, în ipotezele statistice corespunzătoare; clasificarea și alte pierderi necesită alte descompuneri.

Nu puteți elimina zgomotul ireductibil, adică variația aleatoare din date chiar și atunci când intrările sunt cunoscute. Urmăriți un compromis bun, în care suma dintre deplasarea la pătrat și varianță este mică pe distribuția relevantă.

Teorema No Free Lunch

Niciun algoritm nu este cel mai bun pentru toate problemele posibile. În formulările clasice No Free Lunch, avantajul unui algoritm asupra unei clase de probleme este compensat atunci când performanța este mediată uniform peste toate problemele admise. În practică, problemele reale nu sunt distribuite uniform, iar ipotezele inductive potrivite domeniului permit algoritmilor să aibă performanțe diferite. De aceea, cercetătorii compară mai mulți algoritmi și folosesc cunoștințe despre structură, date și obiectiv.

În practică, alegerea depinde de:

  • Volumul și reprezentativitatea datelor
  • Numărul și natura caracteristicilor
  • Caracterul liniar sau neliniar al relației
  • Cerințele de interpretabilitate
  • Bugetul de calcul disponibil

Când să NU folosiți învățarea automată

ML este puternică, dar nu este întotdeauna instrumentul potrivit. Înainte de a alege un model, întrebați-vă dacă aveți într-adevăr nevoie de unul.

Nu folosiți ML atunci când:

  • Regulile sunt simple și bine definite. Calcularea taxelor după o formulă stabilită, sortarea și conversia unităților sunt exemple tipice. Dacă puteți scrie logica în câteva condiții clare, un model adaugă complexitate fără beneficii.
  • Nu aveți suficiente date relevante. ML are nevoie de exemple din care să învețe. Zece puncte pot fi suficiente pentru anumite modele simple și întrebări restrânse, dar rareori susțin un model flexibil sau o estimare solidă a generalizării. Analizați mai întâi informația disponibilă și colectați date dacă este necesar.
  • Nu puteți gestiona în siguranță erorile într-un context critic. Calculul dozei medicale, controlul unui reactor și verificarea criptografică necesită garanții, validare și mecanisme de siguranță adecvate. ML poate apărea în unele sisteme critice reglementate, inclusiv dispozitive medicale autorizate, dar nu trebuie să fie singura barieră de siguranță atunci când este necesară corectitudine deterministă.
  • Un tabel de căutare sau o euristică rezolvă problema. Dacă un prag simplu sau un tabel acoperă satisfăcător cazurile relevante, ML poate crește costul de întreținere fără un câștig semnificativ.
  • Nu puteți furniza explicațiile cerute. În domenii reglementate precum creditarea, asigurările sau justiția penală pot exista cerințe de transparență și contestare a deciziilor. Alegeți un model și un proces de explicare care satisfac cerința; unele modele, precum regresia liniară și arborii de decizie mici, sunt mai ușor de interpretat decât altele.
  • Problema se schimbă mai repede decât puteți actualiza sistemul. Dacă relațiile se schimbă zilnic, iar reantrenarea durează o săptămână, modelul va fi permanent depășit.

Folosiți următoarea diagramă decizională:

Диаграмма к уроку «Ce este învățarea automată»

Notă tehnică: Diagrama este o euristică introductivă, nu o analiză completă a riscului. În aplicații critice, decizia trebuie să includă cerințe de sistem, controlul pericolelor, performanța echipei om–IA, monitorizarea și cadrul de reglementare.

Construiți

Codul din code/ml_intro.py implementează de la zero un clasificator bazat pe cel mai apropiat centroid, unul dintre cei mai simpli algoritmi ML. Acesta demonstrează ideea centrală: învățați din date, apoi faceți predicții pe date noi.

Pasul 1: clasificator bazat pe cel mai apropiat centroid, de la zero

Clasificatorul calculează centrul, adică media, fiecărei clase din datele de antrenare. Pentru predicție, atribuie fiecare punct nou clasei al cărei centru este cel mai apropiat.

class NearestCentroid:
    def fit(self, X, y):
        self.classes = np.unique(y)
        self.centroids = np.array([
            X[y == c].mean(axis=0) for c in self.classes
        ])

    def predict(self, X):
        distances = np.array([
            np.sqrt(((X - c) ** 2).sum(axis=1))
            for c in self.centroids
        ])
        return self.classes[distances.argmin(axis=0)]

Acesta este întregul algoritm. Metoda fit calculează câte o medie pentru fiecare clasă, iar predict calculează distanțele. Nu există coborâre pe gradient, iterații de optimizare sau hiperparametri în această implementare.

Pasul 2: antrenarea pe date sintetice

Generăm un set de clasificare 2D cu două clase care se suprapun ușor. Clasificatorul pe centroizi trasează o frontieră de decizie liniară între centrele claselor.

rng = np.random.RandomState(42)
X_class0 = rng.randn(100, 2) + np.array([1.0, 1.0])
X_class1 = rng.randn(100, 2) + np.array([-1.0, -1.0])
X = np.vstack([X_class0, X_class1])
y = np.array([0] * 100 + [1] * 100)

Pasul 3: comparația cu un reper

Comparați fiecare model ML cu un reper trivial relevant. Aici, reperul prezice aleatoriu clasa. Dacă modelul ML nu depășește această alegere aleatorie pe un set de evaluare independent, investigați datele, implementarea și formularea problemei.

baseline_preds = rng.choice([0, 1], size=len(y_test))
baseline_acc = np.mean(baseline_preds == y_test)

Clasificatorul pe centroizi poate obține o acuratețe de aproximativ 90% pe acest set curat, în funcție de împărțirea efectivă. Reperul aleatoriu echilibrat are o acuratețe așteptată de 50%.

Notă tehnică: Fragmentele prezentate separat nu definesc X_train, X_test, y_train și y_test; ele presupun etapa de împărțire din fișierul complet al lecției. Nu evaluați pe aceleași exemple folosite de fit.

De ce contează

Clasificatorul bazat pe cel mai apropiat centroid este foarte simplu. Nu are hiperparametri în forma prezentată, nici iterații sau coborâre pe gradient. Totuși, surprinde tiparul fundamental al fluxului ML:

  1. Învățați o reprezentare din datele de antrenare, aici centroizii
  2. Preziceți pe date noi folosind acea reprezentare, aici distanța minimă
  3. Evaluați în raport cu un reper, aici alegerea aleatorie

Algoritmii ML, de la regresia logistică la transformere, pot fi integrați în acest flux în trei pași. Reprezentarea și procedura de optimizare devin mai complexe, însă separarea dintre antrenare, predicție și evaluare rămâne.

Pasul 4: ce nu poate face clasificatorul pe centroizi

Clasificatorul bazat pe cel mai apropiat centroid reprezintă fiecare clasă printr-un singur centru și, cu distanța euclidiană, trasează frontiere liniare între centroizi. El eșuează atunci când:

  • Clasele au mai multe clustere, de exemplu cifra „1” poate fi scrisă în moduri diferite
  • Frontiera de decizie este neliniară, de exemplu o clasă o înconjoară pe alta
  • Caracteristicile au scări foarte diferite, iar distanța este dominată de caracteristica cu scara cea mai mare

Aceste limitări motivează alți algoritmi pe care îi veți studia. Metoda celor mai apropiați k vecini gestionează mai bine clusterele multiple. Arborii de decizie modelează frontiere neliniare. Scalarea caracteristicilor corectează problema unităților diferite. Fiecare lecție pornește de la limitele metodelor precedente.

Folosiți

scikit-learn oferă NearestCentroid și generatoare de date sintetice:

from sklearn.neighbors import NearestCentroid
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

X, y = make_classification(
    n_samples=500, n_features=2, n_redundant=0,
    n_clusters_per_class=1, random_state=42
)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

clf = NearestCentroid()
clf.fit(X_train, y_train)
print(f"Accuracy: {clf.score(X_test, y_test):.3f}")

Notă tehnică: Codul fixează aleatorietatea generatorului, dar nu și pe cea a împărțirii. Pentru rezultate reproductibile, furnizați random_state și în train_test_split; pentru clasificare, luați în calcul și stratify=y, mai ales la clase dezechilibrate.

Livrați

Această lecție produce outputs/prompt-ml-problem-framer.md — un prompt care transformă probleme vagi de afaceri în sarcini ML concrete. Furnizați-i descrierea unei probleme, precum „dorim să reducem abandonul clienților” sau „preziceți cererea pentru trimestrul următor”, iar acesta identifică tipul de învățare, definește ținta predicției, enumeră caracteristici candidate, alege o metrică de succes, stabilește un reper și semnalează capcane precum scurgerea de date sau dezechilibrul claselor. Folosiți-l la începutul unui proiect ML pentru a evita construirea unei soluții nepotrivite.

Termeni-cheie

Termen Cum i se spune Ce înseamnă de fapt
Model „IA-ul” O funcție matematică având parametri care pot fi învățați și care asociază intrări cu ieșiri
Antrenare „Învățarea IA-ului” Rularea unui algoritm de optimizare care ajustează parametrii modelului astfel încât predicțiile să corespundă rezultatelor cunoscute
Caracteristică „O coloană de intrare” O proprietate măsurabilă a datelor pe care modelul o folosește pentru predicții
Etichetă „Răspunsul” Rezultatul cunoscut al unui exemplu de antrenare, folosit pentru calcularea semnalului de eroare
Hiperparametru „O setare pe care o reglați” Parametru stabilit în afara antrenării care controlează procesul de învățare, precum rata de învățare sau numărul de straturi
Funcție de pierdere „Cât de mult greșește modelul” Funcție care măsoară diferența dintre predicțiile modelului și rezultatele reale și pe care antrenarea încearcă să o minimizeze
Supraînvățare „A memorat datele” Modelul a învățat zgomot și particularități ale antrenării în locul tiparelor generale, așa că eșuează pe date noi
Subînvățare „Nu a învățat nimic” Modelul este prea simplu sau insuficient optimizat pentru a surprinde tiparele relevante din date
Generalizare „Funcționează pe date noi” Capacitatea modelului de a face predicții corecte pe date care nu au fost folosite pentru antrenare sau selecție
Validare încrucișată „Testare pe partiții diferite” Repetarea antrenării și validării pe partiții diferite și agregarea rezultatelor pentru o estimare mai robustă; testul final poate rămâne separat
Regularizare „Menținerea ponderilor mici” Modificarea obiectivului sau a procedurii de antrenare pentru a descuraja modele excesiv de complexe; penalizarea ponderilor este un exemplu
Deriva datelor „Lumea s-a schimbat” Schimbarea în timp a distribuției statistice a datelor de intrare, care poate degrada performanța modelului

Exerciții

  1. Luați orice set de date, de exemplu Iris sau Titanic. Împărțiți-l în proporție de 70/15/15 în seturi de antrenare, validare și testare. Explicați de ce nu ar trebui să reglați hiperparametrii pe setul de testare.
  2. Enumerați trei probleme din lumea reală. Pentru fiecare, stabiliți dacă este clasificare, regresie sau clusterizare și dacă este supervizată ori nesupervizată.
  3. Un model obține o acuratețe de 99% pe datele de antrenare, dar de 60% pe cele de testare. Diagnosticați problema și enumerați trei măsuri prin care ați încerca să o remediați.

Lecturi suplimentare


Sursă: What Is Machine Learning — original

Navigare: Faza 2 — Bazele învățării automate · Catalog complet · în continuare: 02.02 — Regresie liniară.