Adivinación con aprendizaje automático_Robot adivino
Autor: Dong Keren
Enlace:/question/24976006/answer/29682806
Fuente: Zhihu.
Los derechos de autor pertenecen al autor. Para reimpresiones comerciales, comuníquese con el autor para obtener autorización. Para reimpresiones no comerciales, indique la fuente.
El algoritmo de la Introducción a los algoritmos es esencialmente un problema con una solución exacta y cómo obtener esta solución de manera más eficiente. Esta eficiencia puede ser tiempos de cálculo más cortos o menos espacio requerido durante los cálculos.
Un ejemplo sencillo es cómo reorganizar rápidamente una matriz desordenada de pequeña a grande, o encontrar su valor mediano. Estas preguntas tienen una respuesta definitiva y única y, en general, existe un método relativamente estúpido (exhaustivo o transversal) que se puede resolver paso a paso. El llamado algoritmo es cómo simplificar los pasos y encontrar la solución de forma más rápida y sencilla. Los datos procesados por estos algoritmos también son tipos simples y limpios, como matrices, árboles binarios y gráficos. Para estos algoritmos, la escala de datos afecta el tiempo y el espacio requeridos para el cálculo, y el cambio de escala no afectará la lógica ni los resultados del cálculo del algoritmo en sí.
Los problemas a resolver mediante el aprendizaje automático generalmente no tienen soluciones exactas, ni pueden encontrarse mediante métodos exhaustivos o transversales. Lo que es necesario enfatizar es el atributo de "aprendizaje", lo que significa que se espera que el algoritmo en sí descubra dinámicamente nuevas reglas e incluso cambie la lógica y el comportamiento del programa del algoritmo en función de los cambios en los datos o el entorno informático determinados.
Por ejemplo, mil documentos se pueden dividir en diferentes categorías. El más sencillo se puede dar a varias categorías, como noticias, novelas, poesía, etc. , el algoritmo puede dividir automáticamente los artículos en las categorías correspondientes según su contenido. Se puede ver aquí que incluso cuando la gente hace esta pregunta, hay muchos aspectos vagos e inciertos. Por ejemplo, ¿debería clasificarse un documental sobre crímenes en "Legal Evening News" como noticia o ficción? ¿O debería clasificarse un poema largo, como la epopeya de Homero, como novela o poema? Lo que el algoritmo de aprendizaje automático quiere resolver es dar automáticamente divisiones basadas en los patrones encontrados en el contenido del artículo. Sin embargo, diferentes algoritmos pueden dar diferentes soluciones, y todas estas soluciones pueden ser "correctas", por lo que generalmente es necesario diseñar manualmente un estándar de juicio para determinar cuál es mejor.
También puede dejar que el algoritmo descubra patrones en artículos y agrupe artículos con alta similitud sin tener que especificar categorías de antemano. De esta manera, diferentes algoritmos pueden dar diferentes números de clasificación, que pueden ser tres, cuatro o cinco, y todas ellas pueden ser clasificaciones "correctas". Incluso qué es la "similitud", diferentes algoritmos pueden dar diferentes explicaciones, ya sea la frecuencia y proporción de sustantivos, verbos, adjetivos o la estructura gramatical de la oración.
Además, es posible que también desees utilizar este algoritmo para determinar la categoría de un nuevo documento. Cuantos más documentos nuevos se introduzcan, mayor será el conjunto de datos inicial. A medida que la escala aumenta, es posible que se hagan evidentes patrones que no eran evidentes en los datos originales. Por ejemplo, solo hay un artículo argumentativo entre los 1.000 documentos originales y es posible que la mayoría de los algoritmos no puedan clasificarlo en una categoría separada. Pero cuando se ingresan 100 artículos argumentativos seguidos, la proporción de artículos argumentativos en los datos se convierte en 101/1100%, que es casi el 10%. En este momento, el algoritmo necesita separar los artículos argumentativos. En este sentido, los datos en sí tienen un gran impacto en el algoritmo, que también es la diferencia esencial con el algoritmo de "Introducción a los algoritmos".
Técnicamente hablando, los algoritmos de "Introducción a los algoritmos" se centran en la estructura de datos y la complejidad computacional. Son una rama de las matemáticas discretas y no implican conceptos matemáticos avanzados como el cálculo. El algoritmo de aprendizaje automático en sí se basa en teorías y tecnologías como la teoría de la probabilidad, la estadística y la optimización. Desde esta perspectiva, se siente más "matemático".
En detalles de implementación específicos, los algoritmos de aprendizaje automático aplicarán una gran cantidad de tecnologías para mejorar la eficiencia informática en la introducción del algoritmo. Pero es necesario enfatizar que esto es solo para la implementación subyacente y que los dos no están estrechamente relacionados en la lógica del algoritmo en sí. En otras palabras, las técnicas de Introducción a los algoritmos pueden ayudarle a escribir programas más rápidos para ejecutar algoritmos de aprendizaje automático, pero no ayudan con el problema que el aprendizaje automático intenta resolver. Usar hábilmente una tabla hash de árbol binario y estimar con precisión la complejidad de un algoritmo gráfico puede no ayudarte a adivinar cuál es el mejor regalo para el cumpleaños de tu novia (¡cualquier fanático de Taobao que haya usado algoritmos de aprendizaje automático probablemente lo sepa!). Así que no los considere bloques y componentes de construcción.
Finalmente, si la explicación anterior todavía te confunde, hay una explicación más popular: la introducción de algoritmos es para enseñarte a contar, y el aprendizaje automático es básicamente equivalente a la astrología y la adivinación. Uno es muy mecánico y el otro se basa en el engaño. Probablemente sea eso.
Para un análisis detallado, consulte el enlace:/question/24976006.