Cómo implementar el muestreo ponderado de yacimientos

He aquí una implementación particular de su muestreo de reservorio absoluto sin reemplazo que arrojé en python del Algoritmo A-ES jxnl / reservoir.py basado en este documento de Pavlos S. Efraimidis:

http://arxiv.org/pdf/1012.0256.pdf

La idea general es utilizar una cola de prioridad para tomar el máximo k generado aleatoriamente en función de los pesos.


Cada objeto [matemática] o_i [/ ​​matemática] del vapor [matemática] S [/ matemática] genera un número aleatorio uniformemente a partir de [matemática] u_i \ en [0, 1] [/ matemática] y calcula una clave [matemática] k_i = u_i ^ {1 / w_i} [/ math] donde [math] w_i [/ ​​math] es el peso de [math] 0_i [/ ​​math].

Una muestra de depósito ponderado de tamaño [matemática] k [/ matemática] serían los objetos con las teclas superiores [matemática] k [/ matemática] [matemática] k_i [/ ​​matemática]

¿Por qué es este el caso? por lo siguiente:

Si tiene dos variables uniformes aleatorias [matemáticas] U_ {1,2} \ en [0,1] [/ matemáticas] entonces si [matemáticas] X_i = U_i ^ {1 / w_i} [/ matemáticas] para [matemáticas] w_i > 0 [/ matemáticas]

Entonces [matemáticas] P [X_1 <X_2] = \ frac {w_2} {w_1 + w_2} [/ matemáticas]

¡Así se muestrean los pesos!

More Interesting

Quiero aprender a extraer datos de un sitio web. ¿Donde debería empezar?

¿Hay algún curso sobre blockchain, Python o aprendizaje automático durante un máximo de 6 meses en el extranjero que también pueda conseguirme un trabajo allí?

¿Existen motores / algoritmos que puedan equiparar el significado de dos oraciones?

Cómo convertir un algoritmo de entrenamiento de redes neuronales realmente poderoso en un producto comercial

¿Cómo explicarías la probabilidad condicional y el teorema de Bayes a un niño?

¿Cuáles son algunas aplicaciones del aprendizaje semi-supervisado?

Inteligencia artificial: ¿Qué tan importante es el aprendizaje de transferencia / transferencia profunda?

¿Cuál es el artículo o recurso web más informativo sobre el modelado similar?

¿Cómo se usa el aprendizaje automático en DevOps?

¿Cuál es la diferencia entre Deconvolución, Upsampling, Unpooling y Convolutional Sparse Coding?

¿Cuáles son los inconvenientes de usar RL con funciones de aproximación en altas dimensiones? ¿Cómo aprender la función de recompensa 0-1 (regresión logística)?

¿El aprendizaje automático no supervisado basado en la agrupación de datos también determina automáticamente la cantidad de agrupaciones?

¿El aprendizaje automático es un subconjunto de la ciencia de datos?

¿Es realmente necesaria la programación competitiva para campos como la ciencia de datos o el aprendizaje automático y para solicitar gigantes tecnológicos?

¿Es incorrecto si realizo un análisis de opinión en revisiones individuales en lugar de en todas las revisiones a la vez?