Читать книгу Python Machine Learning - Vahid Mirjalili - Страница 6

Оглавление

Introducción

Debido a su aparición en noticias y redes sociales, probablemente eres consciente de que el machine learning o aprendizaje automático se ha convertido en una de las tecnologías más apasionantes de nuestros tiempos. Grandes compañías, como Google, Facebook, Apple, Amazon e IBM, han invertido fuertemente en aplicaciones e investigación de aprendizaje automático por buenas razones. Si bien puede parecer que el aprendizaje automático se ha convertido en la palabra de moda de nuestros tiempos, la verdad es que no se trata de una moda pasajera. Este apasionante campo abre la puerta a nuevas posibilidades y se ha convertido en indispensable en nuestra vida diaria. Y esto se evidencia cuando hablamos con el asistente de voz en nuestros teléfonos inteligentes, recomendamos el producto adecuado a nuestros clientes, evitamos fraudes con las tarjetas de crédito, filtramos el correo no deseado para que no entre en nuestra bandeja de entrada o detectamos y diagnosticamos enfermedades. Y la lista no acaba aquí.

Si te quieres dedicar al aprendizaje automático, si quieres mejorar la resolución de problemas, o si quizás estás considerando hacer una carrera en investigación sobre aprendizaje automático, este libro es para ti. Sin embargo, para un principiante, los conceptos teóricos que se esconden detrás del aprendizaje automático pueden ser bastante abrumadores. En los últimos años, se han publicado muchos libros prácticos que pueden ayudarte a empezar con el aprendizaje automático mediante la implementación de potentes algoritmos de aprendizaje.

El planteamiento de ejemplos de código prácticos y el trabajo con aplicaciones de ejemplo de aprendizaje automático son una excelente forma de profundizar en este campo. Los ejemplos concretos ayudan a ilustrar los amplios conceptos poniendo en práctica directamente el material aprendido. ¡Pero recuerda que un gran poder conlleva una gran responsabilidad! Además de proporcionar una experiencia práctica con el aprendizaje automático mediante los lenguajes de programación de Python y las librerías de aprendizaje automático basadas en Python, este libro presenta los conceptos matemáticos que se esconden detrás de los algoritmos del aprendizaje automático, aspecto esencial para que el uso del aprendizaje automático sea un éxito. Por lo tanto, este libro no es estrictamente un libro práctico; es un libro que trata los detalles necesarios relacionados con los conceptos del aprendizaje automático y ofrece explicaciones intuitivas y, al mismo tiempo, informativas acerca de cómo trabajan los algoritmos del aprendizaje automático, cómo utilizarlos y, lo más importante, cómo evitar los errores más comunes.

Actualmente, si escribes «aprendizaje automático» en Google Académico obtienes un abrumador número de resultados: más de 90 000. Evidentemente, no podemos discutir la esencia de todos los diferentes algoritmos y aplicaciones que han surgido en los últimos 60 años. Sin embargo, en este libro emprenderemos un apasionante viaje que recorre todos los conceptos y temas esenciales para que tengas un buen comienzo en este campo. Si crees que tu sed de conocimientos no queda satisfecha, este libro contiene referencias a múltiples recursos útiles que pueden servir para seguir adelante con los avances esenciales en este campo.

Si ya has estudiado antes la teoría del aprendizaje automático en detalle, este libro te mostrará cómo poner en práctica todo cuanto sabes. Si has utilizado antes técnicas de aprendizaje automático y deseas obtener más información acerca de cómo funciona realmente el aprendizaje automático, este libro es para ti. Y no te preocupes si eres completamente nuevo en este campo; todavía tienes más razones para estar emocionado. Te prometemos que el aprendizaje automático cambiará la manera que tienes de pensar en los problemas que quieres resolver y te mostrará cómo abordarlos desbloqueando el poder de los datos.

Antes de ir más lejos en el campo del aprendizaje automático, vamos a dar respuesta a tu pregunta más importante: «¿Por qué Python?». La respuesta es simple: porque es potente y, a la vez, muy accesible. Python se ha convertido en el lenguaje de programación más popular para la ciencia de datos porque permite que nos olvidemos de la parte tediosa de la programación y nos ofrece un entorno donde podemos anotar rápidamente nuestras ideas y poner los conceptos directamente en acción.

