Loading [MathJax]/jax/output/HTML-CSS/jax.js

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Aprenentatge Automàtic Supervisat

Introducció

L'aprenentatge automàtic (Machine Learning) és una branca de la intel·ligència artificial que permet als algoritmes aprendre i millorar automàticament a partir de l'experiència, sense ser explícitament programats. Existeixen dos tipus principals d'aprenentatge: supervisat i no supervisat.

L'aprenentatge supervisat és un mètode on l'algoritme aprèn a partir de dades etiquetades, és a dir, se li proporcionen les respostes correctes durant l'entrenament.

Per contra, l'aprenentatge no supervisat treballa amb dades sense etiquetes, buscant patrons o estructures ocultes en les dades.

Característiques principals de l'aprenentatge supervisat:

  • L'algoritme troba una línia o corba que representa la sortida donada l'entrada
  • Utilitza dades d'entrenament amb exemples d'entrada i sortida coneguts
  • L'objectiu és generalitzar per fer prediccions sobre dades noves
0123456702468101214
Dades d’entrenamentModel aprèsPunt nou (predicció)Supervised Learning

Tipus d'aprenentatge supervisat

Regressió

  • Objectiu: Predir un número d'un conjunt infinit de possibles sortides
  • Exemple: Predir el preu d'una casa basant-se en la seva mida
  • Sortida: Valor numèric continu

Classificació

  • Objectiu: Predir una categoria d'un conjunt finit de possibles valors (2 o més)
  • Exemple: Determinar si un correu és spam o no
  • Sortida: Classe o categoria discreta
  • Funcionament: L'algoritme troba fronteres per separar les categories

Terminologia fonamental

Variables i dades

  • Dataset d'entrenament: Conjunt de dades utilitzat per entrenar el model
  • x: Variable d'entrada o característica (feature)
  • y: Variable de sortida o objectiu (target)
  • (xᵢ, yᵢ): i-èssim exemple d'entrenament (una fila del dataset)
  • m: Nombre d'exemples d'entrenament

Model i predicció

  • f(x) = ŷ: Funció que representa el model i fa prediccions
  • ŷ: Predicció del model (y amb accent circumflex)
  • y: Valor real o objectiu

Model lineal

  • f(x) = wx + b: Regressió lineal amb una variable
  • w: Paràmetre de pes (weight) del model
  • b: Paràmetre de biaix (bias) del model
  • Els paràmetres w i b s'ajusten durant l'entrenament per millorar el model

Al següent gràfic es representa, a la coordenada x, una característica. I a la y, l'etiqueta. Com es tracta d'un model lineal, es representa com una línia.

12345678246810
Data Pointsy = 1.45 + 1.12xLinear Regression with 1 feature
Linear Regression with 2 features
Correlated Features (x1 and x2) with Regression Plane

Funció de cost

La funció de cost o funció de pèrdua és una eina matemàtica fonamental que quantifica la diferència entre les prediccions que fa el nostre model i els valors reals que esperàvem obtenir. Aquesta funció assigna un valor numèric que representa "l'error" del model: quan més gran sigui aquest valor, pitjor està funcionant el model, i quan més petit sigui, millor són les seves prediccions.

Funció de cost d'error quadràtic

La funció de cost més utilitzada per a regressió lineal és l'error quadràtic:

J(w,b)=12mmi=1(f(xi)yi)2

On:

  • J(w, b): Funció de cost
  • m: Nombre d'exemples d'entrenament
  • f(xᵢ): Predicció per a l'exemple i
  • yᵢ: Valor real per a l'exemple i

Per què aquesta fórmula?

  • Divisió per m: Perquè l'error no depengui del nombre d'exemples d'entrenament
  • Divisió per 2: Simplifica els càlculs futurs (especialment les derivades)
  • Elevat al quadrat: Penalitza més els errors grans i evita que errors positius i negatius es cancel·lin

Objectiu d'Optimització: minimitzar J(w, b) per trobar els millors paràmetres del model.

Visualització:

  • Si canviem només w: Obtenim una corba en forma de U
  • Si canviem w i b: Obtenim una superfície 3D en forma de U
  • El punt més baix representa els millors paràmetres
min loss = 0.00w = 2.0000.511.522.533.54051015202530
Loss (MSE)Minimum LossLoss Function (MSE) vs Weight wWeight (w)Loss (MSE)

Aquesta és la representació quan tenim dues característiques:

20406080100Quadratic Loss Surface for Two Weights

Gradient Descent (Descens del Gradient)

És l'algoritme que troba els valors de w i b que minimitzen la funció de cost J(w, b).

