¿Es posible que una aplicación de aprendizaje automático que ejecute el mismo algoritmo y se alimente con los mismos datos para aprender cosas diferentes en pruebas de entrenamiento separadas?

Depende de lo que quieras decir con “aprender cosas diferentes”.

Si aplica factores de aleatorización en un proceso de capacitación supervisado, como valores iniciales aleatorios, el modelo podría converger fácilmente a diferentes soluciones. Las diferentes soluciones son diferentes formas de lograr el resultado según lo limite la función de costo aplicada. Por lo tanto, “aprender cosas diferentes” en este caso estaría convergiendo a diferentes formas de hacer lo mismo, posiblemente una significativamente mejor que la otra. Esta técnica se usa a menudo para tratar de evitar quedarse atascado en los mínimos locales.

En un proceso de capacitación no supervisado donde el resultado no está limitado por una función de costo explícito, nuevamente, sí, podría terminar fácilmente con diferentes modelos. Al igual que en el caso supervisado, los factores de asignación al azar lo permitirán, pero para la capacitación no supervisada, la naturaleza de los datos de capacitación también influirá en esto.

Tome un ejemplo simple de agrupamiento. Si los datos son particularmente ambiguos, las soluciones de ML podrían ser drásticamente diferentes. O si los datos se agrupan claramente, no importa cuáles sean los factores de asignación al azar, las soluciones serán idénticas.

Entonces, en el caso no supervisado, “aprender cosas diferentes” podría implicar no solo formas diferentes de hacer lo mismo, sino también resultados bastante distintos.

Ahora bien, esta es una generalización general, pero espero que entiendan.

Primero definiría lo que quiere decir con “algoritmo”. Si por algoritmo te refieres al tipo de modelo (por ejemplo, bosques aleatorios, regresión lineal o regresión logística), hay varios hiperparámetros que puedes ajustar para que se comporte de manera diferente y cambie el método de optimización.

Del mismo modo, cuando menciona los “datos”, podría muy bien tener las mismas columnas y tipos de datos, pero puede aleatorizar el orden en el que da los ejemplos de datos al ejemplo de capacitación. Además, puede modificar los datos y manipular el formato de cualquier columna dada (por ejemplo, puede redondear una columna de coma flotante al decimal más cercano), lo que nuevamente agrega otra aleatorización potencial a la mezcla.

En resumen, hay algunos factores que podrían cambiar incluso si se utilizan el mismo algoritmo y los mismos datos, lo que puede dar como resultado un resultado y una probabilidad potencialmente diferentes:

  • hiperparámetros modelo
  • orden de datos
  • formato de datos

Ahora, si suponemos que todos los 3 factores anteriores se mantienen iguales, el algoritmo aún podría darle resultados diferentes. Dado que estos modelos están optimizando funciones no lineales, no tienen un mínimo / máximo global, lo que significa que podría atravesar un espacio de búsqueda ligeramente diferente para cada ejecución del modelo. Si está interesado en aprender más, puede consultar esta explicación aquí: http://web.cs.iastate.edu/~cs577

En cualquier caso, lo más probable es que obtenga un “resultado diferente” cada vez que ejecute el modelo, sin embargo, en muchos casos, para todos los efectos, los resultados pueden no ser significativamente diferentes si todo sigue igual, pero de nuevo, Todo es un juego de probabilidad.

Si está ejecutando estos flujos de trabajo cuantitativos, podría utilizar una herramienta como Datmo útil para administrar estas diferentes ejecuciones.

Espero que esto ayude 🙂

Claro que si. La aleatorización de algunos de los parámetros iniciales es un método común utilizado en el aprendizaje automático. Como se reinicia al azar una prueba para evitar quedarse atascado en los mínimos locales. Eventualmente, sin embargo, los diferentes modelos de aprendizaje automático generalmente se comparan entre sí y no se utilizan los que funcionan peor. En los casos en que diferentes modelos están aprendiendo cosas sustancialmente diferentes que son realmente útiles, se puede usar un enfoque de conjunto para aprovechar el aprendizaje de múltiples modelos.

Si el algoritmo tiene un aspecto estocástico y si las secuencias numéricas “aleatorias” son diferentes en las diferentes ejecuciones, entonces sí. Pongo comillas al azar porque la mayoría de las personas usan generadores de números pseudoaleatorios (RNG).

En otras palabras, puede replicar los resultados exactos de aprendizaje si usa la misma semilla en el pseudo-RNG.

Casi todos los algoritmos de aprendizaje utilizan algún tipo de función aleatoria. Los algoritmos genéticos dependen de hacer “niños” al azar para seleccionar el conjunto de genes, y muchos algoritmos de aprendizaje como los algoritmos de ajedrez seleccionan algunos valores aleatorios para basar la toma de decisiones.

.

Entonces, en resumen, sí.