El Machine Learning (ML) es pot classificar en diferents tipus segons la manera en què els algorismes aprenen a partir de les dades. Els tres tipus principals són:
- Aprenentatge Supervisat
- Aprenentatge No Supervisat
- Aprenentatge per Reforç
A continuació, explorarem cadascun d'aquests tipus en detall.
- Aprenentatge Supervisat
Definició
L'aprenentatge supervisat és un tipus de ML on el model és entrenat amb un conjunt de dades etiquetades. Això significa que cada exemple d'entrenament està associat amb una etiqueta o resultat desitjat.
Característiques
- Dades etiquetades: Les dades d'entrenament inclouen tant les característiques (inputs) com les etiquetes (outputs).
- Predicció: L'objectiu és predir l'etiqueta per a noves dades no etiquetades.
- Funció de pèrdua: Utilitza una funció de pèrdua per mesurar l'error entre les prediccions del model i les etiquetes reals.
Exemples d'algorismes
- Regressió Lineal: Utilitzat per predir valors continus.
- Regressió Logística: Utilitzat per problemes de classificació binària.
- Arbres de Decisió: Utilitzats tant per a regressió com per a classificació.
- Màquines de Suport Vectorial (SVM): Utilitzades per a classificació i regressió.
- Xarxes Neuronals: Utilitzades per a tasques complexes de predicció i classificació.
Exemple Pràctic
from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # Dades d'exemple X = [[1], [2], [3], [4], [5]] y = [1.5, 3.5, 5.5, 7.5, 9.5] # Divisió de les dades en entrenament i prova X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Creació del model de regressió lineal model = LinearRegression() model.fit(X_train, y_train) # Predicció y_pred = model.predict(X_test) # Avaluació del model mse = mean_squared_error(y_test, y_pred) print(f'Error quadràtic mitjà: {mse}')
- Aprenentatge No Supervisat
Definició
L'aprenentatge no supervisat és un tipus de ML on el model és entrenat amb dades que no estan etiquetades. L'objectiu és descobrir estructures ocultes o patrons en les dades.
Característiques
- Dades no etiquetades: Les dades d'entrenament només inclouen les característiques (inputs) sense etiquetes.
- Agrupació i reducció de dimensionalitat: Les tasques comunes inclouen l'agrupació (clustering) i la reducció de dimensionalitat.
Exemples d'algorismes
- K-means: Algorisme d'agrupació que divideix les dades en K grups.
- Clustering Jeràrquic: Agrupació basada en la creació d'una jerarquia de grups.
- Anàlisi de Components Principals (PCA): Utilitzat per reduir la dimensionalitat de les dades.
- DBSCAN: Algorisme d'agrupació basat en densitat.
Exemple Pràctic
from sklearn.cluster import KMeans import numpy as np # Dades d'exemple X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]) # Creació del model K-means kmeans = KMeans(n_clusters=2, random_state=0) kmeans.fit(X) # Predicció dels grups labels = kmeans.labels_ print(f'Grups: {labels}')
- Aprenentatge per Reforç
Definició
L'aprenentatge per reforç és un tipus de ML on un agent aprèn a prendre decisions mitjançant interaccions 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.
Característiques
- Agent i entorn: L'agent interactua amb l'entorn i pren accions.
- Recompensa: L'agent rep una recompensa o penalització basada en l'acció presa.
- Estratègia: L'agent desenvolupa una estratègia per maximitzar la recompensa a llarg termini.
Exemples d'algorismes
- Q-learning: Algorisme d'aprenentatge per reforç basat en taules.
- Deep Q-Networks (DQN): Utilitza xarxes neuronals per aproximar la funció Q.
- Policy Gradient: Algorismes que optimitzen directament la política d'acció.
Exemple Pràctic
import numpy as np # Paràmetres de l'entorn states = [0, 1, 2, 3] actions = [0, 1] # 0: esquerra, 1: dreta rewards = [0, 0, 0, 1] # Recompensa per arribar a l'estat 3 # Inicialització de la taula Q Q = np.zeros((len(states), len(actions))) # Paràmetres d'aprenentatge alpha = 0.1 # Taxa d'aprenentatge gamma = 0.9 # Factor de descompte epsilon = 0.1 # Probabilitat d'exploració # Funció d'aprenentatge Q-learning def q_learning(state, action, reward, next_state): best_next_action = np.argmax(Q[next_state]) td_target = reward + gamma * Q[next_state, best_next_action] td_error = td_target - Q[state, action] Q[state, action] += alpha * td_error # Simulació d'un episodi state = 0 for _ in range(100): if np.random.rand() < epsilon: action = np.random.choice(actions) # Exploració else: action = np.argmax(Q[state]) # Explotació next_state = state + (1 if action == 1 else -1) next_state = max(0, min(next_state, len(states) - 1)) reward = rewards[next_state] q_learning(state, action, reward, next_state) state = next_state print(f'Taula Q: \n{Q}')
Conclusió
En resum, els tres tipus principals de Machine Learning són l'aprenentatge supervisat, l'aprenentatge no supervisat i l'aprenentatge per reforç. Cada tipus té les seves pròpies característiques, aplicacions i algorismes. Comprendre aquests tipus és fonamental per seleccionar l'enfocament adequat per a un problema específic de ML.
Curs de Machine Learning
Mòdul 1: Introducció al Machine Learning
- Què és el Machine Learning?
- Història i evolució del Machine Learning
- Tipus de Machine Learning
- Aplicacions del Machine Learning
Mòdul 2: Fonaments d'Estadística i Probabilitat
- Conceptes bàsics d'estadística
- Distribucions de probabilitat
- Inferència estadística
- Teorema de Bayes
Mòdul 3: Preprocessament de Dades
Mòdul 4: Algoritmes de Machine Learning Supervisat
- Regressió lineal
- Regressió logística
- Arbres de decisió
- Màquines de suport vectorial (SVM)
- K-Veïns més propers (K-NN)
- Xarxes neuronals
Mòdul 5: Algoritmes de Machine Learning No Supervisat
- Clustering: K-means
- Clustering jeràrquic
- Anàlisi de components principals (PCA)
- Anàlisi d'agrupament DBSCAN
Mòdul 6: Avaluació i Validació de Models
Mòdul 7: Tècniques Avançades i Optimització
- Ensemble Learning
- Gradient Boosting
- Xarxes neuronals profundes (Deep Learning)
- Optimització d'hiperparàmetres
Mòdul 8: Implementació i Desplegament de Models
- Frameworks i biblioteques populars
- Implementació de models en producció
- Manteniment i monitoratge de models
- Consideracions ètiques i de privacitat
Mòdul 9: Projectes Pràctics
- Projecte 1: Predicció de preus d'habitatges
- Projecte 2: Classificació d'imatges
- Projecte 3: Anàlisi de sentiments a xarxes socials
- Projecte 4: Detecció de fraus