Funcionament:

  1. Inicialització: Comença amb w = 0 i b = 0
  2. Iteració: Canvia w i b per reduir J(w, b)
  3. Direcció: Fa passos en la direcció que més redueix la funció de cost
  4. Convergència: S'atura quan arriba a un mínim local

Algorisme:

w:=wα×Jwb:=bα×Jb

On:

  • α (alfa): Taxa d'aprenentatge (learning rate) - controla la mida del pas
  • ∂J/∂w: Derivada parcial respecte a w - indica la direcció del pas
  • ∂J/∂b: Derivada parcial respecte a b - indica la direcció del pas

Consideracions Importants

Actualització Simultània

És crucial actualitzar w i b simultàniament en cada iteració per garantir el funcionament correcte de l'algoritme.

Taxa d'Aprenentatge (α)

  • α massa petita: L'algoritme funcionarà però serà lent
  • α massa gran: L'algoritme pot no convergir i "saltar" el mínim
  • α adequada: Convergència eficient cap al mínim

Convergència Natural

A mesura que ens apropem al mínim, els passos es fan més petits automàticament perquè la derivada (pendent) disminueix.

Mínims Locals vs Globals

  • Mínim local: El punt més baix d'una "vall" específica
  • Mínim global: El punt més baix de tota la funció
  • El punt d'inici pot determinar a quin mínim local arribem
Local Min (3, 27)Global Min (0, 0)01234051015202530−20−10010
f(x) = x⁴ - 8x³ + 18x²Local MinimumGlobal Minimumf'(x) = 4x³ - 24x² + 36xLocal Minimum vs Global Minimumf(x)f'(x)Global MinimumLowest point overallLocal MinimumLowest in this region

Propietat Especial de la Regressió Lineal

La funció de cost d'error quadràtic amb regressió lineal té una propietat única: només té un mínim, que és el global. Això és perquè la funció de cost té forma de bol (funció convexa).

Batch Gradient Descent

És la versió del gradient descent que utilitza tots els exemples d'entrenament en cada pas de l'algoritme. Aquesta és la versió que utilitzarem per a regressió lineal, tot i que existeixen alternatives que utilitzen subconjunts de dades per millorar el rendiment en datasets molt grans.

Regressió Lineal Múltiple

En regressió lineal múltiple utilitzem múltiples característiques (variables) per ajudar a predir.

  • Les característiques tenen un índex: x₁, x₂, ... , xⱼ.
  • Les característiques es poden pensar com un vector x⃗, amb un índex (i) per al i-èssim exemple d'entrenament. Per exemple, x⃗(2) és un vector fila amb tots els valors de les característiques per a l'exemple 2, i xⱼ(2) és el valor de la j-èssima característica per a aquest exemple.

Model de la Regressió Multiple

El nou model es defineix com:

fw,b(x)=wx+b=w1x1+w2x2++wnxn+b

On:

  • w=[w1,w2,w3,,wn] són els paràmetres del model
  • x=[x1,x2,x3,,xn] són les característiques

I representa el producte escalar (dot product).

Codi Python

Sense vectorització:

import numpy as np w = np.array([w1, w2, w3, ...]) b = 4 x = np.array([x1, x2, x3, ...]) f = 0 n = len(w) for j in range(n): f += w[j] * x[j] f += b

Amb vectorització:

import numpy as np w = np.array([w1, w2, w3, ...]) b = 4 x = np.array([x1, x2, x3, ...]) f = np.dot(w, x) + b

Gradient Descent per Múltiples Variables

L'algorisme de descens del gradient s'actualitza per a cada paràmetre wj amb el següent pas:

wj:=wjαJ(w,b)wjfor j=1nb:=bαJ(w,b)b

Equació Normal

Una alternativa per a regressió lineal és l'equació normal, que resol w i b sense iteracions:

w=(XTX)1XTy

  • Només aplica a regressió lineal
  • Pot ser costós per a un nombre elevat de característiques

Escalat de Característiques

Quan el rang de valors d'una característica és gran, un bon model tendeix a assignar-li un valor petit del paràmetre wi. En canvi, les característiques amb rangs petits poden rebre pesos més grans.

Això afecta el descens del gradient: si visualitzem la funció de cost en dues dimensions (com un gràfic de contorns), pot aparèixer allargada, provocant passos ineficients i lentitud en la convergència.

La solució és escalar les característiques. Això fa que la funció de cost tingui contorns més circulars i millora la velocitat de convergència.

Mètodes per escalar:

  • Escalat Mínim-Màxim: xesci=ximax(x)

  • Normalització per la Mitjana: xesci=xiμimax(x)min(x)

  • Normalització Z-score: xesci=xiμiσi

