4.5.1
NDCG (Normalized Discounted Cumulative Gain)
Ringkasan
- NDCG es una métrica de ranking que evalúa los resultados normalizando la ganancia acumulada con descuento.
- Utiliza puntuaciones de relevancia para calcular DCG/NDCG y muestra el efecto del descuento logarítmico.
- También revisamos consideraciones al usar niveles múltiples de relevancia o modelos en cascada.
1. Definición #
Dada una puntuación de relevancia \(rel_i\) para la posición \(i\), la Ganancia Acumulada con Descuento (DCG) se define como:
$$ \mathrm{DCG@k} = \sum_{i=1}^{k} \frac{2^{rel_i} - 1}{\log_2(i + 1)} $$Para normalizarla, se calcula la DCG del orden ideal (IDCG) y se obtiene:
$$ \mathrm{NDCG@k} = \frac{\mathrm{DCG@k}}{\mathrm{IDCG@k}} $$2. Cálculo en Python #
| |
ndcg_score acepta relevancia binaria (0/1) o escalas de relevancia enteras.
La clave está en definir correctamente la matriz de relevancia de referencia.
3. Hiperparámetros #
- k (límite): Elija @5, @10, etc., según el número de resultados mostrados al usuario.
- Escala de relevancia: Las etiquetas binarias (0/1) funcionan, pero las escalas graduadas (muy relevante, algo relevante) proporcionan una evaluación más detallada.
- Base logarítmica: Normalmente se usa log base 2; otras bases solo cambian la escala, no la relación de ranking.
4. Aplicaciones Prácticas #
- Evaluación de búsqueda: Comúnmente usada para medir cómo los resultados se alinean con las etiquetas de relevancia humanas.
- Sistemas de recomendación: Usa retroalimentación implícita (vistas, clics, compras) como señal de relevancia para medir mejoras en el ranking.
- Pruebas A/B: Combina NDCG con métricas en línea para entender cómo las mejoras fuera de línea se reflejan en el rendimiento real.
5. Puntos a Considerar #
- Etiquetar la relevancia real es costoso; las señales implícitas pueden contener ruido.
- En sistemas de dos etapas (generación de candidatos → ranking), usa métricas apropiadas para cada fase.
- Combina NDCG con Recall@k, MAP, u otras métricas para evaluar de manera integral la experiencia del usuario.
Resumen #
- NDCG mide cuán arriba aparecen los ítems más relevantes, aplicando un descuento logarítmico.
- Se puede calcular fácilmente con
ndcg_score, aunque la elección deky de la escala de relevancia influye mucho en la interpretación. - Utiliza NDCG junto con otras métricas de ranking para evaluar la calidad global del sistema.