%%{init: {'themeVariables': { 'fontSize': '18px', 'subGraphTitleFontSize': '22px', 'fontFamily': 'Open Sans' }}}%%
flowchart LR
I[📥 Intrare<br><i>Date</i>] --> P[⚙️ Procesare<br><i>Serie de pași</i>]
P --> O[📤 Ieșire<br><i>Rezultat</i>]
Algoritm
Ce este un algoritm?
Un algoritm este o secvență de pași bine definiți care transformă datele de intrare în rezultatele dorite.
Linia de producție: „Algoritmul”
În „linia de producție”, algoritmul este procesul care spune cum se transformă materia primă în rezultat.
- Intrare: date (materia primă)
- Proces: pași clari de calcul/învățare (setări, optimizare, reguli de actualizare)
- Ieșire: un rezultat (în antrenament: un model; în utilizare: o predicție)
Două echipe pot folosi aceleași date, dar algoritmi diferiți.
Rezultatul: modele diferite ca performanță, viteză, cost sau transparență.
De ce sunt importanți algoritmii?
Algoritmii sunt importanți pentru AI din mai multe motive, printre care:
- Transformă datele brute în informație utilă: Datele brute (text, imagini sau numere) nu spun mare lucru singure. Algoritmii analizează aceste date și identifică tipare și relații care pot fi folosite pentru predicții sau decizii.
- Permit analiza la scară mare: Algoritmii pot procesa milioane sau miliarde de exemple într-un timp foarte scurt, lucru imposibil de realizat manual de oameni.
Alegerea algoritmului potrivit este la fel de importantă ca și calitatea datelor. Un algoritm nepotrivit poate limita performanța modelului, chiar dacă ai multe date.
Cum funcționează?
Fiecare algoritm urmează o structură de bază:
Exemplu simplu: Algoritmul de adunare
Adunarea numerelor 17 + 25:
Adunăm unitățile: 7 + 5 = 12
Scriem 2, ținem minte 1
Adunăm zecile: 1 + 2 = 3
Adăugăm ce am ținut minte: 3 + 1 = 4
Rezultat final: 42
Acest proces simplu demonstrează esența unui algoritm: pași clari, în ordine, care produc un rezultat predictibil.
Două tipuri de algoritmi
În contextul AI distingem două abordări fundamentale:
- Algoritmi tradiționali (deterministici) urmează o succesiune de pași ficși, definiți explicit de către programatori. Calculatorul execută instrucțiunile exact cum sunt definite. Aceleași intrări produc aceleași rezultate, pe baza unor reguli stricte de tip „Dacă A, atunci B”.
- Algoritmi de machine learning (probabilistici) nu primesc toate regulile explicit. În schimb, sunt antrenați pe seturi de date pentru a identifica tipare statistice. Pe baza acestor tipare, sistemul generează un model care poate face predicții probabilistice pentru date noi.
Algoritmii tradiționali execută reguli, algoritmii ML învață reguli din date.
Exemplu comparativ: Detectarea spam-ului
Regulile sunt scrise manual de programator:
- DACĂ email conține “câștigător” și “click aici” → SPAM
- DACĂ expeditor nu e în contacte și are atașamente → SPAM
- DACĂ subiect e DOAR MAJUSCULE → SPAM
Problemă: Spammerii învață regulile și le ocolesc. Trebuie actualizat constant manual.
Algoritmul este antrenat pe exemple:
- Primește 100.000 de emailuri etichetate (spam / nu-spam);
- Analizează tipare: cuvinte, structură, expeditor, ora;
- Estimează reguli/parametri statistici pe care omul nu i-ar defini direct;
- Generează un MODEL care poate clasifica emailuri noi.
Avantaj: Se adaptează automat la noi tipuri de spam.
Tipuri de algoritmi AI
%%{init: {'themeVariables': { 'fontSize': '18px', 'subGraphTitleFontSize': '22px', 'fontFamily': 'Open Sans' }}}%%
flowchart TB
ALG[Algoritmi AI] --> SUP[Învățare<br> supervizată]
ALG --> NESUP[Învățare<br> nesupervizată]
ALG --> REINF[Învățare<br> prin recompensă]
SUP --> |"date + etichete"| EX1["Clasificare imagini<br>Predicție prețuri"]
NESUP --> |"doar date"| EX2["Grupare clienți<br>Detectare anomalii"]
REINF --> |"încercare și eroare"| EX3["Jocuri<br>Roboți autonomi"]
style SUP fill:#f5f5f5,color:#000
style NESUP fill:#f5f5f5,color:#000
style REINF fill:#f5f5f5,color:#000
| Tip | Cum funcționează | Exemplu |
|---|---|---|
| Supervizat | Învață din exemple etichetate | „Aceasta este o pisică” |
| Nesupervizat | Găsește tipare fără etichete | Grupează clienții similari |
| Cu recompensă | Învață prin încercare și eroare | Un robot care învață să meargă |
Exemple
Intrare: Istoricul tău de vizionare pe Netflix
Pași:
- Analizează filmele pe care le-ai vizionat;
- Găsește utilizatori cu preferințe similare cu ale tale;
- Identifică filmele pe care ei le-au văzut, dar pe care tu nu le-ai văzut încă;
- Le ordonează în funcție de probabilitatea ca acestea să îți placă.
Ieșire: Lista „Recomandate pentru tine”
Intrare: Un email nou primit
Pași:
- Extrage cuvintele din conținutul email-ului;
- Compară cu tiparele cunoscute de spam;
- Calculează un scor de probabilitate bazat pe analiza anterioară;
- Dacă scorul > 80%, marchează email-ul ca spam.
Ieșire: Email în Inbox sau în Spam
Intrare: Locația ta + destinația
Pași:
- Identifică toate drumurile posibile;
- Calculează timpul pentru fiecare;
- Ia în considerare traficul actual;
- Alege ruta cea mai rapidă.
Ieșire: Indicații de navigare
%%{init: {'themeVariables': { 'fontSize': '18px', 'subGraphTitleFontSize': '22px', 'fontFamily': 'Open Sans' }}}%%
flowchart LR
D[Date] --> ANT[Antrenament]
ALG[<b>ALGORITM</b><br>Tu ești aici]:::current --> ANT
ANT --> M[Model AI]
classDef current fill:#CFE8F3,stroke:#000000,stroke-width:1px
| Concept | Relația cu Algoritmul |
|---|---|
| Date | Algoritmul PRIMEȘTE date ca intrare |
| Antrenament | Algoritmul ESTE executat repetat în timpul antrenamentului |
| Model AI | Modelul ESTE rezultatul aplicării algoritmului pe date |
Termeni asociați: → Date | → Antrenament | → Model AI