NumPy práctico (IV): Funciones Universales y Programación Orientada a Arrays
Las funciones universales (ufunc) son funciones especiales de NumPy que operan en ndarrays de forma elemento por elemento.
Representan una vasta gama de funciones vectorizadas que tienen un rendimiento mucho mejor que las implementaciones iterativas y te permiten escribir código conciso. La mayoría de las ufuncs logran esto proporcionando un wr...
NumPy práctico (III): Indexación y slicing
La indexación de arrays de NumPy es un tema amplio, y hay muchas formas diferentes de seleccionar elementos de un array.
Empecemos con el caso más simple: seleccionar una entrada de un array unidimensional.
import numpy as np
arr = np.arange(10)
print(arr)
[0 1 2 3 4 5 6 7 8 9]
Puedes acceder a elementos de un array unidimensional en NumP...
NumPy práctico (II): Realizando operaciones básicas con ndarrays
En el último artículo, aprendimos muchas formas diferentes en las que podemos crear ndarrays. Ahora que sabemos cómo crear arrays de NumPy es momento de empezar a jugar con ellos.
Aprenderemos a realizar operaciones básicas, una tarea que puedes dividir en 3 categorías:
Operaciones entre arrays del mismo tamaño.
Operaciones entre un array...
NumPy práctico (I): Creando ndarrays
NumPy (un acrónimo de Numeric Python) es una biblioteca para trabajar con arrays y matrices multi-dimensionales. Fue creado en 2005 por Travis Oliphant, y desde entonces ha recibido numerosas contribuciones de la comunidad que le permitieron crecer hasta convertirse en una de las herramientas más usadas en ciencia de datos.
NumPy te permite man...
Fundamentos de Deep Learning (11): Avanzando
Llegamos al final de nuestro viaje introductorio en deep learning.
Ahora entiendes de qué se trata todo esto. Tal vez realmente te gusta y estás listo para profundizar tu conocimiento en el tema (profundizar, deep learning, ¿entiendes? 👀).
Este será un artículo más corto, solo ofreceré algunos consejos que puedes seguir como próximos pasos. Bi...
Fundamentos de Deep Learning (10): Regularización
En el artículo anterior aprendimos cómo usar Keras para construir redes neuronales más poderosas. Las bibliotecas de grado profesional como Keras, Tensorflow y Pytorch te permiten construir redes neuronales que pueden aprender patrones intrincados y resolver problemas novedosos.
Las redes de deep-learning permiten aprender patrones sutiles grac...
Fundamentos de Deep Learning (9): Construyendo redes usando Keras
Ya cubrimos los conceptos más importantes de deep learning y creamos diferentes implementaciones usando Python vanilla. Ahora, estamos en una posición donde podemos empezar a construir algo un poco más elaborado.
Usaremos un enfoque más práctico construyendo un modelo de deep learning para clasificación usando software de categoría profesional....
Fundamentos de Deep Learning (8): Capas intermedias y retropropagación
En el artículo anterior aprendimos que las redes neuronales buscan la correlación entre las entradas y las salidas de un conjunto de entrenamiento. También aprendimos que basándose en el patrón, los pesos tendrán una tendencia general a aumentar o disminuir hasta que la red prediga todos los valores correctamente.
A veces no hay una dirección c...
Fundamentos de Deep Learning (7): Correlación
En artículos anteriores, aprendimos cómo las redes neuronales ajustan sus pesos para mejorar la precisión de sus predicciones usando técnicas como el descenso de gradiente.
En este artículo, echaremos un vistazo al proceso de aprendizaje usando una perspectiva más abstracta. Discutiremos la correlación entre entradas y salidas en un conjunto de...
Fundamentos de Deep Learning (6): Descenso de gradiente generalizado (II)
En el artículo anterior establecimos las bases para una implementación generalizada del descenso de gradiente. Es decir, casos con múltiples entradas y una salida, y múltiples salidas y una entrada.
En este artículo, continuaremos nuestros esfuerzos de generalización para crear una versión del descenso de gradiente que funcione con cualquier ca...
Fundamentos de Deep Learning (5): Descenso de gradiente generalizado (I)
En el artículo anterior, aprendimos sobre el descenso de gradiente con una red simple de 1-entrada/1-salida. En este artículo, aprenderemos cómo generalizar esta técnica para redes con cualquier número de entradas y salidas.
Nos concentraremos en 3 escenarios diferentes:
Descenso de gradiente en redes neuronales con múltiples entradas y una...
Truquitos: Integrando Google Analytics con Rails 6/5 + Turbolinks + Webpacker
Solo incluir las etiquetas script que Google Analytics te proporciona no es suficiente para habilitar analytics cuando un usuario está navegando tu app con Turbolinks.
Necesitamos habilitar nuestra app para enviar analytics a google cada vez que Turbolinks carga, y quería compartir la solución que se me ocurrió para este problema. Antes de empe...
Fundamentos de Deep Learning (4): Descenso de Gradiente
En el artículo anterior, aprendimos sobre el aprendizaje caliente/frío.
También aprendimos que el aprendizaje caliente/frío tiene algunos problemas: es lento y propenso a sobrepasar el objetivo, así que necesitamos una mejor forma de ajustar los pesos.
Un mejor enfoque debería tomar en consideración qué tan precisas son nuestras predicciones y...
Fundamentos de Deep Learning (3): Aprendizaje caliente/frío
En los artículos anteriores, aprendimos cómo las redes neuronales realizan estimaciones: se realiza una suma ponderada entre las entradas de la red y sus pesos. Hasta ahora, los valores de esos pesos nos fueron dados por una fuerza externa misteriosa. Dimos por sentado que esos son los valores que producen las mejores estimaciones.
Encontrar el...
Fundamentos de Deep Learning (2): Estimación
En el artículo anterior aprendimos qué es una red neuronal y cómo realiza predicciones: la entrada se combina con conocimiento (en forma de un valor de peso) para producir una salida.
En la práctica, solo una entrada y un peso rara vez son de alguna utilidad. La mayoría de los sistemas en el mundo real son mucho más complejos, así que necesitar...
Fundamentos de Deep Learning (1): Introducción
Entonces, deep learning. ¿Has oído hablar de él? Si trabajas en el sector tecnológico, probablemente sí. Cada semana ves noticias sobre cómo la gente lo está usando para resolver todo tipo de desafíos interesantes.
Debido a todo el interés (y a veces el bombo publicitario puro) alrededor del deep learning, podrías creer que es algún tipo de tec...
Algunas notas finales que no pude encajar en los otros artículos de Pensamiento Pragmático
El artículo de esta semana será un poco más corto de lo usual. En el último mes discutimos lo que considero son los temas más importantes sobre Aprendizaje y Pensamiento Pragmático, de Andy Hunt.
Discutimos cosas como el Modelo Dreyfus, los modos de operación cerebral L-mode/R-mode, mejores maneras de aprender y sesgos comunes que afectan nuest...
Esos pequeños bugs en nuestros cerebros
Tendemos a percibir nuestros cerebros como máquinas lógicas infalibles con memoria perfecta y racionalidad absoluta. No podríamos estar más equivocados: no importa qué tan educados o inteligentes seamos, hay fallas inherentes en nuestros cerebros de las que simplemente no podemos deshacernos.
Esto no tiene nada que ver con tu preparación o habi...
103 artículos, 6 páginas.