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 sesenta y setenta, había diferentes escuelas de pensamiento dentro de las ciencias de la computación.

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 vs. Deep Blue

El evento más sensacional con el hombre contra la máquina en la batalla del pensamiento fue el partido de ajedrez de 1996 entre el entonces campeón mundial Garry Kasparov (y posiblemente el mejor jugador de ajedrez de todos los tiempos) y Deep Blue, una supercomputadora que IBM diseñó para este mismo evento.

Crédito de la imagen: Wikipedia

Para abreviar 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 directas de trampa de Kasparov contra IBM.

Independientemente, 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 normal que funcione con hardware básico.

What isn’t Machine Learning?

Antes de analizar más a fondo 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 están cerca de él.

En pocas palabras, el aprendizaje automático es la práctica de aplicar procesos de aprendizaje mediante ejemplos 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 rígido para ellos en un sistema.

Honestamente, eso es lo que es el aprendizaje automático: alimentar toneladas y toneladas y toneladas de datos a una computadora para que pueda aprender de los ejemplos (prueba → error → comparación → mejora) en lugar de depender del código fuente.

Applications of Machine Learning

Entonces, si el aprendizaje automático no es magia negra y tampoco va a generar Terminators, ¿para qué es útil?

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

  • Clasificación
  • Predicción

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 suficientemente grande de valores pasados.

Algunos aplicaciones interesantes de Machine Learning son:

filtrado de spam

Correo electrónico no deseado es omnipresente, 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 a programas.

Por eso utilizamos el aprendizaje automático. 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 correo no deseado de Gmail que sacudieron el correo electrónico personal a principios de la década de 2000!

Recomendaciones

Hoy en día, todas las principales empresas de comercio electrónico cuentan con potentes sistemas de recomendación. A veces, su capacidad para recomendar cosas que "podríamos" encontrar útiles es increíblemente precisa, a pesar de que nunca antes hayamos hecho clic en ese elemento.

¿Coincidencia? ¡De ningún modo!

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, pudo entablar una pequeña charla interesante?

Bueno, entonces has sido engañado por Machine Learning.

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

Eliminación de malezas

En la agricultura, los robots impulsados ​​por el aprendizaje automático se utilizan para rociar las malas hierbas y otras plantas no deseadas en medio de los cultivos de forma selectiva.

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

Interacción basada en voz con los sistemas informáticos ya no es ciencia ficción. Hoy tenemos asistentes digitales como Alexa, Siri y Google Home que pueden tomar comandos verbalmente y no estropearse (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 la efectividad.

El diagnóstico médico

Estamos al borde de una revolución en el diagnóstico médico, ya que los sistemas basados ​​en aprendizaje automático están comenzando a superar a los médicos experimentados en diagnóstico a través de radiografías, 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 hundirán (¡a menos que los carteles comerciales dicten lo contrario!).

Esto fue solo una muestra de para qué se utiliza el aprendizaje automático. En estos días están sucediendo autos sin conductor, robots de juegos de estrategia, máquinas plegadoras de camisetas, ruptura de captcha y coloración de fotos en blanco y negro.

Types of Machine Learning

Las técnicas de aprendizaje automático son de dos tipos.

Aprendizaje supervisado, en el que el sistema está dirigido por el juicio humano, y Aprendizaje sin supervisión, 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. En el aprendizaje no supervisado, sin embargo, no hay resultados existentes para medir, por lo que los resultados pueden variar enormemente.

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

Eso sería bots jugando juegos de mesa, en los que al programa se le enseñan las reglas del juego y las condiciones ganadoras y luego se deja a sus propios dispositivos. Luego, el programa juega millones de juegos contra sí mismo, aprendiendo de sus errores y reforzando las decisiones ventajosas.

Si estás en una computadora lo suficientemente potente, ¡puedes preparar una IA de juego inigualable en cuestión de horas!

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

Resources for getting started in 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, enumero 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.

Por lo tanto, no se preocupe, no importa cuál sea su nivel actual, puede, como un buen programa de aprendizaje automático, aprender a sí mismo y mejorar. 😛

#1. Programación

El primer requisito para ingresar al aprendizaje automático es aprender a programar. Eso es porque 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 ecosistema masivo de bibliotecas y recursos.

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

#2. Piense en las estadísticas

Una vez que haya terminado con los conceptos básicos de Python, mi segunda recomendación sería revisar dos libros destacados. Ellos son 100% gratis. y disponible como PDF para descargar. Piense en las estadísticas y Piensa en Bayes son dos clásicos modernos que todo aspirante a ingeniero de aprendizaje automático debería internalizar.

#3. Udemy

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

Asegúrese de consultar la vista previa del curso, las revisiones (¡especialmente las negativas!) Y la sensación general del curso antes de comenzar.

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

#4. Andrew Ng

Curso impartido por Andrew Ng en Coursera es posiblemente el recurso de aprendizaje más popular para los fundamentos del aprendizaje automático.

Aunque usa el lenguaje de programación R, sigue siendo incomparable en su tratamiento del tema y sus explicaciones lúcidas. Debido a este curso, Andrew Ng ha alcanzado una estatura 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 investigar un poco a medida que avanzas, este curso es la mejor recomendación.

#5. Udacity

Conviértete en un ingeniero de aprendizaje automático tomando este nanogrado por Udacity.

Tardará aproximadamente 3 meses en completar 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 tutoriales y las discusiones son matemáticamente desafiantes o carecen de una estructura y pueden romper su confianza incluso antes de comenzar.

Entonces, me gustaría advertirle contra la autodestrucción: mantenga su puntería modesta y muévase 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 divertirse y, quién sabe, tal vez incluso crea algo aterrador!

¡Que te diviertas! 🙂