¿Qué es el aprendizaje automático?
Esencialmente, es un método para enseñar a las computadoras a hacer y mejorar predicciones o comportamientos basados en algunos datos. ¿Qué son estos "datos"? Bueno, eso depende completamente del problema. Podrían ser lecturas de los sensores de un robot mientras aprende a caminar, o la salida correcta de un programa para cierta entrada.
Otra forma de pensar sobre el aprendizaje automático es que es "reconocimiento de patrones": el acto de enseñar a un programa a reaccionar o reconocer patrones.
¿Qué hace el código de aprendizaje automático?
Depende del tipo de aprendizaje automático del que estés hablando. El aprendizaje automático es un campo enorme , con cientos de algoritmos diferentes para resolver innumerables problemas diferentes; consulte Wikipedia para obtener más información; específicamente, busque en Tipos de algoritmos .
Cuando decimos que la máquina aprende, ¿modifica el código de sí misma o modifica el historial (base de datos) que contendrá la experiencia del código para un conjunto dado de entradas?
Una vez más, depende .
Un ejemplo de código que realmente se está modificando es la Programación Genética , donde esencialmente se hace evolucionar un programa para completar una tarea (por supuesto, el programa no se modifica a sí mismo, pero modifica otro programa de computadora).
Las redes neuronales , por otro lado, modifican sus parámetros automáticamente en respuesta a estímulos preparados y respuesta esperada. Esto les permite producir muchos comportamientos (teóricamente, pueden producir cualquier comportamiento porque pueden aproximar cualquier función con una precisión arbitraria, dado el tiempo suficiente).
Debo señalar que el uso del término "base de datos" implica que los algoritmos de aprendizaje automático funcionan "recordando" información, eventos o experiencias. Este no es necesariamente (¡ni siquiera a menudo!) El caso.
Las redes neuronales, que ya mencioné, solo mantienen el "estado" actual de la aproximación, que se actualiza a medida que ocurre el aprendizaje. En lugar de recordar lo que sucedió y cómo reaccionar ante él, las redes neuronales construyen una especie de "modelo" de su "mundo". El modelo les dice cómo reaccionar a ciertas entradas, incluso si las entradas son algo que nunca antes había visto.
Esta última capacidad, la capacidad de reaccionar a entradas que nunca se han visto antes, es uno de los principios básicos de muchos algoritmos de aprendizaje automático. Imagínese tratando de enseñarle a un conductor de computadora a navegar por las carreteras en medio del tráfico. Usando su metáfora de la "base de datos", tendría que enseñarle a la computadora exactamente qué hacer en millones de situaciones posibles. Un algoritmo de aprendizaje automático efectivo (¡con suerte!) Podría aprender similitudes entre diferentes estados y reaccionar a ellos de manera similar.
Las similitudes entre los estados pueden ser cualquier cosa, ¡incluso las cosas que podríamos considerar "mundanas" realmente pueden hacer tropezar una computadora! Por ejemplo, digamos que el conductor de la computadora se enteró de que cuando un automóvil delante de él reducía la velocidad, tenía que reducir la velocidad. Para un ser humano, reemplazar el automóvil por una motocicleta no cambia nada: reconocemos que la motocicleta también es un vehículo. Para un algoritmo de aprendizaje automático, ¡esto puede ser sorprendentemente difícil! Una base de datos tendría que almacenar información por separado sobre el caso en el que un automóvil está al frente y donde una motocicleta está al frente. Un algoritmo de aprendizaje automático, por otro lado, "aprendería" del ejemplo del automóvil y podría generalizar al ejemplo de la motocicleta automáticamente.