Els valors resultants solen quedar entre -1 i 1. Si ja estan entre -0.3 i 0.3, o entre -3 i 3, potser no cal escalar.

Convergència del Descens del Gradient

Per visualitzar la convergència, es representa la funció de cost J(w,b) al llarg de les iteracions. Aquesta és la corba d'aprenentatge, que sovint té forma de llei de potències.

  • Si J augmenta, potser el pas α és massa gran.
  • Després de moltes iteracions, J pot deixar de disminuir — això és la convergència.

Test automàtic de convergència: definim ε=0.001. Si el canvi de J entre iteracions és inferior a ε, considerem que ha convergit.

Elecció del Ritme d'Aprenentatge

  • Massa gran: J augmenta o oscil·la per excés de pas.
  • Massa petit: convergència molt lenta.

Una seqüència típica de valors per provar seria: [ \alpha \in { 0.001, 0.003, 0.01, 0.03, 0.1, 0.3 } ]

Si cap funciona, cal revisar la implementació.

Enginyeria de Característiques

Crear noves característiques a partir de les existents, sovint amb intuïció del domini.

Exemple: donada façana i fons, podem crear superfície = façana × fons.

Regressió Polinòmica

Aquest mètode permet ajustar corbes no lineals a les dades usant termes d'ordre superior.

Exemple: y=w1x+w2x2+b

Els termes d'ordre superior amplien l'espai de característiques. L'escalat és essencial aquí.

Alternativament, es poden fer transformacions com x.

Classificació Binària

La classificació binària té dues sortides possibles: 0 o 1. Tot i que es podria abordar amb una regressió lineal seguint d’un llindar, aquest mètode és molt sensible als valors atípics. Per això, utilitzem la regressió logística, que modela la probabilitat que una observació pertanyi a una de les dues classes.

Quan la regressió logística es basa en una combinació lineal de les variables d’entrada, el límit de decisió s’estableix mitjançant una línia (o un pla, si hi ha més de dues característiques).

Aquest gràfic mostra un exemple bàsic de dades per a regressió logística amb dues característiques (eixos X i Y). Els punts amb cercles blaus (“O”) representen una classe, mentre que les creus vermelles (“X”) representen l’altra.

012345678012345
Classe 0Classe 1Frontera de decisióLogistic regression 2D

La línia verda discontínua és la frontera de decisió del model, que separa les dues classes. Els punts a un costat de la línia es classifiquen en una classe i els de l’altre costat en l’altra, reflectint com la regressió logística aprèn a dividir l’espai de característiques per fer prediccions binàries.

Aquest model prediu probabilitats mitjançant la funció sigmoide:

g(z)=11+ezon0<g(z)<1

Model de regressió logística:

z=wx+b fw,b(x)=11+e(wx+b)=P(y=1x;w,b)

Frontera de Decisió

La frontera de decisió és la línia (o hiperpla en dimensions superiors) que separa les regions on el model prediu diferents classes.

Una regla comuna és:

