Herramientas de usuario

Herramientas del sitio


ai:machine_learning

¡Esta es una revisión vieja del documento!


Machine learning

Algoritmos de clasificación, desarrollo e implementación de estos.

Aprendizaje

Tipos de aprendizaje

Aprendizaje supervisado

Aprendizaje no supervisado

El proceso

El proceso de aprendizaje consiste en entrenar algoritmos, esto significa encontrar los parámetros más adecuados para redes neuronales, SVM… Lo que se hace es separar los datos que tenemos en datos de entrenamiento y de aprendizaje (estos deberían ser un tercio o un cuarto) y lanzar el algoritmo con los de entrenamiento hasta encontrar los parámetros. Una vez se tienen se probarían con los de test para asegurarnos que funciona. Si el algoritmo la clava con los de entrenamiento pero falla mucho con los de test diremos que está sobreentrenado, que hay overfitting.

Evaluación del modelo

Cross-Validation

Tipos de error

Modelos de regresión

Regresión Lineal

A partir de una distribución bidimensional podemos estudiar la causa-efecto de dos variables (cómo influye una sobre la otra). Por ejemplo, cantidad de lluvia y producción agrícola, aumento de precio y demanda de un producto… Para ello, a partir de una representación gráfica en un sistema de coordenadas encontraremos un “diagrama de dispersión”, será regresión lineal cuando la función es lineal (pendiente y ordenada (y = ax + b)), la recta del gráfico resultante será la recta de regresión. Esto nos permite, además, predecir un valor para una x que no esté en la distribución.

Regresión logística

Para modelar la probabilidad de un evento que ocurre en función de otros factores. Usa la función logit.

KNN

  • También denominado K nearest neighbors.

Neural Networks

El perceptrón

El algoritmo de backpropagation

Modelos de Markov

Un modelo de Markov no es más que un modelo en el que una acción ocurre con probabilidad condicional independiente a las demás; esto permite calcularla fácilmente.
En un modelo existen:

  • Estados que se pueden dar.
  • Probabilidades iniciales de los estados, que un estado sea el primero.
  • Probabilidades de cambio de un estado a otro.
  • Acciones que se pueden llevar a cabo.
  • Probabilidad de que las acciones se lleven a cabo según el estado.
estados = ('Lluvioso', 'Soleado')
observaciones = ('caminar', 'comprar', 'limpiar')
probabilidad_inicial = {'Lluvioso': 0.6, 'Soleado': 0.4}
probabilidad_transicion = {
   'Lluvioso' : {'Lluvioso': 0.7, 'Soleado': 0.3},
   'Soleado'  : {'Lluvioso': 0.4, 'Soleado': 0.6},
   }
probabilidad_emision = {
   'Lluvioso' : {'caminar': 0.1, 'comprar': 0.4, 'limpiar': 0.5},
   'Soleado'  : {'caminar': 0.6, 'comprar': 0.3, 'limpiar': 0.1},
   }

Los problemas que pueden ser resueltos gracias a las cadenas de Markov son:

  1. Calcular la probabilidad de que ocurra algo (problema de evaluación), se monta el modelo y se calcula las probabilidades a partir de la anterior.
  2. Calcular, dando un modelo y un resultado, qué secuencia de estados es más probable que haya seguido (problema de decodificación, con algoritmo de Viterbi). Se monta el modelo y se van calculando probabilidades, se escogerá como resultado la secuencia de estados más probables.
  3. Crear un modelo desde 0. Problema de aprendizaje.

Un modelo oculto de Markov es cuando se conoce una salida pero no el paso por los estados, estos podrían respresentar por ejemplo gestos del usuario: el sistema recbe unos datos y según estos podría indicar qué gestos han sido realizados (tipo de problema 2).

Notas

Notas

Tips & tricks

Preparación de los datos

  • Si las clases de las que dispones estuviesen desbalanceadas para el entrenamiento, es decir, que hubiesen muchos más elementos de una clase que de otra. Un truco para no perder información y que no se realice un aprendizage mejor para unas que para otras es duplicar aleatoriamente los individuos de las clases con menos para igualarlas.
  • Pueden existir problemas, como por ejemplo la identificación de carácteres escritos a mano, en la que la información se nos presente de una forma difícil de tratar para el aprendizaje (rgb de píxels…) y tengamos que hacer “feature extraction” (tratar los píxels como una imágen y encontrar nuevas variables como por ejemplo número de agujeros, euler number, verticalidad…) y realizar el aprendizaje con estas nuevas características.
ai/machine_learning.1318603138.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)