CatBoost: Mejora del árbol de gradiente para sistemas de recomendación, clasificación y regresión |  de Rafael Guedes |  febrero de 2024

Cree su propio recomendador de libros con CatBoost Ranker

En el mundo digital actual, donde la sobrecarga de información y la amplia oferta de productos es la norma, poder ayudar a los clientes a encontrar lo que necesitan y les gusta puede ser un factor importante para que nuestra empresa destaque y se adelante a la competencia.

Los sistemas de recomendación pueden mejorar las experiencias digitales facilitando la búsqueda de información o productos relevantes. En esencia, estos sistemas aprovechan algoritmos basados ​​en datos para analizar las preferencias, comportamientos e interacciones de los usuarios, transformando los datos sin procesar en recomendaciones significativas adaptadas a los gustos y preferencias individuales.

En este artículo, proporciono una explicación detallada de cómo funciona Gradient Tree Boosting para sistemas de clasificación, regresión y recomendación. También presento CatBoost, una biblioteca de última generación para Gradient Tree Boosting, y cómo maneja características categóricas. Finalmente, explico cómo funciona YetiRank (una función de pérdida de clasificación) y cómo implementarlo usando CatBoost Ranker en un conjunto de datos de recomendación de libros.

Figura 1: Recomendación de libros con mejora del árbol de degradado (imagen generada por el autor con DALL-E)

Como siempre, el código está disponible en GitHub.

La idea de impulsar se basa en la hipótesis de que una combinación de alumnos débiles secuenciales puede ser tan buena o incluso mejor que un alumno fuerte. [1]. Un alumno débil es un algoritmo cuyo rendimiento es al menos ligeramente mejor que una elección aleatoria y, en el caso de Gradient Tree Boosting, el alumno débil es un árbol de decisión. Estos alumnos débiles en una configuración de refuerzo están entrenados para manejar observaciones más complejas que el anterior no pudo resolver. De esta manera, los nuevos alumnos débiles pueden centrarse en desarrollarse en patrones más complejos.

AdaBoost

El primer algoritmo de impulso con gran éxito para la clasificación binaria fue AdaBoost [2]. El alumno débil en AdaBoost es un árbol de decisión con una sola división y funciona dando más peso a las observaciones que son más complejas de clasificar. El nuevo alumno débil se agrega secuencialmente para centrar su entrenamiento en patrones más complejos. La predicción final se hace por mayoría de votos…