Cómo construir un sistema de aprendizaje automático razonable
Soy un defensor de la filosofía de "aprender a través de la toma de riesgos y la experimentación". Así es como aprendí a programar y creo que mucha gente aprende a programar de esta manera también. Conozca los límites de sus habilidades y luego extiéndalos. Si sabe programar, puede aplicar rápidamente su experiencia en programación al aprendizaje automático de aprendizaje profundo. Antes de implementar un sistema de producción real, se deben seguir algunas reglas y aprender las matemáticas relevantes.
Busca una biblioteca y lee la documentación, sigue los tutoriales y empieza a intentar implementar algo. A continuación se enumeran algunas de las mejores bibliotecas de aprendizaje automático de código abierto. No creo que cada uno de ellos sea adecuado para su uso en su sistema, pero todos son adecuados para que los aprenda, explore y pruebe.
Puedes comenzar con una biblioteca escrita en un lenguaje con el que estés familiarizado y luego pasar a otras bibliotecas potentes. Si eres un buen programador sabrás pasar de un lenguaje a otro de forma sencilla y lógica. La lógica de estos lenguajes es la misma, solo que la sintaxis y la API son ligeramente diferentes.
R Statistical Computing Project: Se trata de un entorno de desarrollo de lenguaje de scripting similar a Lisp. En esta biblioteca, todas las funciones relacionadas con las estadísticas que desee están disponibles a través de R, incluidos algunos iconos complejos. El código del catálogo de aprendizaje automático de CRAN (que puede considerarse como un paquete de terceros para estudiantes automáticos) está escrito por líderes en técnicas y métodos estadísticos y otros campos relacionados. Si desea experimentar o ampliar rápidamente sus conocimientos, R es un lenguaje que debe aprender. Pero puede que no sea su primera parada para aprender.
WEKA: Es un banco de trabajo de minería de datos que proporciona a los usuarios API, línea de comandos e interfaz gráfica de usuario para todo el proceso de minería de datos. Los complementos de terceros le permiten preparar datos, visualizar datos, crear clasificaciones, realizar análisis de regresión, crear modelos de agrupación y realizar otros algoritmos.
Mahout es un excelente marco JAVA para el aprendizaje automático de Hadoop que puedes aprender por tu cuenta. Si es nuevo en el aprendizaje automático y en el aprendizaje de big data, quédese con WEKA y aprenda una biblioteca con todo su corazón.
Scikit Learn: Es una biblioteca de aprendizaje automático escrita en Python, basada en NumPy y SciPy. Si eres programador en lenguaje Python o Ruby, entonces será ideal para ti. La biblioteca es fácil de usar, potente y viene con documentación detallada. Si desea probar otras bibliotecas, puede elegir Orange: si está familiarizado con MatLab o es un programador de NumPy que busca un cambio, puede considerar Octave. Es un entorno informático numérico que, como MatLab, puede resolver fácilmente problemas lineales y no lineales, como los involucrados en los algoritmos de aprendizaje automático subyacentes. Si tiene experiencia en ingeniería, este es un excelente lugar para comenzar.
BigML: Quizás no quieras programar. Puede utilizar una herramienta como WEKA sin necesidad de codificación alguna. Puede profundizar más con servicios como BigMLS, que proporciona una interfaz para el aprendizaje automático a través de la web para que pueda crear modelos a través del navegador.
Suplemento:
NLTK NLTK es una plataforma líder para crear programas Python para procesar datos del lenguaje humano. Proporciona interfaces fáciles de usar para más de 50 corpus y recursos léxicos como WordNet, así como un conjunto de bibliotecas de procesamiento de texto para clasificación, tokenización, derivación, etiquetado, análisis y LingPipe. Actualmente, LingPipe tiene un rico conjunto de características, que incluyen clasificación de nivel superior, reconocimiento de entidades nombradas, reconocimiento léxico y pronunciación léxica.
reconocimiento), etiquetado de partes del discurso, detección de oraciones, revisión ortográfica de consultas, detección de frases entrelazadas, agrupamiento, procesamiento de lenguaje de caracteres). Agrupación, modelado de lenguaje de caracteres, descarga, análisis e indexación de MEDLINE, extracción de textos de bases de datos, segmentación de palabras chinas y extracción de textos de bases de datos.
Elija una plataforma y úsela cuando realmente aprenda aprendizaje automático. ¡No hables en papel, ten los pies en la tierra!
Cursos en vídeo
Muchas personas comienzan a aprender el aprendizaje automático a través de recursos en vídeo. Vi muchos recursos de vídeo relacionados con el aprendizaje automático en YouTube y VideoLectures. El problema con esto es que es posible que simplemente mires el video y no lo hagas. Mi sugerencia es que tomes notas mientras ves el vídeo para poder descartarlas más tarde. Al mismo tiempo te recomiendo que apliques lo aprendido.
Francamente, no veo ningún recurso de vídeo que sea especialmente adecuado para principiantes. Todos los recursos de vídeo requieren que tengas ciertos conocimientos de álgebra lineal, teoría de probabilidades, etc. La charla de Andrew Ng en la Universidad de Stanford probablemente sea la mejor para principiantes; aquí hay algunos recursos de video que recomiendo.
Stanford Machine Learning Curso de aprendizaje automático de la Universidad de Stanford: puedes verlo en Coursera, explicado por Andrew Ng. Siempre que se registre, podrá ver todos los videos del curso y descargar apuntes y notas del curso Stanford CS229 en cualquier momento. El curso incluye tareas y cuestionarios y se centra en álgebra lineal utilizando la biblioteca Octave.
Caltech Aprendiendo del curso de análisis de datos de Data Caltech: puede realizar este curso impartido por Yaser Abu-Mostafa en edX. Todos los videos y materiales del curso se encuentran en el sitio web de Caltech. Al igual que en los cursos de Stanford, puedes llevar tus estudios a tu propio ritmo y completar tareas y ensayos cortos. Los temas del curso son similares al curso de Stanford, centrándose en más detalles y matemáticas. La tarea puede ser un poco más difícil para los principiantes.
Categoría de aprendizaje automático en VideoLectures.Net: esta es una biblioteca deslumbrante de recursos. Podrás identificar los recursos que más te interesan y profundizar en ellos. No te obsesiones con vídeos que no te convienen. También puedes anotar el contenido que te interese. Yo mismo a menudo estudio repetidamente algunos problemas en profundidad y al mismo tiempo descubro nuevos temas de investigación. Además, en esta web también podrás descubrir quiénes son los maestros en este campo.
"Ponerse en forma para el deporte de la ciencia de datos"--Autor Jeremy Howard: Esta es una conversación con competidores de aprendizaje automático, quienes son todos usuarios prácticos del lenguaje R. Este es un recurso valioso porque pocas personas analizan todo el proceso de investigación de un problema y exactamente cómo hacerlo. Una vez fantaseé con encontrar un programa de televisión en Internet que documentara todo el proceso de una competencia de aprendizaje automático. ¡Así comencé a aprender sobre el aprendizaje automático!
Revisión de artículos
Si no está acostumbrado a leer artículos científicos, es posible que el lenguaje le resulte muy oscuro. Un artículo es como un pasaje de un libro de texto, pero describe un experimento u otro conocimiento de vanguardia en el campo. Sin embargo, si está listo para comenzar a aprender el aprendizaje automático leyendo artículos, aún puede encontrar algunos artículos muy interesantes.
Disciplina del aprendizaje automático Reglas del aprendizaje automático: este es un documento técnico escrito por Tom Mitchell que define las reglas del aprendizaje automático. Mitchell utilizó este libro para convencer al presidente de CMU de crear un departamento de aprendizaje automático independiente para un problema centenario. ideas en este libro.
"Varios conocimientos prácticos sobre el aprendizaje automático": este es un gran artículo porque se basa en un algoritmo detallado y luego plantea algunas cuestiones importantes, como la generalización de la selección de funciones, la simplificación del modelo, etc.
Solo enumeré dos artículos importantes porque leerlos puede causarte problemas.
Libros introductorios sobre aprendizaje automático para principiantes
Hay muchos libros sobre aprendizaje automático, pero casi ninguno está hecho a medida para principiantes. ¿Quién es un principiante? Lo más probable es que hayas empezado con el aprendizaje automático en un campo completamente diferente, como la informática, la programación o la estadística. Bueno, la mayoría de los libros requieren que tengas cierta experiencia en álgebra lineal y teoría de la probabilidad.
Sin embargo, existen otros libros que animan a los programadores a aprender el aprendizaje automático explicando los algoritmos más básicos e introduciendo herramientas y bibliotecas de programación que los programadores pueden utilizar para probarlo. Los libros más representativos incluyen "Programación de inteligencia colectiva", "Aprendizaje automático para hackers" y "Hackers y minería de datos": herramientas y técnicas prácticas de aprendizaje automático "Hackers y minería de datos: herramientas y técnicas prácticas de aprendizaje automático" (Python, R, y Java). Si está confundido, elija uno de estos libros para comenzar.
Programación para la inteligencia colectiva: creación de aplicaciones web 2.0 de inteligencia: este libro está escrito para programadores y proporciona una breve introducción. la teoría y se centra en problemas prácticos y soluciones en la red. Puedes comprar este libro, leerlo y hacerlo.
Aprendizaje automático para hackers: te recomiendo que leas este libro después de leer "Programación". Inteligencia colectiva" Este libro también proporciona mucho. Ejercicios prácticos, pero que implican más análisis de datos y uso del lenguaje R. ¡Personalmente, me gusta mucho este libro!
"Aprendizaje automático: una perspectiva algorítmica": este libro es " Versión avanzada de "Programación de inteligencia colectiva". Tienen el mismo propósito (hacer que los programadores comiencen a aprender el aprendizaje automático), pero este libro incluye algunas matemáticas, ejemplos de referencia y fragmentos de programas de Phython. Si está interesado, le recomiendo que lea " Colectivo de programación". Inteligencia" antes de leer este libro
Minería de datos: herramientas y técnicas prácticas de aprendizaje automático (edición en inglés - tercera edición)": También leí este libro desde la primera edición en 2000. Comencé a aprender Aprendizaje automático. En ese momento era programador de Java, y este libro y la biblioteca WEKA me brindaron un buen entorno de aprendizaje y práctica. A través de dicha plataforma y algunos complementos, implementé mi propio algoritmo y realmente comencé. Proceso de aprendizaje automático y minería de datos. Recomiendo encarecidamente este libro y este proceso de aprendizaje.
"Machine Learning" (versión china: Computer Science Series: Machine Learning): este es un libro antiguo muy bueno. , que incluye algunas reglas y muchas referencias. Es un libro de texto con explicaciones relevantes de cada algoritmo.
Algunas personas piensan que esos libros de texto clásicos sobre aprendizaje automático son increíbles, estoy de acuerdo, esos libros son realmente buenos. Puede que no sean adecuados para principiantes.
Continuar leyendoContinuar leyendo
Mientras escribía este artículo, pensé detenidamente en los problemas involucrados y también miré lo que otros habían recomendado para asegurarme de que no me había perdido nada importante. . Para garantizar que el artículo esté completo, aquí también se incluyen algunos materiales populares en línea para principiantes: ....
Lista de recursos de ciencia de datos y aprendizaje automático: esta es una lista bien organizada. Puede tomarse un tiempo, hacer clic en el enlace y leer los consejos del autor. ¡Vale la pena leerlo!
¿Cuáles son algunos buenos recursos para aprender el aprendizaje automático? La primera respuesta a esta pregunta es sorprendente. Cada vez que leo este artículo, tomo notas y lo marco como favorito. La parte de la respuesta que más me inspiró fue la lista de cursos de aprendizaje automático, junto con las notas del curso correspondientes y el sitio web de preguntas y respuestas.
Sentirse abrumado con el aprendizaje automático: ¿Existe un libro ML101? Esta es una pregunta en StackOverflow. La primera respuesta proporcionada por Jeff Moser es útil y tiene enlaces a videos y conferencias del curso.