Введение в информационный поиск

Лекция 6

Машинное обучение ранжированию

Обзор

  • Постановка задачи
  • Метод опорных векторов (SVM)
  • Ranking SVM

Постановка задачи машинного обучения

  • Пространство X признаков объектов (input space, feature space) 
  • Пространство ответов Y (output space)
  • Пространство гипотез - класс функций H, h:
    •               
X \rightarrow Y
XY
  • Прецеденты - пары 
  • Тренировочное множество - совокупность пар
  • Функция потерь (loss function) L - неотрицательная функция, определенная на 
(\vec{x_i}, y_i)
(xi,yi)
(\vec{x_i},y_i)_{i=1}^n
(xi,yi)i=1n
(\vec{x_i}, \hat{y}_i)
(xi,y^i)
\hat{y}=h(x)
y^=h(x)

Цель: выбрать функцию h из H, минимизирующую L

Общая постановка задачи обучения ранжированию

  • X - векторы признаков  для пары запрос-документ
    • TF, TF-IDF, BM25
    • длина документа, длина запроса
    • статические хар-ки документа
  • Y - оценка релевантности, данная асессором

Подходы к постановке задачи обучения ранжированию

  • Поточечный
  • Попарный
  • Списочный

Поточечный (Pointwise)

  • Пространство X - вектора признаков документов 
  • Пространство Y - численная оценка релевантности документа запросу
  • Оценки релевантности используется как есть
  • Решается задача регрессии - подбор функции h(x)= f(x) (scoring function) восстановления оценки релевантности
  • Функция потерь - обычные для задач регрессии
  • Документы ранжируются по значению функции
  • Могут применяться любые алгоритмы машинного обучения для задач регрессии

Попарный (Pairwise)

  • Пространство X - пары векторов признаков для документов (одного и того запроса)
  • Пространство Y = {+1, -1} - предпочтение одного документа другому
  • Оценки релевантности преобразуются по схеме:
    •  
  • Строится бинарный классификатор h, принимающий пары векторов
  • Функция потерь обычно выражается через разность
  • Примеры - Ranking SVM,  GBRank, RankNet, RankBoost, LambdaRank
h(x_u)-h(x_v)
h(xu)h(xv)
y_{u,v}=2 \cdot I_{\{l_u > l_v\}}-1
yu,v=2I{lu>lv}1

Списочный (Listwise)

  • Пространство X - набор векторов признаков для документов, ассоциированных с запросом
  • Пространство Y - пространство перестановок документов в наборе
  • Оценки релевантности преобразуются во множество допустимых перестановок     :
    •  
\pi_y: \text{for all } u,v \text{ if } l_u > l_v \text{ then } \pi_y(u) < \pi_y(v)
πy:for all u,v if lu>lv then πy(u)<πy(v)
\Omega_y
Ωy
  • Строится функция h, выдающая перестановки документов; h обычно выражается через 
  • Функция потерь -  апроксимация или верхняя грань основных мер оценивания* 
  • Примеры - SVM-map, AdaRank, ListNet
h(x)=\text{sort} \cdot f(x)
h(x)=sortf(x)

*MAP и NDCG - дискретные и недифференцируемые функции

Ranking SVM

Линейно разделимые классы

Если можно провести гиперплоскость, разделив множества из разных классов => линейный классификатор

Опорные векторы

  • Зазор классификатора (margin) - расстояние между ближайшей точкой данных и гиперплоскостью (hyperplane)
  • Хотим максимизировать зазор
  • Такие ближайшие точки влияют на положение гиперплоскости и называются опорными

Уравнение гиперплоскости

\vec{w}^T\vec{x}+b=0
wTx+b=0
  •     - вектор нормали
  • b - параметр сдвига
\vec{w}
w

Линейный классификатор

Принимает решение на основе:

Функциональный зазор для     :

Дано тренировочное множество:

(\vec{x_i},y_i)_{i=1}^n
(xi,yi)i=1n
x_i
xi

Масштабируя w и b зазор можно сделать сколь угодно большим

Геометрический зазор

Из определения Евклидова расстояния уравнение ближайшей точки на гиперплоскости:

Из уравнения гиперплоскости:

=>

Геометрический зазор    - максимальная ширина полосы между опорными векторами двух классов. Инвариантен относительно масштабирования.