Nosotros, los autores, podemos decir de verdad que el estudio del aprendizaje automático nos ha hecho mejores científicos, mejores pensadores y mejores solucionadores de problemas. En este libro, queremos compartir contigo estos conocimientos. El conocimiento se obtiene aprendiendo. La clave se encuentra en nuestro entusiasmo y el verdadero dominio de las habilidades solo se puede lograr con la práctica. El camino a recorrer puede estar, en ocasiones, lleno de baches y algunos temas pueden ser más desafiantes que otros, pero esperamos que aceptes esta oportunidad y te centres en la recompensa. Recuerda que estamos juntos en este viaje y que, con este libro, vamos a añadir poderosas técnicas a tu arsenal que nos ayudarán a resolver incluso los problemas más difíciles planteados por datos.

Qué contiene este libro

El Capítulo 1, Dar a los ordenadores el poder de aprender de los datos presenta las principales subáreas del aprendizaje automático para resolver distintas tareas problemáticas. Además, trata sobre los pasos esenciales para crear un modelo típico de aprendizaje automático mediante la construcción de un entramado que nos guiará a través de los siguientes capítulos.

El Capítulo 2, Entrenar algoritmos simples de aprendizaje automático para clasificación vuelve a los orígenes del aprendizaje automático y presenta clasificadores binarios basados en perceptrones y neuronas lineales adaptativas. Este capítulo es una breve introducción a los fundamentos de la clasificación de patrones y se centra en la interacción de algoritmos de optimización y aprendizaje automático.

El Capítulo 3, Un recorrido por los clasificadores de aprendizaje automático con scikit-learn describe los algoritmos básicos del aprendizaje automático para clasificar y proporciona ejemplos prácticos con una de las librerías de aprendizaje automático de código abierto más exhaustiva y conocida: scikit-learn.

El Capítulo 4, Generar buenos modelos de entrenamiento: preprocesamiento de datos trata sobre cómo enfrentarnos a los problemas más comunes de conjuntos de datos no procesados, como los datos incompletos. También trata varios enfoques para identificar las características más informativas en los conjuntos de datos y muestra cómo preparar variables de diferentes tipos, como entradas correctas para algoritmos de aprendizaje automático.

El Capítulo 5, Comprimir datos mediante la reducción de dimensionalidad describe las técnicas esenciales para reducir el número de características en un conjunto de datos a conjuntos más pequeños manteniendo la mayor parte de su información útil y discriminatoria. Trata del enfoque estándar de la reducción de dimensionalidad mediante el análisis del componente principal y lo compara con técnicas de transformación no lineales y supervisadas.

El Capítulo 6, Aprender las mejores prácticas para la evaluación de modelos y el ajuste de hiperparámetros habla de lo que se debe y no se debe hacer para estimar los resultados de los modelos predictivos. Además, analiza distintos parámetros para medir los resultados de nuestros modelos y técnicas para ajustar con precisión los algoritmos del aprendizaje automático.

El Capítulo 7, Combinar diferentes modelos para el aprendizaje conjunto presenta los diferentes conceptos para combinar de manera efectiva múltiples algoritmos de aprendizaje. Muestra cómo crear sistemas expertos para superar las debilidades de aprendizajes individuales, que den como resultado unas predicciones más precisas y fiables.

El Capítulo 8, Aplicar el aprendizaje automático para el análisis de sentimiento trata los pasos esenciales para transformar datos textuales en representaciones con significado para los algoritmos del aprendizaje automático, para así predecir las opiniones de la gente en base a su escritura.

El Capítulo 9, Incrustar un modelo de aprendizaje automático en una aplicación web retoma el modelo predictivo del capítulo anterior y continúa con los pasos esenciales del desarrollo de aplicaciones web con modelos de aprendizaje automático incrustados.

El Capítulo 10, Predicción de variables de destino continuas con análisis de regresión habla de las técnicas esenciales para relaciones lineales de modelado entre destino y variables de respuesta para hacer predicciones en una escala continua. Después de introducir diferentes modelos lineales, también trata de la regresión polinomial y los enfoques basados en árboles.

El Capítulo 11, Trabajar con datos sin etiquetar: análisis de grupos cambia el enfoque a una subárea distinta del aprendizaje automático: el aprendizaje no supervisado. Aplicamos algoritmos de tres familias básicas de algoritmos agrupados para encontrar grupos de objetos que compartan un cierto grado de semejanza.

El Capítulo 12, Implementar una red neuronal artificial multicapa desde cero amplía el concepto de optimización basada en gradiente, que introducimos por primera vez en el Capítulo 2, Entrenando algoritmos simples del aprendizaje automático para la clasificación, para construir potentes redes neuronales multicapas basadas en el popular algoritmo backpropagation de Python.

El Capítulo 13, Paralelización de entrenamiento de redes neuronales con TensorFlow se basa en cuanto se ha aprendido en el capítulo anterior para proporcionar una guía práctica para el entrenamiento más eficaz de redes neuronales. Este capítulo se centra en TensorFlow, una librería de Python de código abierto que nos permite utilizar múltiples núcleos de GPU modernas.

