Regresión con bosques aleatorios
Resumen
Capítulo 11: Trabajar con datos sin etiquetar: análisis de grupos
Agrupar objetos por semejanza con k-means
Agrupamiento k-means con scikit-learn
Una manera más inteligente de colocar los centroides de los grupos iniciales con k-means++
Agrupamiento pesado frente a no pesado
Utilizar el método elbow para encontrar el número óptimo de grupos
Cuantificar la calidad del agrupamiento mediante gráficos de silueta
Organizar agrupamientos como un árbol jerárquico
Agrupar los grupos de manera ascendente
Realizar agrupamientos jerárquicos en una matriz de distancias
Adjuntar dendrogramas a un mapa de calor
Aplicar un agrupamiento aglomerativo con scikit-learn
Ubicar regiones de alta densidad con DBSCAN
Resumen
Capítulo 12: Implementar una red neuronal artificial multicapa desde cero
Modelar funciones complejas con redes neuronales artificiales
Resumen de una red neuronal de una capa
Activar una red neuronal mediante la propagación hacia delante
Clasificar dígitos manuscritos
Obtener el conjunto de datos MNIST
Implementar un perceptrón multicapa
Entrenar una red neuronal artificial
Calcular la función de coste logística
Desarrollar tu intuición para la propagación hacia atrás
Entrenar redes neuronales mediante la propagación hacia atrás
Sobre la convergencia en redes neuronales
Unas últimas palabras sobre la implementación de redes neuronales
Resumen
Capítulo 13: Paralelización de entrenamiento de redes neuronales con TensorFlow
TensorFlow y rendimiento de entrenamiento
¿Qué es TensorFlow?
Cómo aprenderemos TensorFlow
Primeros pasos con TensorFlow
Trabajar con estructuras de matriz
Desarrollar un modelo simple con la API de bajo nivel de TensorFlow
Entrenar redes neuronales eficazmente con las API de alto nivel de TensorFlow
Crear redes neuronales multicapa mediante la API Layers de TensorFlow
Desarrollar una red neuronal multicapa con Keras
Elegir funciones de activación para redes multicapa
Resumen de la función logística
Estimar probabilidades de clase en clasificaciones multiclase con softmax
Ampliar el espectro de salida con una tangente hiperbólica
Activación de la unidad lineal rectificada
Resumen
Capítulo 14: Ir más lejos: la mecánica de TensorFlow
Características clave de TensorFlow
Rango y tensores de TensorFlow
Cómo obtener la dimensión y la forma de un tensor
Entender los grafos computacionales de TensorFlow
Marcadores de posición en TensorFlow
Definir marcadores de posición
Alimentar marcadores de posición con datos
Definir marcadores de posición para matrices de datos con diferentes tamaños de lote
Variables en TensorFlow
Definir variables
Inicializar variable
Alcance de la variable
Reutilizar variables
Crear un modelo de regresión
Ejecutar objetos en un grafo de TensorFlow mediante sus nombres
Almacenar y restablecer un modelo en TensorFlow
Transformar tensores como matrices de datos multidimensionales
Utilizar la mecánica de control de flujopara crear grafos
Visualizar el grafo con TensorBoard
Ampliar tu experiencia en TensorBoard
Resumen
Capítulo 15: Clasificar imágenes con redes neuronales convolucionales profundas
Bloques de construcción de redes neuronales convolucionales
Entender las CNN y conocer las jerarquías de características
Realizar convoluciones discretas
Realizar una convolución discreta en una dimensión
El efecto del relleno de ceros en una convolución
Determinar el tamaño de la salida de convolución
Realizar un convolución discreta en 2D
Submuestreo
Juntarlo todo para crear una CNN
Trabajar con entradas múltiples o canales de color
Regularizar una red neuronal con la eliminación
Implementar una red neuronal convolucional profunda con TensorFlow
La arquitectura de una CNN multicapa
Cargar y preprocesar los datos
Implementar una CNN en la API de TensorFlow de bajo nivel
Implementar una CNN en la API Layers de TensorFlow
Resumen
Capítulo 16: Modelado de datos secuenciales mediante redes neuronales recurrentes
Introducir datos secuenciales
Modelar datos secuenciales: el orden sí importa
Representar secuencias
Las diferentes categorías del modelado de secuencias
RNN para modelar secuencias
Entender la estructura y el flujo de una RNN
Calcular activaciones en una RNN
Los retos del aprendizaje de interacciones de largo alcance
Unidades de LSTM
Implementar una RNN multicapa para modelar secuencias en TensorFlow
Proyecto uno: crear un análisis de sentimiento de las críticas de películas IMDb con RNN multicapa
Preparar los datos
Embedding
Construir un modelo de RNN
El constructor de la clase SentimentRNN
El método build
Paso 1: definir celdas RNN multicapa
Paso 2: definir los estados iniciales para las celdas RNN
Paso 3: crear la RNN utilizando las celdas RNN y sus estados
El método train
El método predict
Instanciar la clase SentimentRNN
Entrenar y optimizar el análisis de sentimiento de un modelo RNN
Proyecto dos: implementar una RNN para el modelado de lenguaje a nivel de carácter en TensorFlow
Preparar los datos
Construir un modelo RNN a nivel de carácter
El constructor
El método build
El método train
El método sample
Crear y entrenar el modelo CharRNN
El modelo CharRNN en el modo de muestreo
Resumen del capítulo y del libro
ÍNDICE ANALÍTICO
Dar a los ordenadores el poder de aprender de los datos
En mi opinión, el aprendizaje automático –la aplicación y ciencia de los algoritmos que da sentido a los datos– es el campo más apasionante de todas las ciencias computacionales. Vivimos en una época en la cual los datos llegan en abundancia; utilizando algoritmos de autoaprendizaje del campo del aprendizaje automático podemos convertir estos datos en conocimiento. Gracias a las múltiples y potentes librerías de código abierto que han sido desarrolladas en los últimos años, probablemente no ha habido un momento mejor para acceder al campo del aprendizaje automático y aprender cómo utilizar potentes algoritmos para detectar patrones de datos y hacer predicciones sobre acontecimientos futuros.
En este capítulo, aprenderás los principales conceptos y los diferentes tipos de aprendizaje automático. Junto con una introducción básica a la terminología más importante, sentaremos las bases para utilizar con éxito técnicas de aprendizaje automático para la resolución práctica de problemas.
En este capítulo, trataremos los siguientes temas:
•Los conceptos generales del aprendizaje automático.
•Los tres tipos de aprendizaje y la terminología básica.
•La construcción de bloques para diseñar sistemas de aprendizaje automático.
•La instalación y configuración de Python para el análisis de datos y el aprendizaje automático.
Crear máquinas inteligentes para transformar datos en conocimiento
En esta época de tecnología moderna, existe un recurso que tenemos en abundancia: gran cantidad de datos estructurados y no estructurados. En la segunda mitad del siglo veinte, el aprendizaje automático evolucionó como un subcampo de la Inteligencia Artificial (AI) que involucraba algoritmos de autoaprendizaje que derivaban el conocimiento a partir de datos para crear predicciones. En lugar de necesitar al hombre para derivar de forma manual las reglas y crear modelos a partir del análisis de grandes cantidades de datos, el aprendizaje automático ofrece una alternativa más eficiente para capturar el conocimiento en datos, mejorar gradualmente el rendimiento de los modelos predictivos y tomar decisiones basadas en esos datos. El aprendizaje automático no solo es cada vez más importante en la investigación de ciencia computacional, sino que juega un papel cada vez más importante en nuestra vida diaria. Gracias al aprendizaje automático, disfrutamos de filtros potentes para el correo no deseado, software práctico de reconocimiento de voz y texto, motores de búsqueda fiables, desafiantes programas para jugar al ajedrez y, esperemos que muy pronto, eficientes coches de conducción autónoma.
Читать дальше