machine learning

Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead (paper summary)

Posted on December 7, 2021

Deep learning models are usually regarded as black boxes. That is because they are not transparent about the way they reach the prediction. Humans cannot directly interpret the model with millions of parameters. Choosing ignorance can lead to unforeseen dangers. This is inherently a bad practice that should be minimized as much as possible. Current deep learning explainability tools aim to simplify the process to the outcome but does not really explain the “thinking process” that the model followed. ThisRead More

Hidden technical debt in machine learning systems (paper summary)

Posted on November 30, 2021

Machine learning systems are wonderful. Many shapes and forms of machine learning algorithms are currently in use. Different models such as clustering like k-means, prediction methods like trees, or more advanced deep learning methods suffer from technical debt. In traditional software engineering, technical debt can be found in specific shapes. In addition to the “traditional” software engineering problems, machine learning systems also face new challenges. The following paragraphs present the different technical debt found in machine learning systems. 1. EncapsulationRead More

PyCon: Las tres charlas que me gustaron

Posted on May 24, 2018

El PyCon2018 fue del 9 al 17 de mayo en Cleveland. La conferencia nos dejó una gran cantidad de charlas interesantes. A mi personalmente me gustaron tres. Dos de machine learning y una de optimización de código. Aquí dejo los vídeos para que podáis echarles una ojeada. Además dejo un mini-resumen con cada vídeo. A practical guide to Singular Value Decomposition in Python Esta charla es una introducción a los SVD (Singular Value Decomposition). Los SVD descomponen cada punto enRead More

Instalando tensorflow en un container de docker

Posted on February 10, 2018

Con el docker instalado podremos instalar el tensor flow en un container de docker. Ejecutaremos el siguiente comando para iniciar el container con tensor flow. La primera vez que lo ejecutemos docker se bajará todos los archivos necesarios para poder correr el container, por lo que por lo que puede tardar un poco en estar listo. A partir de la segunda vez ya tendremos todo el software requerido en el ordenador y se ejecutará sin ningún problema. docker run -itRead More

Instalando docker en Ubuntu

Posted on February 2, 2018

Esa va a a formar parte de una serie de posts. En los que voy a implementar algoritmos de inteligencia artificial en tensor flow. Y porque docker? Docker es un programa que crea virtualizaciones de sistemas operativos con un overhead muy reducido. Las virtualizaciones se llaman containers y requieren pocos recursos para poder virtualizar el entorno correctamente. La ventaja principal es que me permite crear automáticamente una instalación del sistema en cualquier ordenador sin mucho problema. La idea era actualmenteRead More

Optimizadores de tensor flow

Posted on October 3, 2017

Continuando el anterior post dónde introducí tensor flow hoy vengo con los optimizadores de funciones. Tensor flow ofrece optimizadores que cambian las variables para minimizar la funcion de perdida (loss function). El más simple es el de gradiente descendiente. Computan las derivadas simbólicas (symbolic derivatives) simplemente usando el modelo y la función tf.gradients. Por ejemplo: [code language=”python”] optimizer = tf.train.GradientDescentOptimizer(0.01) train = optimizer.minimize(loss) sess.run(init) # reset values to incorrect defaults. for i in range(1000): sess.run(train, {x:[1,2,3,4], y:[0,-1,-2,-3]}) print(sess.run([W, b])) losRead More

Introducción a TensorFlow

Posted on May 20, 2017

La web oficial de TensorFlow tiene muy buenos recursos. En esencia lo que hay en este post proviene del “get started” de la web oficial. En el primer ejemplo importaremos TensorFlow. Crearemos dos constantes y las imprimiremos en pantalla. [code language=”python”] import tensorflow as tf node1 = tf.constant(3.0, tf.float32) node2 = tf.constant(4.0) # También tf.float32 de forma implícita sess = tf.Session() print(sess.run([node1, node2])) node3 = tf.add(node1, node2) print("node3: ", node3) #Esta linea muestra las propiedades del tensor print("sess.run(node3): ",sess.run(node3)) #Read More