Índice

Capítulo I. Introducción a la inteligencia artificial

1. Neuronas y transistores

2. Breve historia de la IA

3. Ámbitos de aplicaciónde la inteligencia artificial

Capítulo II. Recomendadores y agrupamientos

1. Métricas y medidas de similitud

1.1. Ejemplo de aplicación

1.2. Distancia euclídea

1.3. Correlación de Pearson

1.4. Procesamiento de datos reales

1.5. Conclusiones

2. Recomendadores basados en memoria

2.1. Conceptos generales

2.2. Aproximaciones simples

2.3. Recomendación ponderada

2.4. Conclusiones

3. Algoritmos de agrupamiento (clustering)

3.1. Ejemplo de aplicación

3.2. Conceptos generales

3.3. Agrupamiento jerárquico. Dendrogramas

3.4. k-medios (k-means)

3.5. c-medios difuso (fuzzy c-means)

3.6. Agrupamiento espectral (spectral clustering)

3.7. Recomendadores basados en modelos

Capítulo III. Extracción y selección de atributos

1. Técnicas de factorización matricial

1.1. Descomposición en valores singulares (SVD)

1.2. Análisis de componentes principales (PCA)

1.3. Análisis de componentes independientes (ICA)

1.4. Factorización de matrices no-negativas (NMF)

2. Discriminación de datos en clases

2.1. Análisis de discriminantes lineales (LDA)

3. Visualización de datos mutidimensionales

3.1. Escalamiento multidimensional (MDS)

Capítulo IV. Clasificación

1. Introducción

1.1. Categorización de textos

1.2. Aprendizaje automático para clasificación

1.3. Tipología de algoritmos para clasificación

2. Métodos basados en modelos probabilísticos

2.1. Naïve Bayes

2.2. Máxima entropía

3. Métodos basados en distancias

3.1. kNN

3.2. Clasificador lineal basado en distancias

3.3. Clustering dentro de clases

4. Métodos basados en reglas

4.1. Árboles de decisión

4.2. AdaBoost

5. Clasificadores lineales y métodos basados en kernels

5.1. Clasificador lineal basado en producto escalar

5.2. Clasificador lineal con kernel

5.3. Kernels para tratamiento de textos

5.4. Máquinas de vectores de soporte

6. Protocolos de test

6.1. Protocolos de validación

6.2. Medidas de evaluación

6.3. Tests estadísticos

6.4. Comparativa de clasificadores

Capítulo V. Optimización

1. Introducción

1.1. Tipología de los métodos de optimización

1.2. Características de los metaheurísticos de optimización

2. Optimización mediante multiplicadores de Lagrange

2.1. Descripción del método

2.2. Ejemplo de aplicación

2.3. Análisis del método

3. Recocción simulada

3.1. Descripción del método

3.2. Ejemplo de aplicación

3.3. Análisis del método

3.4. Código fuente en Python

4. Algoritmos genéticos

4.1. Descripción del método

4.2. Ampliaciones y mejoras

4.3. Ejemplo de aplicación

4.4. Análisis del método

4.5. Código fuente en Python

5. Colonias de hormigas

5.1. Descripción del método

5.2. Ejemplo de aplicación

5.3. Análisis del método

5.4. Código fuente en Python

6. Optimización con enjambres de partículas

6.1. Descripción del método

6.2. Ejemplo de aplicación

6.3. Análisis del método

6.4. Código fuente en Python

7. Búsqueda tabú

7.1. Descripción del método

7.2. Ejemplo de aplicación

7.3. Análisis del método

7.4. Código fuente en Python

Anexo A. Conceptos básicos de estadística

Anexo B. El lenguaje Python

1. Instalación de Python

2. Variables

2.1. Operadores

2.2. Cadenas de caracteres

3. Control de flujo

3.1. Sentencias condicionales: la instrucción if

3.2. Secuencias iterativas: bucles

4. Funciones

4.1. Parámetros de entrada

4.2. Valores de retorno

5. Tipos de datos en Python

5.1. Tuplas

5.2. Listas

5.3. Diccionarios

5.4. Conjuntos

5.5. Ficheros

6. Python y la orientación a objetos

6.1. Los objetos en Python

6.2. Herencia

6.3. Encapsulación

6.4. Polimorfismo

7. Python como lenguaje funcional

7.1. Funciones lambda

7.2. Comprensión de listas

8. Librerías: NumPy PyLab y SciPy

8.1. NumPy

8.2. PyLab

8.3. SciPy

9. Resumen

Bibliografía