¿Cuál es la plataforma o herramienta más simple para practicar el aprendizaje automático (para principiantes)?

Esta fue una publicación realmente difícil de escribir porque quiero que sea realmente valiosa.

Me senté con una página en blanco y formulé la pregunta realmente difícil de cuáles son las mejores bibliotecas, cursos, documentos y libros que recomendaría a un principiante absoluto en el campo del aprendizaje automático.

Realmente me preocupaba qué incluir y qué excluir. Tuve que trabajar duro para ponerme en la piel de un programador y un principiante en el aprendizaje automático y pensar qué recursos los beneficiarían mejor.

Elegí el mejor para cada tipo de recurso. Si es un verdadero principiante y está entusiasmado por comenzar en el campo del aprendizaje automático, espero que encuentre algo útil. Mi sugerencia sería elegir una cosa, un libro o una biblioteca y leerla de principio a fin o leer todos los tutoriales. Elija uno y manténgalo, luego, una vez que lo domine, elija otro y repita. Vamos a entrar en eso.

Bibliotecas de programación

Soy un defensor de “aprender lo suficiente para ser peligroso y comenzar a probar cosas”.

Así es como aprendí a programar y estoy seguro de que muchas otras personas también aprendieron de esa manera. Conoce tus limitaciones y explota tus fortalezas. Si sabe programar, aproveche eso para profundizar rápidamente en el aprendizaje automático. Luego tenga la disciplina para ir y aprender las matemáticas para la técnica antes de implementar un sistema de producción.

Encuentre una biblioteca y lea la documentación, siga los tutoriales y comience a probar cosas. Las siguientes son las mejores bibliotecas de programación de aprendizaje automático de código abierto que existen. No creo que todos sean adecuados para usar en su sistema de producción, pero son ideales para aprender, explorar y crear prototipos.

Comience con una biblioteca en un idioma que conozca bien y luego continúe con otras bibliotecas más potentes. Si eres un buen programador, sabes que puedes pasar de un idioma a otro de manera razonablemente fácil. Es toda la misma lógica, solo sintaxis y API diferentes.

  • Proyecto R para computación estadística: este es un entorno y un lenguaje de script similar a lisp. Todas las estadísticas que quieras hacer se proporcionarán en R, incluida una trama increíble. La categoría de Aprendizaje automático en CRAN (piense: paquetes de Aprendizaje automático de terceros) tiene un código escrito por líderes en el campo con métodos de vanguardia, así como cualquier otra cosa que se le ocurra. Aprender R es imprescindible si quieres crear prototipos y explorar rápidamente. Tal vez no sea el primer lugar donde comienzas.
  • WEKA: este es un banco de trabajo de minería de datos que proporciona API y una serie de interfaces de usuario gráficas y de línea de comandos para todo el ciclo de vida de minería de datos. Puede preparar datos, visualizar explorar, construir modelos de clasificación, regresión y agrupación, y se proporcionan muchos algoritmos integrados y complementos de terceros. No relacionado con WEKA, Mahout es un buen marco de Java para Machine Learning en infraestructura Hadoop si eso es lo que más te gusta. Si eres nuevo en el big data y el aprendizaje automático, quédate con WEKA y aprende una cosa a la vez.
  • Scikit Learn: Machine Learning en Python construido sobre NumPy y SciPy. Si eres un programador de Python o Ruby, esta es la biblioteca para ti. Es amigable, potente y viene con excelente documentación. Orange sería una buena alternativa si desea probar otra cosa.
  • Octave: si estás familiarizado con MatLab o eres un programador de NumPy que busca algo diferente, considera Octave. Es un entorno para la computación numérica como Matlab y facilita la escritura de programas para resolver problemas lineales y no lineales, como los que subyacen a la mayoría de los algoritmos de aprendizaje automático. Si tiene experiencia en ingeniería, este podría ser un buen lugar para comenzar.
  • BigML: Tal vez no quieras hacer ninguna programación. Puede manejar herramientas como WEKA completamente sin programar. Puede ir un paso más allá y utilizar servicios como BigML que ofrecen interfaces de aprendizaje automático en la web donde puede explorar la construcción de modelos en el navegador.

Elija una plataforma y úsela para hacer su educación práctica de aprendizaje automático. No solo lea, haga.

Cursos de video

El video es una forma muy popular de iniciarse en el aprendizaje automático.

Veo muchos videos de aprendizaje automático en YouTube y VideoLectures.NET – VideoLectures.NET. El riesgo es que todo lo que haga será consumir y no tomar medidas. Le recomiendo que siempre tome notas cuando vea un video, incluso si las descarta más tarde. También recomiendo probar lo que sea que esté aprendiendo en la conferencia.

