No tengo esas calificaciones, y creo que eso es algo bueno. Si recogió este libro, significa que es un principiante interesado en el aprendizaje automático. Probablemente no sea técnico, o si lo es, está buscando un libro fundamental para comenzar con los conceptos básicos. Como escritor de tecnología, estoy constantemente aprendiendo sobre tecnologías. Soy estudiante de aprendizaje automático y recuerdo lo que es ser principiante. Puedo ayudar a explicar los conceptos básicos de manera que sean fáciles de entender. Una vez que haya leído este libro, tendrá una sólida comprensión de los principios básicos que facilitarán el paso a un libro más avanzado si desea obtener más información.
Dicho esto, si sientes que ya entiendes los principios básicos o si realmente quieres un libro que pueda enseñarte los aspectos básicos de la escritura y el entrenamiento de un algoritmo de aprendizaje automático, probablemente este no sea el libro para ti.
Un Libro Para El Laico
El objetivo real de este libro es ser una introducción fácil de leer al aprendizaje automático. Mi objetivo es escribir un libro que cualquiera pueda leer, sin dejar de ser fiel a los principios del aprendizaje automático y no de conceptos tontos. Confío en la inteligencia de mis lectores, y no creo que un libro para principiantes necesariamente tenga que sacrificar la complejidad y los matices. Dicho esto, este no es un gran libro, y no es ni mucho menos exhaustivo. Los interesados en el tema querrán profundizar en otros libros e investigaciones.
En este libro, veremos los conceptos básicos y los tipos de aprendizaje automático. Investigaremos cómo funcionan. Luego, exploraremos los problemas de los conjuntos de datos y escribiremos y formaremos un algoritmo. Finalmente, veremos algunos casos de uso del mundo real para el aprendizaje automático y lugares donde el aprendizaje automático podría usarse a continuación.
Una vez más, bienvenido al aprendizaje automático. Vamos a sumergirnos en…
Capítulo 1. Qué es el aprendizaje automático?
El objetivo de este primer capítulo es establecer un marco para el resto de lo que leerá en este libro. Aquí, detallaremos los conceptos básicos que exploraremos con mayor detalle en capítulos futuros. Este libro se basa en sí mismo, y este capítulo es básico.
Dicho esto, el lugar lógico para comenzar es definir a qué nos referimos cuando hablamos de aprendizaje automático.
Mi definición simple es la siguiente: El aprendizaje automático permite que una computadora aprenda de la experiencia.
Eso puede sonar trivial, pero si rompe esa definición, tiene profundas implicaciones.
Antes del aprendizaje automático, las computadoras no podían mejorar desde la experiencia. En cambio, lo que dice el código es lo que hizo la computadora.
El aprendizaje automático, en su explicación más simple, implica permitir que una computadora varíe sus respuestas e introducir un ciclo de retroalimentación para respuestas buenas y malas. Esto significa que los algoritmos de aprendizaje automático son fundamentalmente diferentes de los programas informáticos que los precedieron. Comprender la diferencia entre la programación explícita y el entrenamiento de algoritmos es el primer paso para ver cómo el aprendizaje automático cambia fundamentalmente la informática.
Programación explícita vs. Entrenamiento de algoritmo
Con algunas excepciones recientes, casi todas las piezas de software que ha utilizado en su vida se han programado explícitamente. Eso significa que algún humano escribió un conjunto de reglas para que la computadora las siga. Todo, desde el sistema operativo de su computadora, hasta Internet, hasta las aplicaciones en su teléfono, tiene un código que un humano escribió. Sin los humanos dando a una computadora un conjunto de reglas para actuar, la computadora no podría hacer nada.
La programación explícita es genial. Es la columna vertebral de todo lo que hacemos actualmente con las computadoras. Es ideal para cuando necesita una computadora para administrar datos, calcular un valor o hacer un seguimiento de las relaciones por usted. La programación explícita es muy poderosa, pero tiene un cuello de botella: el humano.
Esto puede ser problemático cuando queremos hacer cosas complejas con una computadora, como pedirle que reconozca una foto de un gato. Si tuviéramos que usar programación explícita para enseñarle a una computadora qué buscar en un gato, pasaríamos años escribiendo código para cada contingencia. ¿Qué pasa si no puedes ver las cuatro patas en la foto? ¿Qué pasa si el gato es de un color diferente? ¿Podría la computadora elegir un gato negro sobre un fondo negro o un gato blanco en la nieve?
Estas son todas las cosas que damos por sentado como humanos. Nuestros cerebros reconocen las cosas rápida y fácilmente en muchos contextos. Las computadoras no son tan buenas en eso, y se necesitarían millones de líneas de código explícito para decirle a una computadora cómo identificar un gato. De hecho, es posible que no sea posible programar explícitamente una computadora para identificar al 100% con precisión a los gatos, porque el contexto siempre puede cambiar y estropear su código.
Aquí es donde entran en juego los algoritmos. Con la programación explícita intentamos decirle a la computadora qué es un gato y tener en cuenta cada contingencia en nuestro código. En contraste, los algoritmos de aprendizaje automático le permiten a la computadora descubrir qué es un gato.
Para comenzar, el algoritmo puede contener algunas características clave. Por ejemplo, podríamos decirle a la computadora que busque cuatro patas y una cola. Luego, alimentamos el algoritmo con muchas imágenes. Algunas de las imágenes son gatos, pero otras pueden ser perros, árboles o imágenes aleatorias. Cuando el algoritmo hace una suposición, reforzaremos las suposiciones correctas y daremos comentarios negativos por las suposiciones incorrectas.
Con el tiempo, la computadora usará el algoritmo para construir su propio modelo de qué buscar para identificar a un gato. Los componentes en el modelo de la computadora pueden ser cosas en las que ni siquiera pensamos al principio. Con más refuerzo y miles de imágenes, el algoritmo mejorará gradualmente en la identificación de gatos. Es posible que nunca alcance el 100% de precisión, pero será lo suficientemente preciso como para reemplazar una etiqueta de imagen de gato humano y será más eficiente.
Los algoritmos son pautas, pero no son reglas explícitas. Son una nueva forma de decirle a una computadora cómo abordar una tarea. Presentan bucles de retroalimentación que se corrigen automáticamente en el transcurso de cientos o miles de pruebas en una tarea.
Definiciones: inteligencia artificial vs. Aprendizaje automático vs redes neurales
Este libro trata sobre el aprendizaje automático, pero ese término se ajusta a un contexto más amplio. Dado que el aprendizaje automático está creciendo en popularidad, está recibiendo mucha cobertura de noticias. En esos artículos, los periodistas a menudo usan los términos inteligencia artificial, aprendizaje automático y redes neuronales de manera intercambiable. Sin embargo, hay ligeras variaciones entre los tres términos.
La inteligencia artificial es el más antiguo y más amplio de los tres términos. Acuñada a mediados del siglo XX, la inteligencia artificial se refiere a cualquier momento en que una máquina observa y responde a su entorno. La inteligencia artificial contrasta con la inteligencia natural en humanos y animales. Con el tiempo, sin embargo, el alcance de la inteligencia artificial ha cambiado. Por ejemplo, el reconocimiento de caracteres solía ser un gran desafío para la IA. Ahora, es una rutina y ya no se considera parte de la IA. A medida que descubrimos nuevos usos para la IA, los integramos en nuestro marco de referencia para lo que es normal, y el alcance de la IA se extiende a lo que sea que sea la próxima novedad.