En aquesta primera lliçó respondrem la pregunta fonamental del curs: què és exactament el Machine Learning (aprenentatge automàtic)? Veurem una definició formal i una altra d'intuïtiva, entendrem en què es diferencia de la programació tradicional i coneixerem els conceptes bàsics que farem servir durant tot el curs: model, entrenament, predicció i dades d'entrenament. A més, presentarem MercaFresh, un supermercat en línia fictici els problemes de negoci del qual ens acompanyaran com a fil conductor a totes les lliçons. Entendre bé aquests fonaments és important perquè tota la resta —estadística, preprocessament, algorismes, avaluació— es construeix al damunt.

Contingut

  1. Una definició intuïtiva
  2. La definició formal
  3. Programació tradicional vs. Machine Learning
  4. Conceptes clau: dades, model, entrenament i predicció
  5. MercaFresh: el cas que acompanyarà tot el curs
  6. Què és (i què no és) el Machine Learning

Una definició intuïtiva

Imagina que vols ensenyar un nen a distingir pomes de taronges. No li dones una llista de regles de l'estil "si el diàmetre és superior a 7 cm i la rugositat supera l'índex 0,3, llavors és una taronja". Simplement li ensenyes moltes pomes i moltes taronges, li dius quina és quina, i el seu cervell aprèn dels exemples. Al cap d'un temps, el nen reconeix una fruita que no ha vist mai abans.

El Machine Learning funciona amb la mateixa filosofia:

  • En lloc d'escriure regles a mà, mostrem exemples a l'ordinador.
  • L'ordinador detecta patrons en aquests exemples.
  • Amb aquests patrons, és capaç de generalitzar: donar respostes correctes davant de casos nous que no ha vist mai.

Dit en una frase: el Machine Learning és la disciplina que permet als ordinadors aprendre de les dades sense ser programats explícitament per a cada cas concret.

La definició formal

La definició més citada és la de Tom Mitchell (1997):

"Es diu que un programa aprèn de l'experiència E respecte d'una tasca T i una mesura de rendiment P, si el seu rendiment en T, mesurat per P, millora amb l'experiència E."

Sembla abstracta, però s'entén de seguida amb un exemple aplicat al nostre supermercat en línia:

Component Significat Exemple a MercaFresh
Tasca (T) El que volem que faci el programa Predir quantes unitats de llet es vendran demà
Experiència (E) Les dades de les quals aprèn Historial de vendes diàries dels darrers 3 anys
Rendiment (P) Com mesurem si ho fa bé Diferència mitjana entre la predicció i les vendes reals

Si el programa, a mesura que veu més historial de vendes (E), prediu la demanda (T) amb menys error (P), llavors està aprenent. Així de concret és l'aprenentatge automàtic: no és màgia, és millora mesurable a partir de dades.

Programació tradicional vs. Machine Learning

Aquesta és la distinció més important de tota la lliçó. En la programació tradicional, el programador escriu les regles; en Machine Learning, les regles surten de les dades.

flowchart LR
    subgraph Tradicional["Programació tradicional"]
        A1[Dades] --> P1[Programa amb regles escrites a mà]
        R1[Regles] --> P1
        P1 --> S1[Respostes]
    end
    subgraph ML["Machine Learning"]
        A2[Dades] --> P2[Algorisme d'aprenentatge]
        S2[Respostes conegudes] --> P2
        P2 --> R2[Model: regles apreses]
    end

Fixa't en el canvi de flux: en l'enfocament tradicional hi entren dades i regles, i en surten respostes. En Machine Learning hi entren dades i respostes conegudes, i en surt un model (les regles apreses), que després farem servir per respondre casos nous.

Un exemple amb codi: detectar comandes sospitoses

Suposem que MercaFresh vol detectar comandes potencialment fraudulentes. Amb programació tradicional escriuríem regles a mà:

# Enfocament tradicional: regles escrites per una persona
def es_comanda_sospitosa(import_comanda, num_articles, client_nou):
    """Retorna True si la comanda sembla sospitosa, segons regles fixes."""
    if import_comanda > 500 and client_nou:
        return True          # comanda molt gran d'un client acabat de registrar
    if num_articles > 100:
        return True          # quantitat d'articles anormalment alta
    return False

print(es_comanda_sospitosa(import_comanda=650, num_articles=12, client_nou=True))
# Sortida: True

Expliquem el fragment pas a pas:

  • Definim una funció que rep tres característiques de la comanda: l'import, el nombre d'articles i si el client és nou.
  • Les condicions (import_comanda > 500, num_articles > 100) són llindars decidits per una persona, basats en la seva intuïció.
  • El programa no millorarà mai per si sol: si els estafadors canvien de tàctica (per exemple, fan moltes comandes petites), caldrà reescriure les regles a mà.

Amb Machine Learning, en canvi, el plantejament és diferent. Aquest fragment és només il·lustratiu (aprendrem a fer-ho de debò als mòduls 4 i 6), però mostra la idea:

# Enfocament de Machine Learning: les regles s'aprenen d'exemples
from sklearn.tree import DecisionTreeClassifier

# Dades històriques: [import, num_articles, client_nou (1/0)]
comandes = [
    [650, 12, 1],
    [30,   5, 0],
    [420, 80, 1],
    [55,  10, 0],
]
# Etiquetes conegudes: 1 = va ser frau, 0 = va ser legítima
etiquetes = [1, 0, 1, 0]

model = DecisionTreeClassifier()   # creem un model buit
model.fit(comandes, etiquetes)     # ENTRENAMENT: aprèn dels exemples

# PREDICCIÓ sobre una comanda nova que el model no ha vist mai
print(model.predict([[580, 15, 1]]))
# Sortida: [1]  -> el model la classifica com a sospitosa

Analitzem les diferències clau:

  • No hem escrit cap if amb llindars: li hem donat exemples històrics (comandes) juntament amb les respostes correctes (etiquetes).
  • La crida model.fit(...) és el moment de l'entrenament: l'algorisme examina els exemples i en dedueix les seves pròpies regles internes.
  • La crida model.predict(...) fa servir aquestes regles apreses per respondre davant d'un cas nou.
  • Si el frau canvia de patró, no reescrivim codi: reentrenem el model amb dades més recents.

Quan surt a compte cada enfocament?

Situació Enfocament recomanable
Les regles són poques, clares i estables (p. ex., calcular l'IVA d'una comanda) Programació tradicional
Les regles són massa nombroses o impossibles d'enumerar (p. ex., reconèixer una foto d'un tomàquet) Machine Learning
L'entorn canvia constantment (frau, gustos dels clients) Machine Learning
No hi ha dades històriques disponibles Programació tradicional (de moment)

