Spark MLlibでcos類似度の総当たり計算が高速に実行できるDIMSUMがすごい(1)実装編 Nov 9th, 2015 2:10 am 総当たりのcos類似度計算を行う場面の例 item-basedの協調フィルタリング item-basedのアルゴリズムでは、全てのアイテムとアイテムの類似度を計算し、あるアイテムxを購入したユーザAにはアイテムxと類似度の最も高いアイテムyを推薦します。item-basedの計算量はアイテム数$n$に対して$O(n^2)$になるので、アイテム数$n$が大きい($\rm{e.g.} \sim 10^6$)ときは一台のマシンで計算することは難しくなります。 DIMSUMで$O(m L^2)$を$O(n \log(n)/s)$に。 DIMSUMはStanford大のZadehとCarlssonが考案した近似的に総当たりのcos類似度を高速に計算するアル