Introducción al Machine Learning con MATLAB
Primera edición, 2021
© 2021 Erik Valdemar Cuevas, Omar Avalos, Primitivo Emanuel,
Arturo Valdivia y Marco Antonio Pérez
© 2021 MARCOMBO, S.L.
www.marcombo.com
Diseño de la cubierta: ENEDENÚ DISEÑO GRÁFICO
Corrección: Mónica Muñoz y Héctor Tarancón
Directora de producción: M.ª Rosa Castillo
Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a Cedro (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra.
ISBN: 978-84-267-3282-8
Producción del ePub: booqlab
Prólogo
CAPÍTULO 1. Fundamentos del Machine Learning
1.1. Introducción
1.2. Conceptos sobre datos
1.3. Conceptos sobre aprendizaje
1.4. Tipos de problemas
1.5. Tipos de datos
1.6. Tipos de aprendizajes
1.7. Etapas de implementación del aprendizaje máquina
1.8. Exploración y preparación de datos
1.9. Visualización de datos
Referencias
CAPÍTULO 2. Bases matemáticas
2.1. Introducción
2.2. Probabilidad
2.2.1. Variables aleatorias discretas
2.2.2. Reglas fundamentales
2.2.2.1. Probabilidad de la unión de dos elementos
2.2.2.2. Probabilidad de la intersección de dos elementos
2.2.2.3. Probabilidad condicional
2.2.3. Algunas distribuciones comunes
2.2.3.1. Distribución binomial y Bernoulli
2.2.3.2. Distribución multinomial
2.2.3.3. Distribución de Poisson
2.2.3.4. Distribución uniforme
2.2.3.5. Distribución normal (gaussiana)
2.3. Estadística
2.3.1. Medidas de tendencia central
2.3.1.1. Media aritmética
2.3.1.2. Mediana
2.3.1.3. Moda
2.3.2. Medidas de variabilidad
2.3.2.1. Varianza
2.3.2.2. Desviación estándar
2.3.2.3. Rango
2.3.3. Herramientas gráficas
2.3.3.1. Gráfica de líneas
2.3.3.2. Gráfica de barras
2.3.3.3. Gráfica de cajas
2.3.3.4. Histograma
2.4. Álgebra lineal
2.4.1. Vectores y matrices
2.4.2. Suma, resta y producto escalar de vectores
2.4.3. Norma vectorial
2.4.3.1. Norma L 1
2.4.3.2. Norma L 2
2.4.4. Matrices
2.4.4.1. Suma, resta y multiplicación de matrices
2.4.4.2. Multiplicación escalar de una matriz
2.4.4.3. Multiplicación de matrices
2.4.5. Tipo de matrices
2.4.6. Descomposición de matrices
2.4.6.1. Descomposición LU
2.4.6.2. Descomposición de los valores y vectores propios
Referencias
CAPÍTULO 3. Clasificación
3.1. Introducción
3.2. Vecinos cercanos (k-NN)
3.2.1. Ejemplo de clasificación utilizando k-NN en MATLAB
3.3. Regresión logística
3.3.1. Ejemplo de clasificación utilizando la regresión logística en MATLAB
3.4. Naive Bayes
3.4.1. Teorema de Bayes
3.4.2. Clasificador Naive Bayes
3.4.3. Ejemplo de clasificación Naive Bayes utilizando MATLAB
3.5. Análisis del discriminante de Fisher
3.5.1. Ejemplo de clasificación mediante discriminante de Fisher utilizando MATLAB
3.6. Máquina de vector soporte (SVM)
3.6.1. Ejemplo de clasificación con máquina vector soporte utilizando MATLAB
Referencias
CAPÍTULO 4. Regresión lineal
4.1. Introducción
4.2. Regresión lineal simple
4.3. Mínimos cuadrados
4.4. Gradiente descendente en regresión lineal simple
4.5. Ecuación normal en regresión lineal simple
4.6. Regresión lineal múltiple
Referencias
CAPÍTULO 5. Agrupamiento (clustering)
5.1. Introducción
5.2. Algoritmo de K-means
5.2.1. El uso de K-means en MATLAB
5.3. Método de expectación-maximización
5.3.1. Modelos de mezclas gaussianas
5.3.2. Estimación de máxima probabilidad
5.3.3. EM en una dimensión
5.3.4. EM en varias dimensiones
5.4. Agrupación jerárquica
5.4.1. Medidas de similaridad entre los clústeres
5.5. El algoritmo de Fuzzy C-means
Referencias
CAPÍTULO 6. Reducción de dimensionalidad
6.1. Introducción
6.2. Análisis de componentes principales (PCA)
6.2.1. Ejemplo en MATLAB de análisis de componentes principales (PCA)
6.3. Análisis de componentes independientes (ICA)
6.3.1. Distribuciones gaussianas no permitidas
6.3.2. Estimación de máxima probabilidad
6.3.3. Ejemplo en MATLAB de análisis de componentes independientes (ICA)
6.4. Análisis de factor (FA)
6.4.1. Ejemplo en MATLAB de análisis de factor (FA)
Referencias
CAPÍTULO 7. Métodos unidos
7.1. Árboles de decisión
7.2. Algoritmo CART
7.3. Árboles de decisión para clasificación
7.4. Árboles de decisión para regresión
7.5. Funciones de MATLAB para árboles de decisión
7.6. El método Bootstrap
Referencias
CAPÍTULO 8. Reconocimiento de objetos
8.1. Comparación en imágenes a escala de grises
8.2. Distancia entre patrones
8.3. Distancia y correlación
8.4. La correlación cruzada normalizada
8.5. Coeficiente de correlación
8.6. Reconocimiento de patrones usando el coeficiente de correlación
8.7. Comparación de imágenes binarias
8.7.1. La transformación de distancia
8.7.2. El algoritmo de Chamfer
8.8. Índice de relación de Chamfer
Referencias
CAPÍTULO 9. Estadística inferencial
9.1. Introducción
9.2. Distribución de muestreo
9.2.1. Distribución normal
9.2.2. Distribución t
9.3. Estimación de parámetros
9.3.1. Estimación por intervalos
9.4. Pruebas de hipótesis
Referencias
CAPÍTULO 10. Evaluación del desempeño
10.1. Introducción
10.2. Ajustes sobre las predicciones de un clasificador
10.2.1. Tipos de errores
10.2.2. Matriz de confusión
10.3. Métricas para clasificadores
10.3.1. Exactitud (ACC)
10.3.2. Razón de falsos positivos (FPR)
10.3.3. Sensibilidad (VPR)
10.3.4. Especificidad (SPC)
10.3.5. Precisión
10.3.6. F1
10.3.7. F2
10.4. Curva ROC
10.5. El balance entre el sesgo y la varianza
10.6. Evaluación de modelos
10.6.1. Técnicas comunes de validación cruzada
10.7. Métricas de error en regresores lineales
Referencias
Durante muchos años, los humanos hemos buscado detalles estructurales en la información, tales como reglas o patrones con los que describir, con precisión, la manera en cómo funcionan los sistemas importantes que nos rodean, sean estos sistemas agrícolas, biológicos, físicos, financieros, etc. Estos detalles estructurales de la información permiten comprender mejor un sistema, predecir con precisión su comportamiento futuro y, en última instancia, manipularlo. Sin embargo, el proceso de encontrar la estructura adecuada que parece describir un sistema dado no ha sido históricamente una tarea sencilla. Todavía, en el pasado reciente, los datos disponibles que registran alguna característica emitida por un sistema han sido un elemento extremadamente escaso. Además, la capacidad para calcular, para probar varios métodos y verificar cuál presenta un mejor funcionamiento se ha limitado a lo que se podía lograr con calculadoras o equipos con escasos recursos informáticos. Ambos factores limitaron la gama de problemas que, en el pasado, se pudieron investigar y los forzaron, inevitablemente, a utilizar enfoques filosóficos y/o visuales para la extracción de conocimiento a partir de la información. Hoy, sin embargo, se tiene un mundo inundado de datos, y tenemos un poder informático impresionante al alcance de la mano. Bajo estas condiciones, se puede actualmente abordar una gran gama de problemas mucho más compleja, y adoptar un enfoque mucho más empírico para la extracción de información que en el pasado. El Machine Learning (o «aprendizaje de máquinas», en castellano), el tema de este libro, es una expresión usada para describir una colección amplia (y cada día creciente) de métodos de extracción de conocimiento diseñados para identificar, adecuadamente, información del sistema de manera empírica a partir de un conjunto de datos.
Читать дальше