¿Cómo se mejora un algoritmo de aprendizaje automático basado en la experiencia?

Defina una familia de modelos, en la que cada modelo específico se define asignando valores específicos a un conjunto de N parámetros de la familia de modelos. Es decir, un modelo está definido por la estructura general de la familia de modelos y un vector de N valores / dimensiones. Luego, defina una función para asignar una “calidad” / “aptitud” / “error mínimo” a cada modelo, o una forma de comparar entre modelos.

El aprendizaje es el proceso de seleccionar modelos (valores de parámetros) con valores crecientes de aptitud. El desafío es que cuando el número de parámetros y valores es alto, la búsqueda en el espacio de todos los modelos posibles es muy costosa.

Las diferentes técnicas de aprendizaje se diferencian por los diferentes enfoques utilizados que minimizan el tiempo que lleva, desde un (os) candidato (s) modelo (s) inicial (es), mejorar el (los) mejor (es) modelo (s) encontrado (s) hasta el momento y alcanzar un nivel de rendimiento decente. Por supuesto, los detalles de esto dependen de la estructura general de la familia de modelos (por ejemplo, NN, GA, funciones algebraicas, etc.)

De hecho, en la mayoría de los algoritmos de aprendizaje automático, el modelo de estructura general en sí es fijo y solo sus parámetros se ajustan para describir los datos de entrenamiento.

Una estrategia de uso común es comenzar desde un modelo lo suficientemente general y luego el algoritmo puede encontrar que algunos de los parámetros no son necesarios para describir los datos (dando un modelo más simple de lo previsto inicialmente).

Por otro lado, uno podría ver métodos de conjunto como el aumento de gradiente como algoritmos que ‘cambian a sí mismos’ (o más bien algoritmos que modifican la estructura del modelo aprendido) al agregar más y más clasificadores para mejorar la descripción de los datos que se aprenderán .


También hay un enfoque llamado programación genética, en el que, por ejemplo, se modifican las estructuras de funciones y luego se puede evaluar qué tan bien describen los datos que se aprenderán.

En general, un algoritmo de aprendizaje automático aprende mediante la reducción del error en cada punto de datos en el conjunto de entrenamiento.

Un ejemplo simple sería la regresión lineal, que puede usar un método llamado descenso de gradiente para producir una línea que ‘se parezca más’ a algunos datos de entrenamiento.

  • El modelo para la regresión lineal es simplemente [math] y = \ theta_0 + {\ theta_1} X [/ math], donde cada ejemplo dado calculamos la función de costo (llamemos a esto [math] J (\ theta) [/ math] ) Luego use el descenso de gradiente para reducir la función de costo hasta que ocurra la convergencia.

Eventualmente [math] \ theta [/ math] tiene valores que resultan en una línea que se ajusta a los datos de entrenamiento (una recta en este caso). Ahora elija un nuevo ejemplo de X, calcule y usando [math] \ theta [/ math], esto le da una aproximación de un nuevo valor de y.

More Interesting

¿Cuáles son algunos algoritmos interesantes que no tienen implementación conocida hasta la fecha?

¿Deep Blue fue un algoritmo o una IA o ambos?

¿Se conoce algún algoritmo general para factorizar números muy grandes?

¿Qué es el mapa de bits? ¿Dónde lo usamos?

¿Tiene sentido saltar directamente a las máquinas de vectores de soporte en lugar de probar con otros algoritmos lineales, primero, en el aprendizaje automático?

¿Qué es mejor, resolver menos problemas por su cuenta o más problemas usando sugerencias?

Cómo resolver este problema de matrices en programación en C

¿Es la clave de una matriz asociativa una variable?

¿Utiliza un algoritmo de búsqueda lineal la estrategia de dividir y conquistar?

¿Puedo obtener un enlace a algunas buenas preguntas de programación dinámica 3-D?

¿Qué enfoque debe adoptar en la vida, un paradigma codicioso o un enfoque de programación dinámica?

¿Cuál es el futuro de la música generada por computadora?

Supongamos que tenemos una matriz 8 * 8. Cada celda tiene 0 o 1. Se le dará una ubicación y deberá encontrar todas las que se encuentran en la misma isla. ¿Los puntos se encuentran en la misma isla si un punto está en alguna de las celdas adyacentes?

Visión por computadora: las aplicaciones de Richard Szeliski ofrecen una buena (amorosa) montaña rusa a través de la historia de los algoritmos. ¿Cómo puedo usarlo mejor?

¿Cuáles son los principios o características esenciales de los algoritmos gráficos en informática?