Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Personalised Recommendations
Search
Edward Tsech
August 09, 2014
Programming
1
67
Personalised Recommendations
Edward Tsech
August 09, 2014
Tweet
Share
More Decks by Edward Tsech
See All by Edward Tsech
Clojure, Web and Luminus
edtsech
1
220
Other Decks in Programming
See All in Programming
20260315 AWSなんもわからん🥲
chiilog
2
170
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
280
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
530
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
620
メッセージングを利用して時間的結合を分離しよう #phperkaigi
kajitack
3
230
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
520
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
490
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
2.7k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
530
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
170
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
280
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
190
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
260
Agile that works and the tools we love
rasmusluckow
331
21k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
GitHub's CSS Performance
jonrohan
1032
470k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
52k
From π to Pie charts
rasagy
0
150
The Spectacular Lies of Maps
axbom
PRO
1
630
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
Transcript
Personalised Recommendations Saturday 9 August 14
About me • Ed Tsech • Clojure, JavaScript developer •
@edtsech on twitter, github Saturday 9 August 14
Content • Collaborative filtering • User based • Item based
• Content based / knowledge based recommendations • Mahout • Movie Recommender Example Saturday 9 August 14
Collaborative Filtering • “Collaborative filtering is a method of making
automatic predictions (filtering) about the interests of a user by collecting preferences or taste information from many users (collaborating).” Saturday 9 August 14
Collaborative Filtering • Last.fm, Twitter, Amazon • Pros • Relatively
precise, ability to recommend items from different categories • Cons • Cold start problem Saturday 9 August 14
User-based Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Item-based Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Saturday 9 August 14
Algorithms • Euclidean distance • Pearson Correlation • Tanimoto Coefficient
• ... Saturday 9 August 14
Euclidean distance Saturday 9 August 14
Pearson Correlation Saturday 9 August 14
Pearson vs Euclidean Saturday 9 August 14
Tanimoto Coefficient Saturday 9 August 14
Other Algorithms • Log-likelihood • Slope one • Singular value
decomposition • K nearest neighbors • Cluster-based Saturday 9 August 14
Content Based • Prismatic • Pros • No cold start
problem, ability to recommender new items • Cons • Harder to implement, not so precise, sometimes stupid. Saturday 9 August 14
Hybrid Systems • Netflix • Mix collaborative filtering & content-based
recommendations • Knowledge-based • Add domain information Saturday 9 August 14
Mahout • Scalable machine learning library • User based recommenders
• Item based recommenders • Various algorithms • Evaluation & rescoring features • Hadoop integration Saturday 9 August 14
Reca • Thin Clojure wrapper for Mahout’s single- machine recommendation
algorithms • https://github.com/edtsech/reca Saturday 9 August 14
Movie App Demo • 8400000 ratings • 1.7 Gb database
• 162 037 users • 82 715 movies Saturday 9 August 14
Rescoring • Add application logic to the recommender • Add
domain specific information • Helps to make a hybrid recommender Saturday 9 August 14
Evaluation Evaluation of user based algorithm based on 3% of
whole ratings (y axis - average difference) Saturday 9 August 14
Evaluation Evaluation of item based algorithm based on 33% of
whole ratings (y axis - average difference) Saturday 9 August 14
Performance • 1.5Gb of memory • 250 msecs for user
based recommender • 60-90 secs for item based recommender • 0.1 msecs after caching Saturday 9 August 14
Links • Mahout in Action [book] • Collective intelligence [book]
• http://mahout.apache.org/ • http://blog.comsysto.com/2013/04/03/ background-of-collaborative-filtering-with- mahout/ Saturday 9 August 14