Descripción general de las recomendaciones

Los sistemas de recomendación son una de las aplicaciones más exitosas y generalizadas de aprendizaje automático para empresas. Puedes usar un sistema de recomendación para ayudar a los usuarios a encontrar contenido atractivo en un gran cuerpo de contenido. Por ejemplo, Google Play Store ofrece millones de apps, mientras que YouTube proporciona miles de millones de videos, y cada día se agregan más apps y videos. Los usuarios pueden utilizar la búsqueda para encontrar contenido nuevo, pero eso está limitado por los términos de búsqueda que utilizan. Un sistema de recomendación puede sugerir contenido que los usuarios podrían no haber considerado buscar por su cuenta. Para obtener más información, consulta Descripción general de los sistemas de recomendación.

Por lo general, los algoritmos de aprendizaje automático en los sistemas de recomendación se clasifican en las siguientes categorías:

  • Filtrado basado en el contenido: usa la similitud entre elementos para proporcionar recomendaciones. Por ejemplo, si un usuario mira dos videos tiernos de gatos, el sistema de recomendación puede recomendar más videos tiernos de animales a ese usuario.
  • Filtrado colaborativo: Usa similitudes entre usuarios (según las consultas de los usuarios) para proporcionar recomendaciones. Por ejemplo, si el usuario A busca características similares al usuario B y al usuario B le gusta el video 1, el sistema de recomendación puede recomendar el video 1 al usuario A, incluso si el usuario A no miró ningún video similar al video 1.

Modelos de factorización de matrices

Los modelos de factorización de matrices se usan ampliamente como un método de filtrado colaborativo para los sistemas de recomendación.

En un modelo de factorización de matrices, los pares de usuario-elemento se asignan a una matriz bidimensional, con los usuarios únicos en un eje y los elementos únicos en el otro. Las calificaciones que un usuario le asignó a los artículos residen en las celdas de la matriz. Esta matriz no necesita estar completamente completa. La mayoría de las veces, los usuarios no tendrán un valor para cada elemento. El objetivo del modelo de factorización de matrices es crear dos matrices de pesos más pequeñas y densas que, cuando se multiplican, aproximan los valores de las celdas de la matriz original y proporcionan calificaciones previstas para las celdas de la matriz vacías.

Una de las matrices más pequeñas contiene los usuarios únicos en un eje y la cantidad de factores latentes en el otro, como se especifica en la opción NUM_FACTORS de la sentencia CREATE MODEL. La otra matriz más pequeña contiene los elementos únicos en un eje y la cantidad de factores latentes en el otro. En esta matriz, el algoritmo que se usa para entrenar el modelo genera las ponderaciones de los factores latentes, según las combinaciones de usuario y elemento de la matriz de entrada.

Para obtener más información, consulta Factorización de matrices.

Puedes usar un modelo de factorización de matrices con la función ML.RECOMMEND para hacer recomendaciones.

Otros modelos de recomendación

Para extender un sistema de recomendación basado en el filtrado colaborativo más allá de lo posible con un modelo de factorización de matrices, puedes usar modelos de red neuronal profunda (DNN) y algoritmo de amplitud y profundidad con la función ML.PREDICT para hacer recomendaciones. Estos modelos pueden incorporar funciones de consultas y elementos para mejorar la relevancia de las recomendaciones. Para obtener más información, consulta los siguientes recursos:

Si usas la configuración predeterminada en las sentencias CREATE MODEL y las funciones de inferencia, puedes crear y usar un modelo de recomendación incluso sin mucho conocimiento de AA. Sin embargo, tener conocimientos básicos sobre el desarrollo de AA y los modelos de recomendación en particular, te ayuda a optimizar tus datos y tu modelo para obtener mejores resultados. Te recomendamos que uses los siguientes recursos para familiarizarte con las técnicas y los procesos de la IA: