¿Cómo empezar con el aprendizaje automático?

Los intentos de diseñar máquinas más inteligentes que los humanos no son nuevos.

Uno de los primeros ataques que la informática hizo a la «inteligencia» humana fue a través del juego de ajedrez. El ajedrez es (¿o deberíamos decir, fue?) asumido por muchos como la prueba definitiva del intelecto y la creatividad humanos, y allá por los años 60 y 70, había diferentes escuelas de pensamiento dentro de la informática.

Algunos sostenían que era solo cuestión de tiempo antes de que las computadoras superaran a los humanos en el juego de ajedrez, mientras que otros creían que esto nunca sucedería.

Kasparov contra Deep Blue

El evento más sensacional que presentó al hombre contra la máquina en la batalla del pensamiento fue la partida de ajedrez de 1996 entre el entonces campeón mundial Garry Kasparov (y posiblemente el mejor jugador de ajedrez de todos los tiempos) y Azul profundouna supercomputadora diseñada por IBM para este mismo evento.

Crédito de la imagen: Wikipedia

Para acortar una larga historia, Kasparov ganó el partido de 1996 de manera convincente (4-2) pero perdió la revancha de 1997 (4.5-3.5) en medio de mucho controversia y las acusaciones de fraude directo de Kasparov contra IBM.

De todos modos, una era en el ajedrez y la informática había terminado. Las computadoras tenían derecho a ser más inteligentes que cualquier ser humano vivo posible. IBM, feliz con la venganza, desmanteló Deep Blue y siguió adelante.

Hoy en día, es imposible para cualquier gran maestro vencer a cualquier motor de ajedrez regular que funcione con hardware básico.

¿Qué no es aprendizaje automático?

Antes de profundizar en el aprendizaje automático, eliminemos algunos conceptos erróneos. El aprendizaje automático no es, ni mucho menos, un intento de replicar el cerebro humano. A pesar de las creencias sensacionalistas de personas como Elon Musk, los investigadores de ciencias de la computación sostienen que no están en busca de este grano sagrado y ciertamente no se acercan a él.

En pocas palabras, el aprendizaje automático es la práctica de aplicar procesos de aprendizaje por ejemplo a las computadoras. Esto contrasta con el enfoque tradicional de confiar en un programador humano para pensar en todos los escenarios posibles y las reglas de código duro para ellos en un sistema.

Honestamente, de eso se trata el aprendizaje automático: alimentar toneladas y toneladas de datos a una computadora para que pueda aprender de ejemplos (ensayo → error → comparación → mejora) en lugar de confiar en el código fuente.

Aplicaciones del aprendizaje automático

Entonces, si Machine Learning no es magia negra y tampoco es algo que genere Terminators, ¿para qué sirve?

El aprendizaje automático ayuda en los casos en que la programación tradicional falla, y estos casos generalmente se incluyen en una de las dos categorías.

Como su nombre lo indica, la Clasificación se refiere a etiquetar las cosas correctamente, mientras que la Predicción tiene como objetivo corregir las proyecciones futuras, dado un conjunto de datos lo suficientemente grande de valores pasados.

Algunas aplicaciones interesantes del Machine Learning son:

Filtrado de correo no deseado

El spam de correo electrónico está muy extendido, pero tratar de detenerlo puede ser una pesadilla. ¿Cómo se define el spam? ¿Es la presencia de palabras clave específicas? ¿O tal vez la forma en que está escrito? Es difícil pensar en un conjunto exhaustivo de reglas, en cuanto al programa.

Es por eso que usamos Machine Learning. Le mostramos al sistema millones de mensajes spam y no spam y dejamos que se encargue del resto. ¡Este fue el secreto detrás de los excelentes filtros de spam de Gmail que sacudieron el correo electrónico personal a principios de la década de 2000!

Recomendaciones

Todas las principales empresas de comercio electrónico de hoy en día tienen poderosos sistemas de recomendación. A veces, su capacidad para recomendar cosas que «podrían» encontrarnos útiles es increíblemente precisa, a pesar de que nunca antes hayamos hecho clic en ese elemento.

¿Coincidencia? ¡De nada!

El aprendizaje automático está trabajando duro aquí, engullendo terabytes tras terabytes de datos y tratando de predecir nuestros estados de ánimo y preferencias volátiles.

chatbots

¿Se ha encontrado con un servicio de atención al cliente de primer nivel que parecía extrañamente robótico y, sin embargo, era capaz de entablar una pequeña charla interesante?

Bueno, ¡entonces has sido engañado por Machine Learning!

Aprender de las conversaciones y determinar qué decir cuándo es un área próxima y emocionante de la aplicación de chatbot.

Eliminación de malas hierbas

En la agricultura, los robots impulsados ​​por Machine Learning se utilizan para rociar malezas y otras plantas no deseadas en medio de cultivos de forma selectiva.

¡De lo contrario, esto tendría que hacerse a mano o sería un gran desperdicio ya que el sistema también rociaría el producto con el líquido asesino!

La interacción basada en la voz con los sistemas informáticos ya no es ciencia ficción. Hoy tenemos asistentes digitales como Alexa, Siri y Google Home que pueden recibir órdenes verbalmente y no equivocarse (¡bueno, casi!).

Algunos podrían argumentar que es un invento que es mejor evitar, ya que está haciendo que la raza humana sea más perezosa que nunca, pero no se puede discutir con la efectividad.

Diagnostico medico

