行列を作る:行はユーザー、列はアイテムを表し、各要素は評価を表す b. 行列を分解:潜在因子数 k を決め3つの行列に分解 c. 行列の再構成:分解した行列をもとに戻し、未知の部分を推定 • 厳密に言えば行列の数学的特異値分解ではなく、行列の低ランク近似を計算する近似的な方法 • ディスカッション:[LB1.2746] SVDによる協調フィルタリング 方法2:SVDなどの協調フィルタリング系の手法
LightGCNは推薦タスク用のGNN ◦ 2部グラフ特化の Implicit Feedback 用のモデル ◦ 元論文では Bayesian Personalized Ranking (BPR) loss を利用 ◦ 特徴量は必要なくグラフ構造から各頂点の埋め込 み表現を学習 • multi-hop 先の接続情報を使い予測可能 • 工夫した点 ◦ 回帰タスクに合わせるために損失を RMSE に変更 ◦ 各頂点の埋め込みの次元は 4096 と大きめにすると 性能向上 ◦ implicit feedback として学習し特徴量にもした 引用元:He, Xiangnan, et al. "Lightgcn: Simplifying and powering graph convolution network for recommendation." Proceedings of the 43rd International ACM SIGIR conference on research and development in Information Retrieval. 2020. Figure.2
◦ scipy.optimize.minimizeでblendの重み付け ◦ sklearnのLinearRegressionによるスタッキング ▪ 負の重みを許すとスコアアップ (surprise 系のモデルの重みが負になっていた) • 利用モデル ◦ seen 用:LightGCN x 2 、hetero GCN x 4、LightGBM x 7 、NN x 1、surprise x 8 ◦ unseen 用:LightGBM x 7、NN x 2 、set transfomer x 1 、surprise x 10