\rho
ρ
\rho = 2 \cdot \min_i r_i
ρ=2miniri

Задача оптимизации для метода опорных векторов

  • Ввиду произвольности масштабирования потребуем:
    • =>
    • для опорных векторов превращается в равенство
    • => 
  • Цель - максимизировать   , подобрав       , при условии: 
    • для всех
\rho = 2 \cdot \min_i r_i = \frac{2}{|\vec{w}|}
ρ=2miniri=w2
\rho
ρ
(\vec{x_i},y_i)_{i=1}^n:~~y_i(\vec{w}^T\vec{x_i}+b) \geq 1
(xi,yi)i=1n:  yi(wTxi+b)1
\vec{w}, b
w,b
\vec{w}, b
w,b

Или эквивалентно:

  • Найти        такие что:
    • величина                      достигает минимума
    • для всех 
\frac{|\vec{w}|}{2}=\frac{1}{2}\vec{w}^T\vec{w}
2w=21wTw
(\vec{x_i},y_i)_{i=1}^n:~~y_i(\vec{w}^T\vec{x_i}+b) \geq 1
(xi,yi)i=1n:  yi(wTxi+b)1

=> минимизация квадратичной функции при линейных ограничениях

Решение двойственной задачи по методу множителей Лагранжа

  • Вводятся множители Лагранжа для линейных ограничений
  • Задача переписывается как:
    • Найти                , 
    • максимизирующие
    • при условиях:
      •                       и  
  • Решение такой задачи имеет вид:
    •                           и 
  • Классификатор принимает следующий вид:
\alpha_1, ..., \alpha_n
α1,...,αn
\sum_i \alpha_iy_i=0
iαiyi=0
\alpha_i \geq 0, 1 \leq i \leq n
αi0,1in
\vec{w}=\sum_i \alpha_i y_i \vec{x}_i
w=iαiyixi
b=y_k - \vec{w}^T \vec{x}_k,~~\vec{x}_k \text{ such that } \alpha_k \neq 0
b=ykwTxk,  xk such that αk0

опорные векторы!

Классификация с мягким зазором

Если множество классов не разделимо линейно, вводятся фиктивные переменные 

\xi_i \geq 0
ξi0

=> Минимизировать

\frac{1}{2}\vec{w}^T\vec{w} + C \sum_i \xi_i
21wTw+Ciξi

при условии

(\vec{x_i},y_i)_{i=1}^n:~~y_i(\vec{w}^T\vec{x_i}+b) \geq 1 - \xi_i
(xi,yi)i=1n:  yi(wTxi+b)1ξi

C - параметр регуляризации

  • Ошибки минимизируются за счет уменьшения ширины зазора
  • При больших C - больший штраф за ошибки и сложнее увеличивать ширину

Ranking SVM

  • Для пары документов          , ассоциированных с поисковым запросом q считаем разность их векторов признаков:
    •  
  • Пусть             , то                         , иначе -1
  • Тогда получаем классификатор:
    •  
  • Задача оптимизации выглядит так:
    • найти      и  
    • минимизируя 
    • при условии, что для всех                                   выполняется:
d_i, d_j
di,dj
l_{d_i} < l_{d_j}
ldi<ldj
\frac{1}{2}\vec{w}^T\vec{w} + C \sum_i \xi_i
21wTw+Ciξi
\vec{w}
w
\xi_{i,j} \geq 0
ξi,j0
\vec{w}^T\Phi(d_i,d_j,q)\geq 1 - \xi_{i,j}
wTΦ(di,dj,q)1ξi,j
\{\Phi(d_i, d_j, q): l_{d_i} < l_{d_j}\},
{Φ(di,dj,q):ldi<ldj},
\Phi(d_i, d_j, q)=+1
Φ(di,dj,q)=+1

SVM-rank

  • Пример команды для обучения:
    • > svm_rank_learn -c 20.0 train.dat model.dat
  • Пример команды для применения обученной модели:
    • > svm_rank_classify test.dat model.dat predictions 

train.dat

Инициативы для машинного обучения ранжированию

IR Course - Lecture 6 - Learning to Rank

By Nikita Zhiltsov

IR Course - Lecture 6 - Learning to Rank

  • 2,983