Estamos al borde de una revolución en el diagnóstico médico, ya que los sistemas basados ​​en Machine Learning están comenzando a superar a los médicos experimentados en diagnóstico a través de rayos x, etc.

Tenga en cuenta que esto no significa que pronto no se necesitarán médicos, sino que la calidad de la atención médica aumentará drásticamente, mientras que los costos se desplomarán (¡a menos que los cárteles comerciales dicten lo contrario!).

Esto fue solo una muestra de para qué se está utilizando Machine Learning. Coches autónomos, bots de juegos de estrategia, máquinas plegadoras de camisetas, romper captchas y colorear fotos en blanco y negro están sucediendo en estos días.

Tipos de aprendizaje automático

Las técnicas de Machine Learning son de dos tipos.

Aprendizaje Supervisado, en el que el sistema está dirigido por el juicio humano, y Aprendizaje No Supervisado, en el que se deja que el sistema aprenda por sí mismo. Otra forma de decir lo mismo sería que en el aprendizaje supervisado tenemos un conjunto de datos que contiene tanto las entradas como la salida esperada, que el sistema usa para comparar y autocorregirse. Sin embargo, en el aprendizaje no supervisado, no hay salida existente para medir, por lo que los resultados pueden variar enormemente.

¿Una aplicación emocionante y escalofriante de aprendizaje automático no supervisado?

Serían bots que juegan juegos de mesa, en los que al programa se le enseñan las reglas del juego y las condiciones ganadoras y luego se lo deja solo. Luego, el programa juega millones de juegos contra sí mismo, aprendiendo de sus errores y reforzando las decisiones ventajosas.

Si tiene una computadora lo suficientemente potente, ¡se puede preparar una IA de juego mundial en cuestión de unas pocas horas!

Las siguientes imágenes ilustran estas ideas de manera sucinta (fuente: Medium):

Recursos para iniciarse en Machine Learning

Entonces, ahora que está entusiasmado con el aprendizaje automático y cómo puede ayudarlo a conquistar el mundo, ¿por dónde empezar?

A continuación, he enumerado algunos recursos fantásticos en la Web que pueden ayudarlo a lograr fluidez en el aprendizaje automático sin obtener un doctorado. en informática! Si no es un investigador de Machine Learning, encontrará que el dominio de Machine Learning es tan práctico y agradable como la programación en general.

Entonces, no se preocupe, no importa cuál sea su nivel actualmente, puede, como un buen programa de aprendizaje automático, aprender y mejorar. 😛

#1. Programación

El primer requisito para entrar en Machine Learning es aprender a programar. Esto se debe a que los sistemas de aprendizaje automático vienen en forma de bibliotecas para varios lenguajes de programación.

Python es el más recomendado, en parte porque es increíblemente agradable de aprender y en parte porque tiene un enorme ecosistema de bibliotecas y recursos.

los oficial La Guía para principiantes es un excelente lugar para comenzar, incluso si está ligeramente familiarizado con Python. O toma esto Curso de campo de entrenamiento para convertirte en un héroe desde cero.

#2. Piensa en las estadísticas

Una vez que haya terminado con los conceptos básicos de Python, mi segunda recomendación sería leer dos libros sobresalientes. Son 100% gratuitos y están disponibles en formato PDF para descargar. Piensa en las estadísticas y piensa en bayes son dos clásicos modernos que todo aspirante a ingeniero de aprendizaje automático debería interiorizar.

#3. Udemy

En este punto, le recomiendo que tome un par de cursos de Udemy. El formato interactivo y a su propio ritmo lo ayudará a entrar en el meollo de la cuestión y generar confianza.

Asegúrese de revisar la vista previa del curso, las reseñas (¡especialmente las negativas!) y la sensación general del curso antes de comenzar.

También puede encontrar increíbles tutoriales en YouTube de forma gratuita. Sentdex es uno de esos canales que puedo recomendar, donde siempre hay toneladas de diversión, pero su enfoque no es apto para principiantes.

#4. andres ng

Curso impartido por Andrew Ng sobre Coursera es posiblemente el recurso de aprendizaje más popular para los fundamentos de Machine Learning.

Aunque utiliza el lenguaje de programación R, no tiene paralelo en su tratamiento del tema y sus explicaciones lúcidas. Debido a este curso, Andrew Ng ha alcanzado una estatura casi divina en los círculos de ML, y la gente lo admira por su máxima sabiduría (¡no estoy bromeando!).

Este no es un curso para principiantes, pero si ya eres bueno en la gestión de datos y no te importa hacer algunas investigaciones paralelas a medida que avanzas, este curso es la mejor recomendación.

#5. audacia

Conviértete en un ingeniero de aprendizaje automático tomando este nanotítulo por audacia.

Tomará aproximadamente 3 meses completarlo y al final del curso, se espera que tenga una idea clara sobre los algoritmos de aprendizaje automático, cómo modelarlos e implementarlos en producción.

Conclusión

Los recursos en Internet no tienen fin y puede perderse fácilmente al comenzar. La mayoría de los tutoriales y discusiones que existen son matemáticamente desafiantes o carecen de estructura y pueden romper su confianza incluso antes de comenzar.

Por lo tanto, me gustaría advertirte contra la autodestrucción: mantén tu puntería modesta y muévete en pasos mínimos. El aprendizaje automático no es algo con lo que pueda sentirse cómodo en uno o dos días, pero muy pronto, comenzará a disfrutar y, quién sabe, ¡tal vez incluso cree algo aterrador!

¡Que te diviertas! 🙂