🪙
t.me/persecond300k
  • 👋#WHOIS
  • 🛒RECSYS
    • Navigation
      • ML SYSTEM DESIGN
        • RUTUBE - как я задизайнил холодный старт
      • MODELS
        • Node2Vec + Random Walk Graph RecSys
        • Matrix factorization
        • Все что вы хотели знать про Трансформеры в Рекомендациях
        • LGCN [SOON]
        • Gradient Boosting Ranking [SOON]
        • DSSM [WIP]
        • CASER [SOON]
        • SASREC [SOON]
        • DCN
      • METRICS
        • Precision
        • Recall
        • Hit Rate
        • Precision@money
        • MAP
        • NDCG
        • MRR
        • Coverage
        • Diversity (Разнообразие)
        • Serendipity & Novelty
      • PAPER
  • 🤖LLM
    • Navigation
  • 👾ALGO
    • Navigation
      • Arrays & Hashing
      • Two Pointers
      • Sliding Windows
      • Stack
      • Binary Search
      • Linked List
      • Trees
      • Heap & Priority Queue
      • Backtracking
      • Tries
      • Graphs
      • Advanced graphs
      • 1D Dynamic Programming
      • 2D Dynamic Programming
      • Greedy
      • Intervals
      • Math & Geometry
      • Bit Manipulation
  • ⁉️INTERVIEWING
    • ML Questions
    • Python Questions
    • Interviewing Not a Rocket Science
Powered by GitBook
On this page
  • Подходы к расчету Diversity
  • Практическое использование
  1. RECSYS
  2. Navigation
  3. METRICS

Diversity (Разнообразие)

Diversity — оценивает, насколько разнообразными являются рекомендации. Эта метрика важна, потому что даже если рекомендательная система эффективна с точки зрения точности и полноты, предложение только похожих друг на друга продуктов может не удовлетворить всех потребностей и интересов пользователя. Высокое разнообразие предполагает, что рекомендации включают различные типы продуктов или контента, что может улучшить общее удовлетворение пользователя.

Если вы работаете с двумя матрицами NxK, где одна матрица представляет рекомендации (например, оценки или вероятности, что пользователю может понравиться элемент), а другая матрица отражает фактические пользовательские покупки или интересы, то для расчета Diversity можно использовать другой подход.

В этом случае, если ваша цель — оценить разнообразие в рекомендациях, предложенных каждому пользователю, вы можете измерить, насколько рекомендуемые элементы различаются друг от друга внутри списка рекомендаций каждого пользователя. Это может быть сделано, например, путем вычисления расстояний между элементами в пространстве признаков (если таковые доступны).

Подходы к расчету Diversity

  1. Интра-списковое разнообразие: Мера разнообразия внутри каждого рекомендованного списка. Это можно вычислить, используя среднее всех попарных расстояний между рекомендованными элементами для каждого пользователя. Расстояние может быть вычислено с использованием различных метрик, включая косинусное расстояние, Евклидово расстояние и т.д.

  2. Интер-списковое разнообразие: Оценка того, насколько разные списки рекомендаций для разных пользователей отличаются друг от друга.

Для первого подхода формула может выглядеть так:

Diversity=1−1N∑n=1N(2K(K−1)∑i=1K−1∑j=i+1Ksimilarity(rni,rnj))Diversity=1−N1∑n=1N(K(K−1)2∑i=1K−1∑j=i+1Ksimilarity(rni,rnj))

где:

  • NN — количество пользователей.

  • KK — количество рекомендованных элементов на пользователя.

  • rnirni — i-ый рекомендованный элемент для n-го пользователя.

    i

    n

  • similarity(rni,rnj)similarity(rni,rnj) — функция сходства между двумя рекомендациями, которая может быть косинусным сходством или другой метрикой в зависимости от типа данных.

Практическое использование

Если у вас есть доступ к признакам элементов, таким как описания товаров или пользовательские профили, вы можете использовать эти признаки для вычисления сходства или различия между рекомендациями. Это позволит вам точно оценить, насколько разнообразны рекомендации в рамках каждого списка и между разными пользователями.

PreviousCoverageNextSerendipity & Novelty
🛒