La familia de algoritmos UCB es una de las que mejores resultados producen a la hora de enfrentarse a problemas tipo bandido multibrazo. En la que en bandido se selecciona teniendo en cuenta el intervalo de confianza de la recompensa empírica. Así no se selecciona el bandido cuya recompensa observada sea la mayor, sino aquel en el que estadísticamente se puede esperar el máximo … [Leer más...] acerca de CP-UCB para un problema Bandido Multibrazo (Multi-Armed Bandit)
Uso de GPU en JavaScript para mejorar el rendimiento
Actualmente la mayoría de los ordenadores cuentan tanto con CPUs como GPUs. Hasta hace poco las GPUs, a pesar de ser unos procesadores cada vez más potentes, solamente se utilizaban en juegos y otras aplicaciones que requerían realizar pesados cálculos gráficos. Actualmente la aparición de librerías como CUDA permite el uso de estos procesadores en aplicaciones de propósito … [Leer más...] acerca de Uso de GPU en JavaScript para mejorar el rendimiento
NumPy: Comprobar todos los valores de una matriz de NumPy
Una de las grandes ventajas de las matrices de NumPy es la posibilidad de realizar operaciones lógicas sobre ellas, como puede ser el caso de igualdades o comparaciones. El resultado de estas operaciones es una nueva matriz de valores lógicos donde se muestra el resultado de aplicar la operación sobre cada uno de los elementos. Algo con lo que es posible paralelizar análisis de … [Leer más...] acerca de NumPy: Comprobar todos los valores de una matriz de NumPy
UCB-V para un problema Bandido Multibrazo (Multi-Armed Bandit)
El algoritmo UCB-V es una variante de la familia UCB que utiliza la varianza para seleccionar el bandido en problemas tipo Bandido Multibrazo (Multi-Armed Bandit). Un algoritmo genérico que puede ser utilizado en cualquier tipo de bandido.UCB-VEn el algoritmo UCB-V se tiene que seleccionar en cada tirada aquel bandido que maximice la siguiente expresión.Donde es … [Leer más...] acerca de UCB-V para un problema Bandido Multibrazo (Multi-Armed Bandit)
Localizar la palabra más larga en una cadena de texto en JavaScript
En esta ocasión vamos a ver cómo se puede resolver un problema que a primera vista parece sencillo: localizar la palabra más larga en una cadena de texto. Para conseguir este objetivo va a ser necesario separar las palabras, ignorando los signos de puntuación, y medir la longitud de estas. Para lo que vamos a utilizar expresiones regulares en JavaScript.Paso 1: eliminar los … [Leer más...] acerca de Localizar la palabra más larga en una cadena de texto en JavaScript
Identificar y eliminar columnas duplicadas en Pandas
En los DataFrames de Pandas existe el método duplicated() con el que se pueden eliminar los registros duplicados de un DataFrame. Pero no es así para el caso de las columnas duplicadas. De modo que, en el caso querer comprobar la existencia de columnas duplicadas en un DataFrame es necesario programar el proceso de forma manual. Lo mismo en el caso de querer eliminar esta … [Leer más...] acerca de Identificar y eliminar columnas duplicadas en Pandas
MOSS para un problema Bandido Multibrazo (Multi-Armed Bandit)
MOSS (Minimax Optimal Strategy in the Stochastic case, Estrategia Óptima de Minimax en el caso estocástico) es una variante de UCB1 que se presenta como una aproximación generalizada, de modo que puede ser utilizado con cualquier tipo de bandido.MOSSEn la estrategia MOSS modifica la expresión que calcula en intervalo de confianza. Para ello se sustituye el término en el … [Leer más...] acerca de MOSS para un problema Bandido Multibrazo (Multi-Armed Bandit)
Truco JavaScript: repetir un vector en JavaScript
En Python existe una forma extremadamente sencilla de replicar el contenido de una lista una cantidad de veces, simplemente multiplicando la lista por un escalar. Por ejemplo, si escribimos [1, 2] * 3 se obtienen [1, 2, 1, 2, 1, 2]. Pero repetir un vector en JavaScript es algo más complicado que se puede conseguir con un par de trucos.Uso de Array(), fill() y … [Leer más...] acerca de Truco JavaScript: repetir un vector en JavaScript
NumPy: Obtener la frecuencia de los valores en un vector de NumPy en Python
La función unique() de NumPy devuelve por defecto los valores únicos que se encuentra en un vector. Aunque también se puede obtener la frecuencia de aparición de estos valores. Para ello solamente se tiene que usar la propiedad return_counts, cuando se le asigna el valor True la función en lugar de devolver un array de NumPy con los elementos únicos devolverá una tupla en la … [Leer más...] acerca de NumPy: Obtener la frecuencia de los valores en un vector de NumPy en Python
EXP3 para un problema Bandido Multibrazo (Multi-Armed Bandit)
Una estrategia bastante popular para solucionar los problemas tipo Bandido Multibrazo es EXP3. Siendo el nombre es una abreviatura de "Exponential-weight algorithm for Exploration and Exploitation" (Algoritmo de peso Exponencial para Exploración y Explotación). EXP3 se diferencia de otras estrategias populares como Epsilon Greedy o UCB1, siendo un algoritmo más tradicional de … [Leer más...] acerca de EXP3 para un problema Bandido Multibrazo (Multi-Armed Bandit)
Truco: Validar palabras con acentos mediante expresiones regulares
Uno de los problemas con los que nos podemos encontrar a la hora de validar nombres mediante el uso de expresiones regulares son los acentos. Debido a que las expresiones regulares nacieron pensando únicamente para trabajar en inglés. Generalmente para validar las cadenas que contienen letras se usa el patrón a-zA-Z, pero éste ignora los acentos y otros caracteres, como ç, que … [Leer más...] acerca de Truco: Validar palabras con acentos mediante expresiones regulares
Pandas: Comprobar la existencia de valores en los DataFrame
En el caso de que necesitemos comprobar la existencia de valores en los DataFrame de Pandas disponemos de varias opciones. Siendo una de ellas el uso del operador in. Una opción sencilla que además es muy flexible. Otra alternativa es el uso de la propiedad isin() de los objetos DataFrame.Conjunto de datos de ejemploAntes de continuar vamos a crear un pequeño conjunto … [Leer más...] acerca de Pandas: Comprobar la existencia de valores en los DataFrame










