以下のように定義します。重み付き線形和とし、重みは新着アイテムとの類似度に依存する形で定義します。これにより新着アイテムの特徴量が計算できました。実際に計算された特徴量を可視化すると以下のようになります。左はクエリ画像、中央は画像が似ているアイテム、右は行列分解で計算した特徴量が似ているアイテムです。クエリ画像はレーティングの付いていない新着アイテムですが、行列分解で計算した特徴量を使って比較しても違和感のないアイテムが並んでいます。今回は重みを近傍法を利用して定義しましたが、この重みは学習によって求めることも可能です。詳しくはGantner2010*1をご覧ください。画像特徴量を利用したモデルベース協調フィルタリングの高度化ここでは行列分解のモデル自体を高度化する方法を考えます。あるユーザーのファッションアイテムに対する好みには、アイテムの見た目も影響を与えていそうです。この直感を定式化するため、一般的な行列分解の式に画像に依存する項を加えます。画像自体に対するバイアスです。右辺第1項だけだと通常の行列分解となります。第2項および第3項が画像に関する項で、第2項はユーザーと画像の相互作用、第3項は画像自体の魅力を表現しています。Ranking(BPR)という手法で解いたのがHe2015*2です。Ranking(VBPR)と呼んでいます。実装VBPRをchainerで実装しました。VBPRのアルゴリズムはシンプルなのでフレームワークを使うまでもありませんが、深層学習フレームワークを利用して実装すれば実績のある最適化アルゴリズムなどの恩恵を受けることができます。VBPRのモデルの定義は以下のようになります。各行はユーザー/アイテムの分散表現とみなせるので、EmbedIDで定義します。画像特徴量を任意の次元数にマッピングする場合はLinearが使えます。d_imageという変数は画像特徴量の次元数です。forwardはユーザーID、アイテムIDおよび対応する画像の画像特徴量(ベクトル)を引数に取ります。参考程度に実験を行いました。実験用に加工したIQONのデータセットを使います。ユーザー数は21382、アイテム数は99337、レーティングの数は547880です。レーティングの値は{0,1}のバイナリになっています。BPR、VBPR、VBPRの第2項と第3項(画像に関する項)(ここではVLRと呼ぶことにします)の3手法をRecall@100とnDCG@100で比べた結果、以下のようになりました。残念ながら大勝というわけにはいきませんでした。良い感触がまったくないわけではなく、オリジナルのVBPRを再現してパラメータを丁寧に決めればそれなりに差はつくのではないかと考えています。まとめレコメンドに画像の情報を反映する方法を紹介しました。2つ目のコールドスタート対策は簡単に拡張できて使い勝手が良いのでおすすめです。IQONデータセットの場合、この手法を適用することで10万以上のアイテムを推薦候補に加えることができます。最後にVASILYでは、最新の研究にアンテナを張りながら、同時にユーザーの課題解決を積極的に行うメンバーを募集しています。興味のある方はこちらからご応募ください。learningによるcross-domain画像検索ZOZO研究所でインターンをしている松井です。本記事では、cross...2017-07-21ファッション×機械学習の論文紹介こんにちは。データチームの後藤です。同僚に3ヶ月のディープラーニング禁止令を言い渡したデータサイ...2016-11-24VAEとGANを活用したファッションアイテム検索システムデータサイエンティストの中村です。BLOGプロフィール株式会社ZOZOテクノロジーズのテックブログです。