Francamente, ninguno de los cursos de video que he visto son realmente adecuados para un principiante, para un verdadero principiante. Todos presuponen un conocimiento práctico de algebra lineal y teoría de la probabilidad, y más.

Las conferencias de Andrew Ng en Stanford son probablemente el mejor lugar para comenzar un curso, de lo contrario, hay videos únicos que recomiendo.

  • Stanford Machine Learning: disponible a través de Coursera y enseñado por Andrew Ng. Además de inscribirse, puede ver todas las conferencias en cualquier momento y obtener los folletos y las notas del curso real de Stanford CS229. El curso incluye tareas y cuestionarios y se enfoca en álgebra lineal y el uso de Octave.
  • Caltech Learning from Data: disponible a través de edX y enseñado por Yaser Abu-Mostafa. Todas las conferencias y materiales están disponibles en el sitio de CalTech. Nuevamente, al igual que la clase de Stanford, puede tomarlo a su propio ritmo y completar la tarea y las tareas. Cubre temas similares y entra un poco más en detalles y es más matemático. La tarea es probablemente demasiado difícil para un principiante.
  • Categoría de aprendizaje automático en VideoLectures.Net: este es un lugar fácil para ahogarse en la sobrecarga de contenido. Busque videos que parezcan interesantes y pruébelos. Fianza si está en el nivel incorrecto o toma notas si lo estás disfrutando. Encuentro que vuelvo para actualizarme sobre temas y retomar temas completamente nuevos. Además, es genial ver cómo se ven realmente los maestros del campo.
  • “Ponerse en forma para el deporte de la ciencia de datos” – Charla de Jeremy Howard: Una charla con un grupo local de usuarios de R sobre el proceso práctico para obtener buenos resultados en el aprendizaje automático competitivo. Esto es muy valioso porque muy pocas personas hablan sobre cómo es trabajar en un problema y cómo hacerlo. No fantaseo tan secretamente con la financiación de un programa de televisión de realidad web que sigue a los participantes en concursos de máquinas inclinadas. ¡Así es como estoy!

Resumen de documentos

Si no está acostumbrado a leer trabajos de investigación, encontrará que el lenguaje es muy rígido. Un documento es como un fragmento de un libro de texto, pero describe un experimento o alguna otra frontera del campo. Sin embargo, hay algunos documentos que pueden resultarle interesantes si desea comenzar a aprender sobre máquinas.

  • La disciplina del aprendizaje automático: un libro blanco que define la disciplina del aprendizaje automático por Tom Mitchell. Esta fue una parte del argumento que Mitchell usó para convencer al Presidente de CMU de crear un departamento de Aprendizaje Automático independiente para un tema que seguirá existiendo en 100 años (vea también esta breve entrevista con Tom Mitchell).
  • Algunas cosas útiles que debe saber sobre el aprendizaje automático: este es un documento excelente porque se retira de algoritmos específicos y motiva una serie de cuestiones importantes, como la generalización de la selección de características y la simplicidad del modelo. Todo esto es bueno para acertar y pensar con claridad desde el principio.

Solo he enumerado dos documentos importantes, porque leer documentos realmente puede empantanarte.

Libros de aprendizaje automático para principiantes

Hay muchos libros de aprendizaje automático y muy pocos están escritos para principiantes.

¿Qué es realmente un principiante?

Lo más probable es que esté llegando al aprendizaje automático desde otro campo, probablemente la informática, la programación o las estadísticas. Incluso entonces, la mayoría de los libros esperan que tengas una base en algebra lineal y teoría de la probabilidad.

Sin embargo, hay algunos libros por ahí que alientan a los programadores ansiosos a comenzar enseñando la intuición mínima para un algoritmo y señalando herramientas y bibliotecas para que pueda correr y probar cosas.

En particular, Programación de inteligencia colectiva , aprendizaje automático para piratas informáticos y minería de datos: herramientas y técnicas prácticas de aprendizaje automático para Python, R y Java, respectivamente. Si tiene dudas, ¡tome uno de estos tres libros!

