¿El entrenamiento de un algoritmo de aprendizaje automático será tan eficiente si las entradas se ordenan secuencialmente?

* A2A *

Sí. Existe una noción en las estadísticas conocida como “intercambiabilidad”. Citando de [1],

En estadística, una secuencia intercambiable de variables aleatorias (también a veces intercambiables ) [1] es una secuencia tal que las muestras futuras se comporten como muestras anteriores, lo que significa formalmente que cualquier orden (de un número finito de muestras) es igualmente probable.

Informalmente, lo que esto significa es que no importa en qué orden se observen las variables aleatorias. De nuevo de [1],

Una secuencia de variables aleatorias que son independientes e idénticamente distribuidas (iid), condicionadas a alguna forma de distribución subyacente es intercambiable.

Esto esencialmente dice que si las variables aleatorias son iid, entonces son intercambiables.

La mayoría, si no todos, los algoritmos de aprendizaje automático asumen iid, input y, por lo tanto, son insensibles al orden en que se les dan los datos.

Sin embargo, existe otra noción de eficiencia: la eficiencia computacional. Hay varios trabajos aplicados en los que se ha demostrado que la clasificación (y con eso no me refiero necesariamente a la clasificación de la manera que ha mostrado, pero el método más común ha sido calcular una puntuación de importancia o relevancia y luego ordenar por esa puntuación ) puede mostrar una convergencia mejorada, especialmente en los métodos que utilizan el descenso de gradiente estocástico. Sin embargo, esto es solo una observación empírica y no una garantía teórica.

[1] Variables aleatorias intercambiables

Suponiendo que los datos de entrenamiento son iid (si los datos de entrenamiento no lo son, por ejemplo, de naturaleza secuencial, entonces, por supuesto, el orden de los datos será importante), la efectividad de un algoritmo dependerá de cómo se realice la estimación de parámetros (o la función de pérdida está siendo optimizado):

La mayoría de los algoritmos de aprendizaje supervisado son algoritmos de aprendizaje en línea o por lotes , según la forma en que se estiman los parámetros:

En el aprendizaje en línea , los puntos de datos se ven uno por uno y se usan para actualizar los parámetros que se aprenderán. Si los datos de entrenamiento se ven solo una vez de esta manera, los resultados finales pueden ser subóptimos. Este proceso de ver todos los datos una vez puede repetirse varias veces. Si el proceso se repite una gran cantidad de veces, el algoritmo puede ser tan efectivo como ver un conjunto de entrenamiento aleatorizado.

En el aprendizaje por lotes , todos los puntos de datos se utilizan colectivamente para realizar una actualización de los parámetros. En este caso, obviamente el orden de los puntos no importará.

More Interesting

¿Qué puedo hacer para aumentar mis posibilidades de transferirme a otra universidad mejor después de mi primer año?

¿Cuál es la contribución de los ingenieros informáticos al mundo?

¿Cuáles son las mayores deficiencias de JavaScript?

¿Por qué es difícil programar NP?

¿Cómo puedo obtener la representación de cadena de un objeto en C ++ (es decir, qué se imprimiría haciendo cout << objeto)?

Quiero que mi robot Atmega funcione en múltiples modos (seguimiento de línea, evitación de obstáculos, guía directa de PC) ¿Cómo puedo cargar y cambiar entre ellos?

¿Cuáles son las oportunidades para estudiantes de primer año en Hadoop?

¿Cuál es la mejor demostración de Machine Learning realizada en R para sorprenderlo?

¿Qué tipo de inteligencia artificial te dejará sin trabajo?

¿Cuáles son las partes que componen una computadora?

¿Es posible comenzar con el aprendizaje automático sin conocimientos previos en IA, o la IA debería estudiarse primero en general?

¿Cómo gestionar modelos de aprendizaje automático? ¿Cómo realiza un seguimiento de los modelos de aprendizaje automático mientras los itera? ¿Cómo se compara el rendimiento de diferentes modelos / conjuntos de datos? ¿Cuáles son algunos puntos débiles en su flujo de trabajo?

¿En qué consisten los equipos de aprendizaje automático y cómo funcionan a nivel corporativo?

Teóricamente, ¿es posible crear un sistema de almacenamiento informático que imite el de un cerebro?

¿Qué incluye todo Inteligencia Artificial?