Tutoriales de programación en Python
Tutorial de aprendizaje automático práctico con Python Introducción
- Instalar numpy, matplotlib, pandas, sklearn y sus dependencias
pip install numpy
pip install scipy
pip install scikit-learn
pip install matplotlib
pip install pandas
¿Necesitas ayuda para instalar paquetes con pip? ver el tutorial de instalación de pip
Hola chicas y chicos, bienvenidos a un curso de aprendizaje automático profundo y práctico.
El objetivo de este curso es darte una comprensión integral del aprendizaje automático, cubriendo la teoría, la aplicación y el funcionamiento interno de los algoritmos de aprendizaje supervisado, no supervisado y profundo.
En esta serie, cubriremos la regresión lineal, K Nearest Neighbors, Support Vector Machines (SVM), clustering plano, clustering jerárquico y redes neuronales.
Para cada uno de los principales algoritmos que cubrimos, discutiremos las intuiciones de alto nivel de los algoritmos y cómo están lógicamente destinados a trabajar. A continuación, aplicaremos los algoritmos en código utilizando conjuntos de datos del mundo real junto con un módulo, como con Scikit-Learn. Por último, nos sumergiremos en el funcionamiento interno de cada uno de los algoritmos recreándolos en código, desde cero, nosotros mismos, incluyendo todas las matemáticas involucradas. Esto debería darle una comprensión completa de cómo funcionan exactamente los algoritmos, cómo se pueden ajustar, cuáles son las ventajas y cuáles son sus desventajas.
Para seguir la serie, le sugiero que tenga al menos una comprensión básica de Python. Si no los tienes, te sugiero que al menos sigas el tutorial de Python 3 Basics hasta el tutorial de instalación de módulos con pip. Si tienes una comprensión básica de Python, y la voluntad de aprender/preguntar, serás capaz de seguir aquí sin problemas. La mayoría de los algoritmos de aprendizaje automático son en realidad bastante simples, ya que deben serlo para poder escalar a grandes conjuntos de datos. La matemática involucrada es típicamente álgebra lineal, pero haré todo lo posible para explicar toda la matemática. Si estás confundido/perdido/preguntas algo, pregunta en la sección de comentarios en YouTube, la comunidad aquí, o por correo electrónico. También necesitarás tener instalados Scikit-Learn y Pandas, junto con otros que iremos cogiendo por el camino.
El aprendizaje automático fue definido en 1959 por Arthur Samuel como el «campo de estudio que da a los ordenadores la capacidad de aprender sin ser programados explícitamente.» Esto significa imbuir de conocimiento a las máquinas sin codificarlas. Por lo que he comprobado personalmente, la gente ajena a la comunidad de programadores cree principalmente que la inteligencia de las máquinas está codificada, desconociendo por completo la realidad de este campo. Uno de los mayores retos que tuve con el aprendizaje automático fue la abundancia de material sobre la parte del aprendizaje. Puedes encontrar fórmulas, gráficos, ecuaciones y un montón de teoría sobre el tema del aprendizaje automático, pero muy poco sobre la parte real de la «máquina», donde realmente se programa la máquina y se ejecutan los algoritmos en datos reales. Esto se debe principalmente a la historia. En los años 50, las máquinas eran bastante débiles y escasas, lo que siguió siendo así durante medio siglo. El aprendizaje automático estaba relegado a ser principalmente teórico y rara vez se empleaba realmente. La máquina de vectores de apoyo (SVM), por ejemplo, fue creada por Vladimir Vapnik en la Unión Soviética en 1963, pero pasó bastante desapercibida hasta los años 90, cuando Vapnik fue trasladado de la Unión Soviética a Estados Unidos por los Laboratorios Bell. La red neuronal fue concebida en la década de 1940, pero los ordenadores de la época no eran lo suficientemente potentes como para funcionar bien, y no lo han sido hasta tiempos relativamente recientes.
La «idea» del aprendizaje automático ha entrado y salido de escena unas cuantas veces a lo largo de la historia, y cada vez la gente pensaba que era simplemente una moda. En realidad, sólo muy recientemente hemos sido capaces de poner gran parte del aprendizaje automático a una prueba decente. Hoy en día, se puede alquilar un clúster de GPUs de 100.000 dólares por unos pocos dólares a la hora, algo que era el sueño de los estudiantes de doctorado hace sólo 10 años. El aprendizaje automático tuvo otro impulso a mediados de la década de 2000 y ha estado en alza desde entonces, beneficiándose también en general de la Ley de Moore. Además, hay muchos recursos para ayudarte en tu viaje con el aprendizaje automático, como este tutorial. Basta con hacer una búsqueda en Google sobre el tema y encontrar información más que suficiente para mantenerte ocupado durante un tiempo.
Esto es así hasta el punto de que ahora tenemos módulos y APIs a nuestra disposición, y puedes dedicarte al aprendizaje automático muy fácilmente sin tener casi ningún conocimiento sobre su funcionamiento. Con los valores predeterminados de Scikit-learn, se puede obtener un 90-95% de precisión en muchas tareas desde el principio. El aprendizaje automático se parece mucho a un coche, no hace falta saber mucho sobre su funcionamiento para sacarle una utilidad increíble. Sin embargo, si quieres superar los límites del rendimiento y la eficiencia, necesitas profundizar bajo el capó, que es más bien la forma en que está orientado este curso. Si sólo estás buscando un tutorial rápido para emplear el aprendizaje automático en los datos, ya tengo un tutorial de ejemplo de clasificación simple y un ejemplo de clustering simple (aprendizaje automático no supervisado) que puedes consultar.
A pesar de la aparente edad y madurez del aprendizaje automático, yo diría que no hay mejor momento que ahora para aprenderlo, ya que realmente puedes usarlo. Las máquinas son bastante potentes, la que está trabajando probablemente pueda hacer la mayor parte de esta serie rápidamente. Los datos también son muy abundantes últimamente.
El primer tema que cubriremos es la Regresión, que es donde retomaremos en el siguiente tutorial. Asegúrate de tener instalado Python 3, junto con Pandas y Scikit-Learn.
El siguiente tutorial: Regresión – Introducción y Datos