協調フィルタリングを使わない理由 [データサイエンス、統計モデル]
今日は、データ解析コンペのデータ提出日。
ここ数日は、通常の業務&データ解析コンペってことで、ほとんど寝れていない。
夢の中にも数式が出てくるレベル。。。w
今回、ECサイトで、誰がどの商品を買うのか、といった精度を競う。
↑
と聞くと、おそらく多くのチームが協調フィルタリングとか使ってくるんだと思いますが、今回は、あえて協調フィルタリングは使いませんでした。
理由は2つあって、
1. 分析対象のECサイトですが、商品の入れ替わりが激しい。
→ 行列が安定しない。
2. リコメンドシステムを作るのではなく、誰がどの商品を買うのかを推定するモデルを作る。
協調フィルタリングで、それっぽい商品を見つけ、推薦し、その反応を競う競技ではないです。
一昨年のゴルフダイジェストオンラインの時もそうでしたが、
・有効そうな特徴量をできるだけ多く探す
・アルゴリズムを数多く試す
・スコアの補正ロジック
をバランスよく時間をかける。
そして、繰り返し、スコアをチェックしていくので、
・オーバーフィットしない構造を作る
・数多くのテストを簡単にできる仕組みを作る
これらを駆使すると、それなりの良い結果に仕上がってきた気がします。
結果の発表は、3月の上旬になりますが、楽しみです。
ここ数日は、通常の業務&データ解析コンペってことで、ほとんど寝れていない。
夢の中にも数式が出てくるレベル。。。w
今回、ECサイトで、誰がどの商品を買うのか、といった精度を競う。
↑
と聞くと、おそらく多くのチームが協調フィルタリングとか使ってくるんだと思いますが、今回は、あえて協調フィルタリングは使いませんでした。
理由は2つあって、
1. 分析対象のECサイトですが、商品の入れ替わりが激しい。
→ 行列が安定しない。
2. リコメンドシステムを作るのではなく、誰がどの商品を買うのかを推定するモデルを作る。
協調フィルタリングで、それっぽい商品を見つけ、推薦し、その反応を競う競技ではないです。
一昨年のゴルフダイジェストオンラインの時もそうでしたが、
・有効そうな特徴量をできるだけ多く探す
・アルゴリズムを数多く試す
・スコアの補正ロジック
をバランスよく時間をかける。
そして、繰り返し、スコアをチェックしていくので、
・オーバーフィットしない構造を作る
・数多くのテストを簡単にできる仕組みを作る
これらを駆使すると、それなりの良い結果に仕上がってきた気がします。
結果の発表は、3月の上旬になりますが、楽しみです。
コメント 0