
Scala for Machine Learning
Patrick R. Nicolas
- Editorial
- Packt
- Año
- 2014
- Páginas
- ~520
- Nivel
- Básico
De qué trata
Tratado técnico y riguroso de Patrick R. Nicolas que aborda la implementación de sistemas de aprendizaje automático aprovechando el tipado estático, la inmutabilidad y las cualidades funcionales de Scala (en su versión 2.10/2.11). Aunque Packt clasifica su punto de partida en un nivel básico, la profundidad de los conceptos matemáticos y de ingeniería de software lo sitúa más bien en un nivel intermedio; presupone que el lector ya domina la sintaxis de Scala y cuenta con bases sólidas de cálculo matricial, probabilidad y estadística.
A lo largo de la obra se enseña a modelar pipelines de datos usando mónadas y tipado seguro, cubriendo el ciclo completo desde la preparación hasta el entrenamiento algorítmico. Explica el preprocesamiento de series temporales (con medias móviles, análisis espectral de Fourier y filtros de Kalman discretos), clustering particional (K-Means y Expectation-Maximization), clasificadores bayesianos para minería de texto (Naïve Bayes multinomial), regresión regularizada (Ridge y Lasso), modelos secuenciales como cadenas y modelos ocultos de Markov (HMM) o campos aleatorios condicionales (CRF), máquinas de vectores de soporte (SVM) con núcleos de Mercer, redes neuronales multicapa (MLP) con retropropagación, algoritmos genéticos y aprendizaje por refuerzo (Q-learning). Para el procesamiento a gran escala se introducen el modelo de actores con Akka y la computación distribuida con Apache Spark MLlib.
En lugar de ser un simple manual de uso de librerías de terceros, el libro enseña a concebir y escribir una biblioteca completa desde cero bautizada como `ScalaMl`. Su mayor aporte es demostrar cómo los patrones funcionales minimizan los efectos secundarios y garantizan código concurrente robusto para analítica avanzada; en contrapartida, los ejemplos con Spark y Akka corresponden a versiones de 2014 que hoy han cambiado notablemente, y no abarca frameworks modernos de deep learning, pero su valor didáctico sobre cómo codificar la matemática de los algoritmos en la JVM sigue siendo extraordinario.
- Scala
- Programación funcional
- Pipelines monádicos
- Series temporales
- Filtro de Kalman
- Clustering
- Naïve Bayes
- Support Vector Machines
- Redes neuronales
- Algoritmos genéticos
- Apache Spark MLlib
- Akka
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✓ Incluye proyectos
Proyectos
Biblioteca modular ScalaMl
Framework integral de machine learning escrito en Scala que implementa componentes matemáticos de filtrado de señales, modelos probabilísticos, redes neuronales, algoritmos evolutivos y pipelines distribuidos con Akka y Spark.

