Fundamentos de Machine Learning: Árboles de Decisión, Redes Neuronales y Algoritmos Genéticos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,81 KB

Árboles de Decisión

Ventajas

  • Fácil de aplicar e interpretar.
  • Permiten extraer reglas de decisión claras.
  • El proceso de construcción no es incremental (el modelo se construye de una vez, lo que puede ser eficiente, pero no permite ajustes incrementales sin reconstrucción).

Desventajas

  • La función objetivo debe ser discreta (principalmente para clasificación).
  • Pueden ser propensos a problemas de clasificación si los datos son complejos o ruidosos.

Criterios de Parada

  • Todos los ejemplos pertenecen a la misma clase.
  • Todas las muestras tienen el mismo valor para los atributos.
  • La ganancia de información de cada división es insignificante.
  • El número de muestras en un nodo ha alcanzado un límite predefinido.

Problemas de Overfitting

Si el número de nodos es demasiado grande, las decisiones se toman basándose en particiones muy pequeñas de las muestras, lo que reduce la capacidad de generalización del modelo.

Fórmulas Clave

  • Entropía (Ent(S)): Mide la impureza de un conjunto de datos S.
    Ent(S) = -p+ log2(p+) - p- log2(p-)
    Donde S es el conjunto de ejemplos para un nodo, p+ es la probabilidad de un resultado positivo y p- es la probabilidad de un resultado negativo.
  • Información Esperada (Rem(A)): Mide la entropía promedio después de dividir por el atributo A.
    Rem(A) = ∑v∈Valores(A) (P(v) * Ent(Sv))
    Donde P(v) es la probabilidad de que el atributo A tome el valor v (número de ejemplos con valor v / número total de ejemplos), y Sv es el subconjunto de S donde A=v.
  • Ganancia de Información (Gain(S, A)): Mide la reducción de entropía al dividir por el atributo A.
    Gain(S, A) = Ent(S) - Rem(A)

Algoritmo de Construcción del Árbol

  1. Elegir el mejor atributo para separar los ejemplos (aquel con la mayor ganancia de información).
  2. Expandir el árbol creando una nueva rama para cada valor del atributo elegido.
  3. Asignar los ejemplos a cada nodo en función del valor del atributo.
  4. Repetir para cada hoja hasta alcanzar los criterios de parada:
    1. Si todos los ejemplos pertenecen a la misma clase, asignar el nodo a esa clase.
    2. Si no, repetir los pasos 1 a 4.

Función Recursiva GeraArvore(Ejemplos)

  1. Si Ejemplos cumple algún criterio de parada, devolver una hoja.
  2. Si no, elegir el mejor atributo para dividir Ejemplos y crear un nodo asociado a ese atributo.
  3. Para cada valor vi del atributo elegido:
    • Crear un subconjunto de ejemplos Ejemplosvi donde el atributo toma el valor vi.
    • Llamar recursivamente subarboli = GeraArvore(Ejemplosvi).
  4. Devolver el subárbol generado, que tiene subarboli como descendientes.
  5. Fin.

Redes Neuronales

Principales Características (Ventajas)

  • Capacidad para adaptarse y aprender de los datos.
  • Capacidad de generalización a datos no vistos.
  • Capacidad de clasificar y categorizar patrones complejos.
  • Se utilizan principalmente en problemas de clasificación, categorización y optimización.
  • Despliegue rápido y sencillo en ciertos escenarios.

Perceptrón

Fórmulas

  • Error para una salida:
    Error = (Salida Deseada - Salida de la Red)
  • Actualización del Peso (ΔW):
    ΔWi = c * Error * xi
    Donde c es la tasa de aprendizaje, Error es el error de la salida, y xi es la entrada correspondiente al peso Wi.
  • Nuevo Peso:
    Wij(t+1) = Wij(t) + ΔWij

Redes Multicapa (MLP)

Fórmulas

  • Función de Error (Error Cuadrático Medio):
    Error = 1/2 ∑ (Salida Deseada - Salida de la Red)2
    Esta es una función de coste común para el entrenamiento.
  • Actualización del Peso (ΔWij) (mediante Backpropagation):
    ΔWij = η * δj * xi
    Donde η es la tasa de aprendizaje, δj es el término de error para la neurona j, y xi es la entrada de la neurona j desde la neurona i.
    • Para un nodo de salida:
      δj = (Salida Deseadaj - Salida de la Redj) * f'(netj)
      Donde f' es la derivada de la función de activación.
    • Para un nodo de capa oculta:
      δj = (∑k δk * Wjk) * f'(netj)
      Donde k son los nodos en la capa siguiente.

Criterios de Parada

  • El número máximo de iteraciones (épocas) ha sido alcanzado.
  • El error en la formación es menor que un mínimo fijado.
  • El error de validación aumenta por k veces consecutivas.

Algoritmos Genéticos

Normalización del Vector de Entrada

Para decodificar un valor binario a un rango real:

X = min + (max - min) * (valor_decimal / (2número_de_bits - 1))

Criterios de Parada

  • No hubo mejoría en la aptitud (fitness) de la población durante un número determinado de generaciones.
  • La mejor solución conocida fue encontrada (si aplica).
  • Pérdida de diversidad en la población.
  • El número máximo de generaciones ha sido alcanzado.

Entradas relacionadas: