なんちゃって協調フィルタリング@pixiv-番外編2-

結局、当面は足切りを使うことになりそう。
実は、ひっそり有望視していた手法に「『イラストAをブックマークした人が、対象イラストBをブックマークする割合』に、単純な値ではなく、データ数から算出した信頼区間の下側信頼限界を用いる」というものがあった。
信頼区間とは、凄く大雑把に言うと「計算上は a という値が出ているけど、データ数が b だと『95%の確率で c 〜 d の間に収まっている』とまでしか言えないね」という概念のこと。95%のところはケースバイケース。
下側信頼限界とは、c(範囲の値が低い方)のこと。
データ数 b が少ないほど、信頼区間の範囲は広がっていく(a との誤差の可能性が増える)ため、cは下がり、dは上がる。そこで、計算上の割合 a の代わりに下側信頼限界 c の値を用いることで、擬似的に「データ数が少ないと信用できない」を関連度の計算に組み込めるんじゃないかと考えた。
実験の結果、性能はまずまず。
ただ、問題は計算が複雑になり、おそらく計算量も増えること。信頼区間の算出はSQL文に簡単に組み込めるような処理ではないし、そこそこ処理も重くなるだろう。
残念。

追記

と思ったら、無根拠に使っていた「F分布による信頼区間」じゃなくて「標準正規分布による信頼区間」を用いれば、楽勝で計算できることに気づいた。時間できたら早速やるお。