1. Què és l'Aprenentatge Automàtic?

L'Aprenentatge Automàtic (Machine Learning, ML) és una branca de la intel·ligència artificial que se centra en el desenvolupament d'algoritmes que permeten als ordinadors aprendre a partir de dades i prendre decisions sense ser explícitament programats per a cada tasca específica. Els algoritmes de ML poden identificar patrons, fer prediccions i millorar el seu rendiment amb el temps a mesura que s'exposen a més dades.

Conceptes Clau:

  • Dades d'Entrenament: Conjunt de dades utilitzat per entrenar el model.
  • Dades de Validació: Conjunt de dades utilitzat per ajustar els hiperparàmetres del model.
  • Dades de Prova: Conjunt de dades utilitzat per avaluar el rendiment del model.
  • Model: Representació matemàtica que aprèn a partir de les dades.
  • Funció de Pèrdua: Mesura de l'error del model.
  • Optimització: Procés de minimitzar la funció de pèrdua.

  1. Tipus d'Aprenentatge Automàtic

2.1 Aprenentatge Supervisat

En l'aprenentatge supervisat, el model s'entrena amb un conjunt de dades etiquetades, on cada entrada té una sortida corresponent. L'objectiu és que el model aprengui a predir la sortida correcta per a noves entrades.

Exemples:

  • Classificació: Assignar una etiqueta a una entrada (p. ex., correu brossa o no brossa).
  • Regressió: Predir un valor continu (p. ex., preu d'una casa).

2.2 Aprenentatge No Supervisat

En l'aprenentatge no supervisat, el model treballa amb dades no etiquetades i ha de trobar estructures o patrons dins de les dades.

Exemples:

  • Clustering: Agrupar dades similars (p. ex., segmentació de clients).
  • Reducció de Dimensionalitat: Reduir el nombre de variables (p. ex., PCA).

2.3 Aprenentatge per Reforç

En l'aprenentatge per reforç, un agent aprèn a prendre decisions mitjançant interacció amb un entorn. L'agent rep recompenses o penalitzacions basades en les seves accions i ajusta la seva estratègia per maximitzar la recompensa acumulada.

Exemples:

  • Jocs: Agents que aprenen a jugar a jocs com el Go o l'Atari.
  • Control Robòtic: Robots que aprenen a caminar o manipular objectes.

  1. Components d'un Algoritme d'Aprenentatge Automàtic

3.1 Dades

Les dades són el nucli de qualsevol projecte de ML. La qualitat i la quantitat de les dades poden influir significativament en el rendiment del model.

Tipus de Dades:

  • Numèriques: Valors continus o discrets.
  • Categòriques: Etiquetes o categories.
  • Textuals: Paraules o frases.
  • Imatges: Pixels.

3.2 Model

El model és una representació matemàtica que aprèn a partir de les dades. Pot ser una simple regressió lineal o una xarxa neuronal profunda.

3.3 Funció de Pèrdua

La funció de pèrdua mesura l'error del model. L'objectiu és minimitzar aquesta funció per millorar el rendiment del model.

Exemples de Funcions de Pèrdua:

  • Error Quadràtic Mitjà (MSE): Utilitzat en regressió.
  • Entropia Creuada: Utilitzat en classificació.

3.4 Algoritme d'Optimització

Els algoritmes d'optimització ajusten els paràmetres del model per minimitzar la funció de pèrdua.

Exemples:

  • Gradient Descent: Un dels algoritmes d'optimització més comuns.
  • Adam: Algoritme d'optimització avançat que ajusta les taxes d'aprenentatge.

  1. Procés de Desenvolupament d'un Model de ML

4.1 Recollida de Dades

Obtenir un conjunt de dades representatiu i de qualitat.

4.2 Preprocessament de Dades

Netejar i transformar les dades per fer-les adequades per al model.

Passos Comuns:

  • Neteja de Dades: Tractar valors nuls i duplicats.
  • Normalització: Escalar les dades perquè tinguin una distribució similar.
  • Codificació: Convertir dades categòriques en numèriques.

4.3 Divisió de Dades

Dividir les dades en conjunts d'entrenament, validació i prova.

4.4 Selecció del Model

Triar un model adequat per al problema.

4.5 Entrenament del Model

Entrenar el model amb les dades d'entrenament.

4.6 Avaluació del Model

Avaluar el rendiment del model amb les dades de prova.

4.7 Ajust del Model

Ajustar els hiperparàmetres i millorar el model.

4.8 Desplegament

Desplegar el model en un entorn de producció.

  1. Exemple Pràctic: Classificació amb Regressió Logística

5.1 Descripció del Problema

Suposem que volem construir un model per predir si un correu electrònic és brossa o no brossa.

5.2 Recollida de Dades

Obtenim un conjunt de dades amb correus etiquetats com a "brossa" o "no brossa".

5.3 Preprocessament de Dades

Convertim el text dels correus en vectors de característiques utilitzant tècniques com TF-IDF.

5.4 Entrenament del Model

Utilitzem una regressió logística per entrenar el model.

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# Dades d'exemple
correus = ["Aquest és un correu legítim", "Compra ara! Oferta limitada!", "Reunió a les 3 PM", "Guanya un iPhone gratis!"]
etiquetes = [0, 1, 0, 1]  # 0: No brossa, 1: Brossa

# Divisió de dades
X_train, X_test, y_train, y_test = train_test_split(correus, etiquetes, test_size=0.25, random_state=42)

# Vectorització
vectorizer = TfidfVectorizer()
X_train_tfidf = vectorizer.fit_transform(X_train)
X_test_tfidf = vectorizer.transform(X_test)

# Entrenament del model
model = LogisticRegression()
model.fit(X_train_tfidf, y_train)

# Predicció
y_pred = model.predict(X_test_tfidf)

# Avaluació
accuracy = accuracy_score(y_test, y_pred)
print(f'Precisió del model: {accuracy * 100:.2f}%')

5.5 Avaluació del Model

Avaluem el model utilitzant la precisió com a mètrica.

  1. Conclusió

En aquesta secció, hem introduït els conceptes bàsics de l'aprenentatge automàtic, incloent els tipus d'aprenentatge, els components d'un algoritme de ML i el procés de desenvolupament d'un model. També hem vist un exemple pràctic de classificació utilitzant regressió logística. En els següents temes, aprofundirem en diferents tipus d'algoritmes d'aprenentatge automàtic, com ara els algoritmes de classificació, regressió, xarxes neuronals i clustering.


Exercici Pràctic:

  1. Recollida de Dades: Troba un conjunt de dades públic que t'interessi (p. ex., dades de preus de cases, dades de sentiment de Twitter).
  2. Preprocessament de Dades: Neteja i transforma les dades per fer-les adequades per al model.
  3. Entrenament del Model: Tria un model de ML adequat i entrena'l amb les dades.
  4. Avaluació del Model: Avaluar el rendiment del model amb les dades de prova.

Solució:

Proporciona una solució detallada per a l'exercici pràctic, incloent el codi i les explicacions necessàries per entendre cada pas del procés.


Errors Comuns i Consells:

  • Dades Imbalancejades: Si les teves dades estan desequilibrades (p. ex., moltes més mostres d'una classe que d'una altra), considera utilitzar tècniques com el sobremostreig o el submostreig.
  • Overfitting: Si el teu model té un rendiment molt bo en les dades d'entrenament però pobre en les dades de prova, pot ser que estigui sobreajustat. Prova tècniques com la regularització o la validació creuada.
  • Escalatge de Dades: Assegura't d'escalar les dades numèriques perquè tinguin una distribució similar, especialment si utilitzes models que són sensibles a l'escala de les dades, com les xarxes neuronals.

Amb aquesta base, estàs preparat per aprofundir en els diferents algoritmes d'aprenentatge automàtic que veurem en els següents temes del curs.

© Copyright 2024. Tots els drets reservats