IRTと協調フィルタリング#
IRTモデルは協調フィルタリングモデルの特殊形#
協調フィルタリング#
協調フィルタリングのアプローチの一つには、「成約」「クリック」など2値で評価された反応を正則化されたロジスティック回帰で解くものがある。
数式として書くと、ユーザー\(i\)がアイテム\(j\)に対して反応する(\(U_{ij}=1\)となる)確率を次のようにモデリングする:
\[
\operatorname{Pr}\left\{U_{i j}=1 \mid \boldsymbol{\theta}_i, \boldsymbol{x}_j\right\}=\sigma\left(x_{j 0}+\theta_{i 0}+\sum_{k=1}^r \theta_{i k} x_{j k}\right)
\]
ここで\(\sigma(\cdot)\)はロジスティック・シグモイド関数
\[
\sigma(z_{i j})=\frac{1}{1+e^{-z_{i j}}}
\]
そして \(\boldsymbol{\theta}_i, \boldsymbol{x}_j\)はパラメータ
\[
\boldsymbol{\theta}_i=(\begin{array}{lllll}
1 & \theta_{i 0} & \theta_{i 1} & \cdots & \theta_{i r}
\end{array})^T
\quad
\boldsymbol{x}_j=(\begin{array}{lllll}
x_{j 0} & 1 & x_{j 1} & \cdots & x_{j s}
\end{array})^T
\]
両者の次元数が一致する場合、線形結合が定義できる
\[
z_{i j}=\left\langle\boldsymbol{\theta}_i, \boldsymbol{x}_j\right\rangle=x_{j 0}+\theta_{i 0}+\sum_{k=1}^r \theta_{i k} x_{j k}
\]
IRTモデル#
IRTモデルにおいても、ユーザー\(i\)がアイテム\(j\)に対して反応する(\(U_{ij}=1\)となる)確率を次のようにモデリングする:
\[
\operatorname{Pr}\left\{U_{i j}=1 \mid \boldsymbol{\theta}_i, \boldsymbol{x}_j\right\}=\sigma\left(x_{j 0}+\theta_{i 0}+\sum_{k=1}^r \theta_{i k} x_{j k}\right)
\]
パラメータ数に応じて既存のIRTモデルが表現できる
\(x_0 + \theta_0\) :Rasch (1PL)
\(x_0 + \theta_1 x_1\) :2PL
\(x_0 + \sum_k \theta_k x_k\) :多次元2PL
IRTを協調フィルタリングとして解く#
Bergner ら(2012)“Machine-Learning Item Response Theory”#
学習者×設問の正誤データを、CFの評価(予測精度・CV)でモデル選択する、という立場。
Bergner / Halpin / Vie(2023)“Multidimensional IRT in the Style of Collaborative Filtering”#
タイトル通り「CF流のMIRT」。高次元・疎行列を前提に、JML + CV で運用する話。
Bergner et al. (2022). Multidimensional item response theory in the style of collaborative filtering. psychometrika, 87(1), 266-288.