ˆy={1,si g(z)>0.5,0,si no.

I com que (g(z)>0.5) equivaleix a (z>0), es pot escriure directament:

ˆy=1wTx+b;;0.

La frontera de decisió és el conjunt de tots els punts (x) per als quals el model està exactament al límit entre la classe 0 i la classe 1, és a dir, on

z=wTx+b=0.

Si x=(x1,x2) i w=(w1,w2), la frontera de decisió es descriu per
w1,x1+w2,x2+b=0.

Geomètricament, això és una línia al pla (x1,x2).

Tots els punts d’un costat (on w1x1+w2x2+b>0) es classifiquen com a 1, i els de l’altre costat com a 0.

−10−5051000.20.40.60.81
Sigmoid FunctionTraining DataThreshold (0.5)Decision BoundaryLogistic Regression: Sigmoid and Decision Boundary
Class 0Class 13D Visualization of Logistic Regression (2 features)

Fronteres no lineals

Per obtenir corbes (cercles, el·lipses, etc.), podem ampliar el vector d’atributs amb termes polinòmics.

Si en lloc de (x1,x2) utilitzem (x21,x22) i aprenem pesos w1,w2 i biaix b, la frontera és
w1,x21+w2,x22+b=0.
En el cas simètric senzill amb w1=w2=1, això es tradueix en
x21+x22=b,
que és un cercle de radi b.

Afegint pesos diferents o termes creuats es poden generar el·lipses rotades, paraboles o formes molt complexes, segons el grau i la combinació de termes polinòmics.

Logistic Regression with Circular Decision Boundary

Funció de Cost

En lloc de l'error quadràtic, s'utilitza la pèrdua logarítmica (entropia creuada):

L(fw,b(xi),yi)={log(fw,b(xi))si yi=1log(1fw,b(xi))si yi=0

Això assegura una funció convexa per aplicar descens del gradient.

00.20.40.60.810123456
Cost when y = 1Cost when y = 0Logistic Regression Cost Function Components

Quan l’etiqueta real és 1 (corba verda):

  • Si ˆy s’apropa a 1 → cost baix (la predicció és correcta i segura)
  • Si ˆy s’apropa a 0 → cost molt alt (la predicció és completament errònia)

Quan l’etiqueta real és 0 (corba vermella):

  • Si ˆy s’apropa a 0 → cost baix (predicció correcta)
  • Si ˆy s’apropa a 1 → cost alt (predicció incorrecta)

Sobreajustament i Subajustament

Hi ha dos problemes que poden produir-se quan estem entrenant el nostre model:

  • Subajustament: model massa simple; alt biaix.
  • Sobreajustament: massa complex; alta variància.
−4−2024−5051015
DataUnderfit (Linear)Good Fit (Quadratic)Overfit (High-degree)Model Fit Comparison: Underfit vs Good Fit vs Overfit

El sobreajustament implica alta precisió en entrenament però mala generalització.

Com evitar el sobreajustament:

  1. Més dades d'entrenament.
  2. Simplificar el model (menys característiques o polinomis més simples).
  3. Regularització: penalitza pesos grans i redueix la complexitat.
    • Exemple: regularització L2 afegeix λw2i a la funció de cost.

Regularització

En l'aprenentatge automàtic, la regularització consisteix a afegir un terme als costos per penalitzar els valors grans dels pesos del model. Aquesta tècnica ajuda a evitar el sobreajustament (overfitting), fent que el model sigui més senzill i generalitzi millor.

Quan els valors dels paràmetres wj són petits, la funció del model tendeix a ser més suau i menys complexa. Això el fa menys propens a ajustar-se massa al soroll de les dades d'entrenament.

Per tant, la regularització afegeix una penalització al cost quan els paràmetres tenen valors elevats. Aquesta penalització força el model a preferir valors de wj petits, a no ser que sigui estrictament necessari fer-los grans per ajustar-se a les dades.

Quines característiques penalitzem? En general, es penalitzen tots els pesos del model per igual. Això fa que la funció resultant sigui més suau i evita que el model doni massa importància a una sola característica.

Funció de cost amb regularització

El nou terme que afegim a la funció de cost és:

J(w,b)=Joriginal(w,b)+λ2mnj=1w2j

  • λ és el paràmetre de regularització.
  • m és el nombre d'exemples d'entrenament.
  • La suma es fa des de j=1 fins a n, excloent habitualment el paràmetre b (el terme de biais o desplaçament), tot i que incloure'l o no no sol tenir un gran impacte en la pràctica.

Efecte del valor de λ:

  • Si λ0: la regularització és gairebé inexistent, i el model pot sobreajustar-se.
  • Si λ és massa gran, el model prioritzarà reduir els pesos i s'ajustarà poc a les dades: la seva sortida pot ser gairebé constant (una línia horitzontal a l'altura de b).

Amb regularització, l'objectiu d'entrenament és doble:

  1. Ajustar-se a les dades (minimitzar l'error original).
  2. Mantenir els pesos petits (minimitzar la complexitat del model).

Aquest equilibri es controla amb el valor de λ.

Descens del Gradient amb Regularització

Quan utilitzem regressió lineal amb regularització, la fórmula de descens del gradient per actualitzar cada paràmetre wj canvia lleugerament per incloure la penalització.

L'actualització de wj amb regularització es fa així:

wj:=wjα(1mmi=1(fw,b(x(i))y(i))x(i)j+λmwj)

on:

  • α és el ritme d'aprenentatge (learning rate),
  • m és el nombre d'exemples d'entrenament,
  • fw,b(x(i)) és la predicció del model per a l'exemple i,
  • y(i) és l'etiqueta real de l'exemple i,
  • x(i)j és el valor de la característica j per a l'exemple i,
  • λ és el paràmetre de regularització.

Intuïció:

  • El primer terme de la fórmula (la suma) és el gradient normal, com en la regressió lineal sense regularització.
  • El segon terme λmwj penalitza valors grans de wj.
  • Això fa que wj disminueixi si no contribueix prou a reduir l'error, ajudant a controlar el sobreajustament.

Nota: Aquesta fórmula s'aplica només als pesos wj. El paràmetre de biais b normalment no es regularitza.

Referències