El Capítulo 14, Ir más lejos: la mecánica de TensorFlow cubre TensorFlow de un modo mucho más detallado, explicando sus conceptos básicos de sesiones y gráficos computacionales. Además, este capítulo trata temas como guardar y visualizar gráficos de redes neuronales, que serán muy útiles para el resto de capítulos del libro.

El Capítulo 15, Clasificar imágenes con redes neuronales convolucionales profundas habla de la arquitectura de las redes neuronales profundas, que se ha convertido en el nuevo estándar en campos de visión artificial y reconocimiento de imágenes (redes neuronales convolucionales). Este capítulo tratará los principales conceptos entre capas convolucionales, como extractor de características, y la aplicación de arquitecturas de redes neuronales convolucionales a una tarea de clasificación de imágenes para conseguir una precisión casi perfecta en la clasificación.

El Capítulo 16, Modelado de datos secuenciales mediante redes neuronales recurrentes presenta otra arquitectura de red neuronal popular para el aprendizaje profundo que es muy aconsejable, especialmente para trabajar con datos secuenciales y datos de series de tiempo. En este capítulo, aplicaremos diferentes arquitecturas de redes neuronales recurrentes a datos textuales. Empezaremos con una tarea de análisis de sentimientos como ejercicio de calentamiento y aprenderemos a generar por completo un nuevo texto.

Qué necesitas para este libro

La ejecución de los ejemplos de código proporcionados en este libro requiere una instalación de Python 3.6.0 o posterior en macOS, Linux o Microsoft Windows. Con frecuencia utilizaremos librerías básicas de Python para computación científica, como SciPy, NumPy, scikit-learn, Matplotlib y pandas.

En el primer capítulo encontrarás instrucciones y consejos útiles para configurar tu entorno de Python y estas librerías básicas. Añadiremos librerías adicionales a nuestro repertorio. Además, en los correspondientes capítulos también se proporcionan instrucciones de instalación: la librería NLTK para procesamiento de lenguaje natural (Capítulo 8, Aplicar el aprendizaje automático para el análisis de sentimientos), el framework de desarrollo web Flask (Capítulo 9, Incrustar un modelo de aprendizaje automático en una aplicación web), la librería Seaborn para la visualización de datos estadísticos (Capítulo 10, Predicción de variables de destino continuas con análisis de regresión) y TensorFlow para el entrenamiento eficaz de redes neuronales en unidades de procesamiento gráfico (Capítulos 13 a 16).

A quién va dirigido este libro

Si te interesa saber cómo utilizar Python para empezar a dar respuesta a cuestiones importantes sobre tus datos, elige Aprendizaje automático con Python - Segunda edición. Tanto si deseas empezar desde cero como si deseas ampliar tus conocimientos científicos sobre datos, este es un recurso esencial e ineludible.

Convenciones

En este libro, encontrarás múltiples estilos de texto que distinguen entre diferentes tipos de información. A continuación, verás algunos ejemplos de estos estilos y una explicación de su significado.

Código en texto, nombres de tablas de bases de datos, nombres de directorios, nombres de archivos, extensiones de archivo, nombres de ruta, URL ficticias, entradas de usuario y controles de Twitter se muestran del siguiente modo: «Con la configuración out_file=None, asignamos directamente el dato de punto a una variable dot_data, en lugar de escribir un fichero tree.dot intermedio al disco».

Un bloque de código se indica de este modo:

>>> from sklearn.neighbors import KNeighborsClassifier

>>> knn = KNeighborsClassifier(n_neighbors=5, p=2,

... metric='minkowski')

>>> knn.fit(X_train_std, y_train)

>>> plot_decision_regions(X_combined_std, y_combined,

... classifier=knn, test_idx=range(105,150))

>>> plt.xlabel('petal length [standardized]')

>>> plt.ylabel('petal width [standardized]')

>>> plt.show()

Todas las líneas de comando de entrada y salida se escriben así:

pip3 install graphviz

Los nuevos términos y las palabras importantes se muestran en negrita. Las palabras que ves en pantalla, por ejemplo en menús o cuadros de diálogo, aparecen en el texto de este modo: «Después de hacer clic en el botón Dashboard de la esquina superior derecha, accedemos al panel de control que se muestra en la parte superior de la página».

Advertencias o notas importantes se muestran en un cuadro como este.
Trucos y consejos se muestran así.

Descargar el código de ejemplo y las imágenes en color de este libro

En la parte inferior de la primera página del libro encontrarás el código de acceso que te permitirá descargar de forma gratuita los contenidos adicionales del libro.

Python Machine Learning

Подняться наверх