machine learning - para - ¿Qué es el aprendizaje automático?
machine learning historia (9)
- ¿Qué es el aprendizaje automático ?
- ¿Qué hace el código de aprendizaje automático?
- Cuando decimos que la máquina aprende, ¿modifica el código de sí mismo o modifica el historial (base de datos) que contendrá la experiencia del código para un determinado conjunto de entradas?
¿Qué es una máquina de aprendizaje?
Esencialmente, es un método de enseñanza de computadoras para hacer y mejorar predicciones o comportamientos basados en algunos datos. ¿Qué es esta "información"? Bueno, eso depende completamente del problema. Podría 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 el "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 una miríada de problemas diferentes; consulte Wikipedia para obtener más información; específicamente, mira bajo Tipos de Algoritmos .
Cuando decimos que la máquina aprende, ¿modifica el código de sí mismo 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 en realidad se está modificando es la Programación genética , en la que esencialmente se desarrolla un programa para completar una tarea (por supuesto, el programa no se modifica a sí mismo, pero sí modifica otro programa informático).
Las redes neuronales , por otro lado, modifican sus parámetros automáticamente en respuesta a los estímulos preparados y la respuesta esperada. Esto les permite producir muchos comportamientos (teóricamente, pueden producir cualquier comportamiento porque pueden aproximar cualquier función a una precisión arbitraria, con suficiente tiempo).
Debo señalar que su uso del término "base de datos" implica que los algoritmos de aprendizaje automático funcionan al "recordar" información, eventos o experiencias. Esto 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 se produce el aprendizaje. En lugar de recordar lo que sucedió y cómo reaccionar, 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 se había visto.
Esta última habilidad, la capacidad de reaccionar a las entradas que nunca se han visto antes, es uno de los principios fundamentales de muchos algoritmos de aprendizaje automático. Imagine tratar de enseñarle a un conductor de computadora a navegar por las carreteras en el tráfico. Usando su metáfora de "base de datos", tendría que enseñarle a la computadora exactamente qué hacer en millones de situaciones posibles. Un algoritmo efectivo de aprendizaje automático (¡con suerte!) Podría aprender similitudes entre diferentes estados y reaccionar de manera similar.
Las similitudes entre los estados pueden ser cualquier cosa, incluso las cosas que podríamos pensar como "mundanas" pueden realmente hacer tropezar una computadora. Por ejemplo, digamos que el controlador de la computadora descubrió que cuando un automóvil que iba delante se ralentizaba, tenía que reducir la velocidad a. Para un ser humano, reemplazar el automóvil con 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á enfrente y una motocicleta en frente. Un algoritmo de aprendizaje automático, por otro lado, "aprenderá" del ejemplo del automóvil y podrá generalizar al ejemplo de la motocicleta automáticamente.
Creo que una de las mejores definiciones de aprendizaje automático que he leído es de este libro de Tom Mitchell. Fácil de recordar e intuitivo.
Se dice que un programa de computadora aprende de la experiencia E con respecto a alguna clase de tareas T y la medida de rendimiento P, si su desempeño en tareas en T, medido por P, mejora con la experiencia E
El aprendizaje automático es el estudio en la ciencia de la computación de la creación de algoritmos que pueden clasificar información que no habían visto antes, mediante patrones de aprendizaje a partir de la capacitación en información similar. Hay todo tipo de tipos de "aprendices" en este sentido. Redes neuronales, redes bayesianas, árboles de decisión, algoritmos de agrupamiento k, modelos ocultos de markov y máquinas de vectores de soporte son ejemplos.
Con base en el alumno, cada uno aprende de diferentes maneras. Algunos alumnos producen marcos comprensibles para los humanos (p. Ej., Árboles de decisión), y algunos son generalmente inescrutables (por ejemplo, redes neuronales).
Los estudiantes son esencialmente basados en datos, lo que significa que guardan su estado como datos para ser reutilizados más adelante. No son auto modificantes como tales, al menos en general.
El aprendizaje automático es simplemente un término genérico para definir una variedad de algoritmos de aprendizaje que producen un cuasi aprendizaje a partir de ejemplos (sin etiquetar / etiquetar). La precisión / error real está completamente determinada por la calidad de los datos de entrenamiento / prueba que proporcione a su algoritmo de aprendizaje. Esto se puede medir usando una tasa de convergencia. La razón por la que proporciona ejemplos es porque desea que el algoritmo de aprendizaje de su elección pueda brindar información de manera orientativa para generalizar. Los algoritmos se pueden clasificar en dos áreas principales: aprendizaje supervisado (clasificación) y técnicas de aprendizaje no supervisado (agrupamiento). Es extremadamente importante que tome una decisión informada sobre cómo planea separar sus conjuntos de datos de entrenamiento y prueba, así como la calidad que le proporciona a su algoritmo de aprendizaje. Cuando proporciona conjuntos de datos, también quiere estar al tanto de cosas como ajustar y mantener un sentido de sesgo saludable en sus ejemplos. El algoritmo entonces básicamente aprende a escribir sobre la base de la generalización que logra a partir de los datos que le ha proporcionado, tanto para el entrenamiento como para las pruebas en curso. Intenta que su algoritmo de aprendizaje produzca nuevos ejemplos en función de su entrenamiento específico. En la agrupación hay muy poca orientación informativa que el algoritmo básicamente intenta producir a través de medidas de patrones entre los datos para construir conjuntos de conglomerados relacionados, por ejemplo, kmeans / vecino kestres.
algunos buenos libros: Introducción a ML (Nilsson / Stanford), Proceso gaussiano para ML, Introducción a ML (Alpaydin), Inferencia de teoría de información y Algoritmos de aprendizaje (libro muy útil), Aprendizaje automático (Mitchell), Reconocimiento de patrones y Aprendizaje automático (estándar ML libro de curso en Edimburgo y varios Unis pero lectura relativamente pesada con matemáticas), Minería de datos y Aprendizaje automático práctico con Weka (trabajar a través de la teoría usando weka y práctica en Java)
Refuerzo Aprendiendo hay un libro gratis en línea que puedes leer: http://www.cs.ualberta.ca/~sutton/book/ebook/the-book.html
IR, IE, Recommenders y Text / Data / Web Mining en general usan muchos de los principios de Machine Learning. Incluso puede aplicar técnicas de optimización metaheurísticas / globales aquí para automatizar aún más sus procesos de aprendizaje. por ejemplo, aplique una técnica evolutiva como GA (algoritmo genético) para optimizar su enfoque basado en redes neuronales (que puede usar algún algoritmo de aprendizaje). Puede abordarlo simplemente en forma de un enfoque probabilístico de aprendizaje automático, por ejemplo, el aprendizaje bayesiano. La mayoría de estos algoritmos tienen un uso muy fuerte de las estadísticas. Los conceptos de convergencia y generalización son importantes para muchos de estos algoritmos de aprendizaje.
El aprendizaje automático es un campo de la ciencia de la computación, la teoría de la probabilidad y la teoría de optimización que permite resolver tareas complejas para las cuales un enfoque lógico / de procedimiento no sería posible o factible.
Hay varias categorías diferentes de aprendizaje automático, que incluyen (pero no se limitan a):
- Aprendizaje supervisado
- Aprendizaje reforzado
Aprendizaje supervisado
En el aprendizaje supervisado, tiene una función realmente compleja (asignación) de entradas a salidas, tiene muchos ejemplos de pares de entrada / salida, pero no sabe cuál es esa función complicada. Un algoritmo de aprendizaje supervisado posibilita, dado un gran conjunto de datos de pares de entrada / salida, predecir el valor de salida para un nuevo valor de entrada que quizás no haya visto antes. El método básico es dividir el conjunto de datos en un conjunto de entrenamiento y un conjunto de prueba. Tiene algún modelo con una función de error asociada que intenta minimizar sobre el conjunto de entrenamiento, y luego se asegura de que su solución funcione en el conjunto de prueba. Una vez que haya repetido esto con diferentes algoritmos y / o parámetros de aprendizaje automático hasta que el modelo tenga un rendimiento razonablemente bueno en el conjunto de prueba, puede intentar utilizar el resultado en nuevas entradas. Tenga en cuenta que en este caso, el programa no cambia, solo se cambia el modelo (datos). Aunque uno podría, teóricamente, producir un programa diferente, pero eso no se hace en la práctica, hasta donde yo sé. Un ejemplo de aprendizaje supervisado sería el sistema de reconocimiento de dígitos utilizado por la oficina de correos, donde asigna los píxeles a las etiquetas en el conjunto 0 ... 9, utilizando un gran conjunto de imágenes de dígitos etiquetados a mano como en 0 ... 9.
Aprendizaje reforzado
En el aprendizaje de refuerzo, el programa es responsable de tomar decisiones, y periódicamente recibe algún tipo de premio / utilidad por sus acciones. Sin embargo, a diferencia del caso de aprendizaje supervisado, los resultados no son inmediatos; el algoritmo podría prescribir una gran secuencia de acciones y solo recibir retroalimentación al final. En el aprendizaje de refuerzo, el objetivo es construir un buen modelo de modo que el algoritmo genere la secuencia de decisiones que conducen a la utilidad / recompensa más alta a largo plazo. Un buen ejemplo de aprendizaje de refuerzo es enseñarle a un robot cómo navegar dando una penalización negativa cada vez que su sensor de impacto detecta que ha chocado contra un objeto. Si está codificado correctamente, es posible que el robot correlacione finalmente los datos del sensor del telémetro con los datos del sensor de parachoques y las direcciones que envía a las ruedas, y finalmente elije una forma de navegación que no choque con los objetos.
Más información
Si está interesado en aprender más, le recomiendo que lea el Reconocimiento de Patrones y Aprendizaje Automático por Christopher M. Bishop o tome un curso de aprendizaje automático. También puede estar interesado en leer, de forma gratuita, las notas de la conferencia de CIS 520: Machine Learning at Penn .
El aprendizaje automático es un término que se toma del mundo real de una persona y se aplica sobre algo que realmente no puede aprender: una máquina.
Para agregar a las otras respuestas, el aprendizaje automático (generalmente) no cambiará el código, pero podría cambiar su ruta de ejecución y decisión en base a datos previos o nuevos datos recopilados y, por lo tanto, el efecto de "aprendizaje".
hay muchas maneras de "enseñar" una máquina: le da peso a muchos parámetros de un algoritmo y luego hace que la máquina lo resuelva en muchos casos, cada vez que le da retroalimentación acerca de la respuesta y la máquina ajusta los pesos de acuerdo con qué tan cerca estuvo la respuesta de la máquina de su respuesta o de acuerdo con el puntaje que le dio su respuesta, o según algún algoritmo de prueba de resultados.
Esta es una forma de aprender y hay muchas más ...
El aprendizaje automático es una metodología para crear un modelo basado en datos de muestra y utilizar el modelo para hacer una predicción o estrategia. Pertenece a la inteligencia artificial.
Descaradamente arrancado de Wikipedia: el aprendizaje automático es una disciplina científica que se preocupa por el diseño y desarrollo de algoritmos que permiten a las computadoras evolucionar comportamientos basados en datos empíricos, como datos de sensores o bases de datos.
Simplemente, el código de aprendizaje automático logra una tarea de aprendizaje automático. Eso puede ser una cantidad de cosas desde la interpretación de los datos del sensor hasta un algoritmo genético.
Yo diría que depende. No, modificar el código no es normal, pero no está fuera del ámbito de la posibilidad. Tampoco diría que el aprendizaje automático siempre modifica una historia. A veces no tenemos historia de la cual construir. En algún momento, simplemente queremos reaccionar al entorno, pero no aprender de nuestras experiencias pasadas.
Básicamente, el aprendizaje automático es una disciplina muy abierta que contiene muchos métodos y algoritmos que hacen imposible que haya una respuesta a su tercera pregunta.
El aprendizaje automático es una disciplina científica que se ocupa del diseño y desarrollo de algoritmos que permiten que las computadoras desarrollen comportamientos basados en datos empíricos, como datos de sensores o bases de datos. Leer más en Wikipedia
El código de aprendizaje automático registra "hechos" o aproximaciones en algún tipo de almacenamiento, y con los algoritmos calcula diferentes probabilidades.
El código en sí no se modificará cuando una máquina aprenda, solo la base de datos de lo que "sabe".