Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| pan:machine_learning_v2 [2026/01/07 20:38] – thejuanvisu | pan:machine_learning_v2 [2026/01/07 21:16] (actual) – thejuanvisu | ||
|---|---|---|---|
| Línea 167: | Línea 167: | ||
| $MicroMedia = \frac{TP1 + TP2 + TP3}{TP1+TP2+TP3+FP1+FP2+FP3}$ | $MicroMedia = \frac{TP1 + TP2 + TP3}{TP1+TP2+TP3+FP1+FP2+FP3}$ | ||
| </ | </ | ||
| + | |||
| + | ====== Modelos no lineales de aprendizaje supervisado ====== | ||
| + | Los métodos de aprendizaje no lineales permten la creación de regiones de decisión complejas para separar datos de diferentes clases. En general suelen rendir mejor que los modelos lineales. | ||
| + | |||
| + | ===== Redes Neuronales Artificiales ===== | ||
| + | Muchos modelos de Machine Leargin están inspirados por la biología. Las redes neuronales artificiales definen funciones de las entradas que son calculadas por las neuronas. El modelo matemático de una neurona artificial sería el siguiente: | ||
| + | |||
| + | {{drawio> | ||
| + | |||
| + | Las neurona están organizadas en una serie de capas que definen la arquitectura de la red: | ||
| + | * Feed Forward Networks: Unidireccional, | ||
| + | * Recurrent Networks: Bidireccionales, | ||
| + | |||
| + | El entrenamiento de las redes trata de encontrar el peso óptimo $W^*$ | ||
| + | <WRAP box> | ||
| + | $W^* = argmin_w ∑^n_{i=1}E(y_i, | ||
| + | </ | ||
| + | $t_i$ es la salida deseada e $y_i$ es la salida para los datos $i$. Las funciones de error más utilizadas son: | ||
| + | |||
| + | <WRAP box> | ||
| + | $MSE = E(y_i,t_i) = \frac{1}{2}(y_i-t_i)^2$ | ||
| + | |||
| + | $Entropía | ||
| + | |||
| + | </ | ||
| + | |||
| + | * **Error Back Propagation**: | ||
| + | - Con un bloque de datos de entrenamiento, | ||
| + | - Propagamos hacia atrás el error para obtener el gradiente del error en cada peso | ||
| + | - Usamos el gradiente para actualizar los pesos. | ||
| + | |||
| + | ==== Región de decisión ==== | ||
| + | * Si la red no tiene capas ocultas, entonces la región de decisión es un hiperplano (Clasificador lineal) | ||
| + | * Si la red tiene 1 capa oculta, la región de decisión es convexa (Abierta o cerrada) | ||
| + | * Si la red tiene 2 capas ocultas, la región de decisión es una combinación de redes convexas. | ||
| + | |||
| + | ===== Redes Neuronales Convolucionales (CNN) ===== | ||
| + | Modelo de red profunda que es capaz de capturar dependencias espaciales y temporales en una imagen aplicando filtros relevantes. La arquitectura es mucho mejor para datos de imágenes debido a la reducción en el número de parámetros involucrados yy el reuso de pesos. | ||
| + | |||
| + | ==== Capa convolucional ==== | ||
| + | Consiste en un grupo de filtros (Kernels) que sin aplicados a la imagen para que pueda ser aprendida. Los filtros se activan cuando cierto tipo de característica visual es detectada. El objetivo de la operación convolucional es extraer características relevantes de la imagen. La operación convolucional realiza productos de puntos entre los filtros y las regiones locales de la imagen de entrada. | ||
| + | |||
| + | La arquitectura de una CNN suele tener más de una capa convolucional. La primera capa convolucional es responsable de capturar las características a bajo nivel como bordes, colores, orientación de gradientes... Las consiguientes capas covolucionales en la arquitecutra capturan características de alto nivel. | ||
| + | |||
| + | ==== Capa ReLU ==== | ||
| + | Utilizadas normalmente después de las capas convolucionales para transformas las operaciones lineales retiradas por esta. Es una funciónde activación defenida por $max(0,x)$. No afecta al tamaño del volúmen de salida de la capa convolucional. | ||
| + | |||
| + | ==== Capa Pooling ==== | ||
| + | Se encarga de reducir el tamaño de la salida de la capa convolucional. Este tipo de capas se usan para reducir el número de parámetros en la red y así controlar el overfiting. Los pixeles vecionos en las imagenes tienden a tener valores similares, por lo que las capas convolucionales van a producir valores similares para los pixeles vecinos. Realiza transformacionaes que son similares a rotaciones y translaciones. Es común insertar períodicamente una capa poling entre sucesivas capas covolucionales en las CNN. Existen varios tipos de Pooling: | ||
| + | * Max Pooling: Devuelve el valor máximo de la parte de la imagen cubierta por el filtro (kernel) | ||
| + | * Pooling medio: Devuelve la media de todos los valores de la parte de la imagen cubierta por el filtro (kernel) | ||
| + | |||
| + | ==== Capa completamente conectada ==== | ||
| + | Permite aprender combinaciones no lineales de las características de alto nivel dadas por la capa convolucional. La entrada de esta capa es una transformación aplanada en un vector columna. A través del proceso de entrenamiento, | ||
| + | |||
| + | ===== Recomendaciones para un buen entrenamiento de modelos ===== | ||
| + | * Normalizar los datos: Extrae la media y divide por la desviación típica de cada pixel | ||
| + | * Incrementar los datos disponibles: | ||
| + | * Usar datos balanceados entre las clases | ||
| + | * Randomizar el orden de los datos antes de entrenar un grupo | ||
| + | * Inicializar aleatoriamente los pesos con variaza apropiada | ||
| + | * Usar set de validación apra comprobar el rendimiento obtenido y evitar el overfitting | ||
| + | * Si el dataset disponible es pequeño, entrena primero el modelo con un dataset grande y luego modifica le modelo con el dataset objetivo. | ||
| + | |||