Libros para principiantes de aprendizaje automático

  • Programación de la inteligencia colectiva: creación de aplicaciones Web 2.0 inteligentes (Enlace afiliado): este libro fue escrito para usted, querido programador. Es ligero en teoría, pesado en ejemplos de código y prácticos problemas y soluciones web. Cómprelo, léalo, haga los ejercicios.
  • Aprendizaje automático para hackers (Enlace afiliado): recomendaría este libro después de leer Programming Collective Intelligence (arriba). Nuevamente proporciona ejemplos prácticos que son prácticos, pero tiene un sabor más de análisis de datos y usa R. ¡Realmente me gusta este libro!
  • Aprendizaje automático: una perspectiva algorítmica (Enlace afiliado). Este libro es como una versión más avanzada de Programming Collective Intelligence (arriba). Tiene objetivos similares (iniciar a los programadores en Machine Learning), pero incluye matemáticas y referencias, así como ejemplos y fragmentos en Python. Recomiendo leer esto después de leer Programming Collective Intelligence si todavía estás interesado.
  • Minería de datos: herramientas y técnicas prácticas de aprendizaje automático, tercera edición (Enlace afiliado): en realidad comencé con este libro, en realidad era la primera edición y era aproximadamente el año 2000. Era un programador de Java y este libro y la biblioteca complementaria WEKA me proporcionó un entorno perfecto para probar, implementar mis propios algoritmos como complementos y, en general, practicar Machine Learning y el proceso más amplio de minería de datos. Recomiendo mucho este libro y este camino.
  • Aprendizaje automático (Enlace afiliado): este es un libro antiguo e incluye fórmulas y muchas referencias. Es un libro de texto, pero también es muy accesible con motivaciones fundamentadas para cada algoritmo.

Mucha gente habla sobre algunos excelentes libros de texto de aprendizaje automático. Yo también, y son geniales. Simplemente no son un gran lugar para un principiante, creo.

Otras lecturas

Pensé profundamente en esta publicación y también me fui y miré las listas de recursos de otras personas para asegurarme de que no me perdiera nada importante.

Para completar, aquí hay algunas otras grandes listas de recursos en la web para iniciarse en el aprendizaje automático.

  • Una lista de recursos de ciencia de datos y aprendizaje automático: una lista cuidadosamente elaborada. Tómese el tiempo y lea sus sugerencias y haga clic en los enlaces. Bien vale la pena.
  • ¿Cuáles son algunos buenos recursos para aprender sobre el aprendizaje automático? ¿Por qué ?: La primera respuesta a esta pregunta de Quora es increíble. Tomo notas y hago marcadores cada vez que lo leo. Las partes más valiosas de esta respuesta son la lista de cursos de aprendizaje automático con notas de clase y la lista de publicaciones relacionadas en sitios de preguntas y respuestas.
  • Abrumado por el aprendizaje automático: ¿hay un libro ML101 ?: Una pregunta de StackOverflow. Realmente una lista de libros recomendados de aprendizaje automático. La primera respuesta de Jeff Moser es útil, ya que apunta a dar conferencias y videos.

¿Has leído o usado alguno de los recursos aquí?

Qué pensaste?

¿Dejé fuera un recurso críticamente útil para un programador interesado en iniciarse en el aprendizaje automático?

Por favor, deje un comentario y hágamelo saber!

Crédito: Jason Brownlee

Para la Comunidad de Machine Learning visite esto: Acerca de – Dominio de Machine Learning

More Interesting

Cómo clasificar si un artículo de noticias es falso o real utilizando el aprendizaje automático

¿Se podría desarrollar la inteligencia artificial en procesos similares a la selección natural y la evolución? ¿Sería más un problema o un beneficio? ¿Qué precauciones podrían tomarse para prevenir el desastre de una IA en evolución?

¿Cómo se puede aplicar OpenCyc o ResearchCyc al archivo histórico de Twitter?

Cuando la Inteligencia Artificial alcanza la capacidad para hacerlo, ¿debería permitirse enseñar a los niños humanos?

Cómo demostrar el aprendizaje automático

¿Cuáles son los fundamentos necesarios para el aprendizaje automático, el aprendizaje profundo, la robótica y la inteligencia artificial?

Si voy a la universidad en 2018 y estudiaré inteligencia artificial, ¿se creará la IA fuerte durante mi vida?

¿Cuáles son los próximos desafíos posibles para que DeepMind de Google fascine al mundo?

¿Por qué podría ser malo realizar el Análisis de componentes principales en un conjunto de datos antes de la clasificación?

Cómo verificar si los asistentes en línea con los que estoy interactuando son humanos o robots

Cómo manejar coordenadas geoespaciales en aprendizaje automático

¿Cuál es el caso más infame, desde el punto de vista financiero y de reputación, de que un algoritmo de aprendizaje automático falla debido a una fuga objetivo?

¿Qué habilidades se requieren para diseñar productos de consumo que tengan tecnología de inteligencia artificial incorporada?

¿Qué pasa si la IA se vuelve tan inteligente que puede pensar libremente?

¿La implementación de documentos también es la forma correcta de hacer investigación de IA? ¿Le permitirá a alguien tener nuevas ideas?