Conceptes clau: dades, model, entrenament i predicció

Aquests quatre termes apareixeran a cada lliçó del curs. Convé fixar-los des d'ara:

  • Dades d'entrenament: el conjunt d'exemples històrics del qual aprèn l'algorisme. En l'exemple anterior, la llista comandes amb les seves etiquetes. Cada fila és un exemple (o instància) i cada columna una característica (o feature): import, nombre d'articles, etc.
  • Model: el resultat de l'aprenentatge. És una representació matemàtica dels patrons trobats a les dades. Podem imaginar-lo com "les regles apreses", empaquetades en un objecte que sap respondre preguntes.
  • Entrenament: el procés pel qual l'algorisme ajusta el model a les dades. A scikit-learn es correspon amb el mètode fit().
  • Predicció (o inferència): l'ús del model ja entrenat per donar una resposta davant de dades noves. A scikit-learn, el mètode predict().

Una analogia útil: les dades d'entrenament són el temari, l'entrenament és l'estudi, el model és el coneixement adquirit i la predicció és l'examen amb preguntes noves.

flowchart LR
    D[Dades d'entrenament] --> E[Entrenament]
    E --> M[Model]
    N[Dades noves] --> M
    M --> P[Prediccions]

Un matís important que desenvoluparem al mòdul 6: el que és valuós d'un model no és que encerti amb les dades que ja va veure, sinó que generalitzi bé a dades noves. Un model que memoritza el passat però falla amb el present no serveix de res al negoci.

MercaFresh: el cas que acompanyarà tot el curs

MercaFresh és un supermercat en línia fictici que opera a diverses ciutats. Cada dia registra milers de comandes, i per tant acumula dades molt valuoses:

  • Comandes: data, productes, quantitats, import, franja horària de lliurament.
  • Clients: antiguitat, freqüència de compra, tiquet mitjà, ciutat, dispositiu utilitzat.
  • Productes: categoria, preu, estoc, caducitat, promocions actives.

Amb aquestes dades, la direcció de MercaFresh es planteja preguntes de negoci que són, exactament, problemes de Machine Learning. Les anirem resolent al llarg del curs:

Pregunta de negoci Problema de ML On el treballarem
Quants quilos de fruita necessitarem dissabte? Predicció de demanda Mòduls 4 i 6
Quins clients estan a punt de deixar de comprar-nos? Abandonament de clients (churn) Mòduls 4, 6 i següents
Quins grups naturals de clients tenim? Segmentació de clients Mòdul 5
Aquesta comanda és anòmala o fraudulenta? Detecció d'anomalies Mòduls 5 i 9

De moment no cal que entenguis com es resolen; n'hi ha prou que vegis que darrere de cada pregunta de negoci hi ha dades, i darrere de les dades, patrons que es poden aprendre.

Què és (i què no és) el Machine Learning

Per tancar la lliçó, delimitem bé el concepte:

  • El ML és una branca de la Intel·ligència Artificial centrada a aprendre de dades. Tota solució de ML és IA, però no tota IA és ML (un sistema de regles expertes escrites a mà també és IA).
  • El ML no és màgia: si les dades són dolentes, escasses o esbiaixades, el model serà dolent. Ho resumeix la dita "garbage in, garbage out" (si hi entra brossa, en surt brossa).
  • El ML no és només estadística, tot i que s'hi recolza fortament (ho veurem al mòdul 2); posa l'èmfasi en la predicció automàtica i a gran escala.
  • Un model no entén el negoci: troba correlacions a les dades. La interpretació i les decisions continuen sent humanes.

Errors Comuns i Consells

  • Confondre el model amb l'algorisme. L'algorisme és la recepta d'aprenentatge (per exemple, "arbre de decisió"); el model és el resultat concret després d'entrenar amb les teves dades. Amb el mateix algorisme i dades diferents obtens models diferents.
  • Pensar que més regles manuals ho resolen tot. Si et descobreixes escrivint el vintè if per cobrir un cas especial, probablement el problema demana un enfocament d'aprenentatge.
  • Creure que el ML no necessita intervenció humana. Algú ha de definir la tasca, triar les dades, mesurar el rendiment i decidir què fer amb les prediccions.
  • Esperar certeses. Un model dona prediccions probables, no veritats. A MercaFresh, "aquest client té un 80 % de probabilitat d'abandonar" és una informació valuosíssima, però no una bola de vidre.
  • Consell: quan llegeixis sobre ML, tradueix sempre els termes a la definició de Mitchell: quina és la tasca T?, quina és l'experiència E?, com es mesura P? Aquest hàbit et donarà claredat durant tot el curs.

Exercicis

Exercici 1

Identifica els components T, E i P (segons la definició de Mitchell) per a aquest cas de MercaFresh: "Volem que el sistema suggereixi automàticament productes a cada client a la pàgina d'inici, fent servir el seu historial de compres, i mesurar el percentatge de suggeriments en què el client fa clic".

Exercici 2

Classifica cadascun d'aquests problemes de MercaFresh com a més adequat per a programació tradicional o per a Machine Learning, i justifica-ho en una frase:

  1. Calcular les despeses d'enviament segons el pes de la comanda i el codi postal (tarifes fixes publicades).
  2. Estimar quants repartidors caldran el proper pont festiu.
  3. Validar que una adreça de correu electrònic introduïda al registre té un format correcte.
  4. Detectar ressenyes de productes escrites per bots.

Exercici 3

En l'exemple de codi de la lliçó, la llista comandes tenia 4 exemples amb 3 característiques cadascun. Respon: (a) què representa cada fila?, (b) què representa cada columna?, (c) quin paper hi juga la llista etiquetes?, (d) quina línia del codi fa l'entrenament i quina la predicció?

Solucions

Solució 1

  • T (tasca): suggerir productes rellevants a cada client a la pàgina d'inici.
  • E (experiència): l'historial de compres dels clients (i de clients similars).
  • P (rendiment): el percentatge de clics sobre els suggeriments mostrats (CTR). Si en veure més historial els suggeriments reben més clics, el sistema està aprenent.

Solució 2

  1. Tradicional: les tarifes són regles fixes, conegudes i estables; no hi ha res a aprendre.
  2. Machine Learning: depèn de patrons històrics complexos (festius, clima, tendències); és un problema de predicció a partir de dades.
  3. Tradicional: el format d'un correu es valida amb una regla clara i estable.
  4. Machine Learning: no hi ha regles fixes que defineixin una ressenya de bot; els patrons canvien i s'han d'aprendre a partir d'exemples.

Solució 3

  • (a) Cada fila és un exemple (una comanda històrica concreta).
  • (b) Cada columna és una característica de la comanda: import, nombre d'articles i si el client era nou.
  • (c) etiquetes conté la resposta correcta coneguda de cada exemple (1 = frau, 0 = legítima); és el que permet a l'algorisme aprendre la relació entre característiques i resultat.
  • (d) L'entrenament el fa model.fit(comandes, etiquetes); la predicció, model.predict([[580, 15, 1]]).

Conclusió

En aquesta lliçó hem definit el Machine Learning de manera intuïtiva (aprendre d'exemples per generalitzar) i formal (la definició T-E-P de Mitchell), i n'hem vist la diferència essencial amb la programació tradicional: les regles ja no s'escriuen a mà, sinó que emergeixen de les dades durant l'entrenament. També hem fixat el vocabulari bàsic —dades d'entrenament, model, entrenament, predicció— i hem conegut MercaFresh, el supermercat en línia els reptes del qual (demanda, churn, segmentació, anomalies) resoldrem al llarg del curs. A la propera lliçó farem un pas enrere per entendre d'on ve tot això: recorrerem la història i evolució del Machine Learning, des de Turing fins a l'era actual de la IA generativa.

Curs de Machine Learning

Mòdul 1: Introducció al Machine Learning

Mòdul 2: Fonaments d'Estadística i Probabilitat

Mòdul 3: Preprocessament de Dades

Mòdul 4: Algorismes de Machine Learning Supervisat

Mòdul 5: Algorismes de Machine Learning No Supervisat

Mòdul 6: Avaluació i Validació de Models

Mòdul 7: Tècniques Avançades i Optimització

Mòdul 8: Implementació i Desplegament de Models

Mòdul 9: Projectes Pràctics

Mòdul 10: Recursos Addicionals

© Copyright 2026. Tots els drets reservats