SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Introduction to Algorithms for Behavior Based
Recommendation
Tokyo Web Mining Meetup
March 26, 2016
Kimikazu Kato
Silver Egg Technology Co., Ltd.
1 / 36
About myself
加藤公一 Kimikazu Kato
Twitter: @hamukazu
LinkedIn: http://linkedin.com/in/kimikazukato
Chief Scientist at Silver Egg Technology
Ph.D in computer science, Master's degree in mathematics
Experience in numerical computation and mathematical algorithms
especially ...
Geometric computation, computer graphics
Partial differential equation, parallel computation, GPGPU
Mathematical programming
Now specialize in
Machine learning, especially, recommendation system
2 / 36
About our company
Silver Egg Technology
Established: 1998
CEO: Tom Foley
Main Service: Recommendation System, Online Advertisement
Major Clients: QVC, Senshukai (Bellemaison), Tsutaya
We provide a recommendation system to Japan's leading web sites.
3 / 36
Table of Contents
Introduction
Types of recommendation
Evaluation metrics
Algorithms
Conclusion
4 / 36
Caution
This presentation includes:
State-of-the-art algorithms for recommendation systems,
But does NOT include:
Any information about the core algorithm in Silver Egg Technology
5 / 36
Recommendation System
Recommender systems or recommendation systems (sometimes
replacing "system" with a synonym such as platform or engine) are a
subclass of information filtering system that seek to predict the
'rating' or 'preference' that user would give to an item. — Wikipedia
In this talk, we focus on collaborative filtering method, which only utilize
users' behavior, activity, and preference.
Other methods include:
Content-based methods
Method using demographic data
Hybrid
6 / 36
Rating Prediction Problem
usermovie W X Y Z
A 5 4 1 4
B 4
C 2 3
D 1 4 ?
Given rating information for some user/movie pairs,
Want to predict a rating for an unknown user/movie pair.
7 / 36
Item Prediction Problem
useritem W X Y Z
A 1 1 1 1
B 1
C 1
D 1 ? 1 ?
Given "who bought what" information (user/item pairs),
Want to predict which item is likely to be bought by a user.
8 / 36
Input/Output of the systems
Rating Prediction
Input: set of ratings for user/item pairs
Output: map from user/item pair to predicted rating
Item Prediction
Input: set of user/item pairs as shopping data, integer
Output: top items for each user which are most likely to be bought by
him/her
k
k
9 / 36
Evaluation Metrics for Recommendation
Systems
Rating prediction
The Root of the Mean Squared Error (RMSE)
The square root of the sum of squared errors
Item prediction
Precision
(# of Recommended and Purchased)/(# of Recommended)
Recall
(# of Recommended and Purchased)/(# of Purchased)
10 / 36
RMSE of Rating Prediction
Some user/item pairs are randomly chosen to be hidden.
usermovie W X Y Z
A 5 4 1 4
B 4
C 2 3
D 1 4 ?
Predicted as 3.1 but the actual is 4, then the squared error is
.
Take the sum over the error over all the hidden items and then, take the
square root of it.
|3.1 − 4 =|
2
0.9
2
( −∑
(u,i)∈hidden
predictedui
actualui )
2
− −−−−−−−−−−−−−−−−−−−−−−−−−
√
11 / 36
Precision/Recall of Item Prediction
If three items are recommended:
2 out of 3 recommended items are actually bought: the precision is 2/3.
2 out of 4 bought items are recommended: the recall is 2/4.
These are denoted by recall@3 and prec@3.
Ex. recall@5 = 3/5, prec@5 = 3/4
12 / 36
ROC and AUC
# of
recom.
1 2 3 4 5 6 7 8 9 10
# of
whites
1 1 1 2 2 3 4 5 5 6
# of
blacks
0 1 2 2 3 3 3 3 4 4
Divide the first and second row by total number of white and blacks
respectively, and plot the values in xy plane.
13 / 36
This curve is called "ROC curve." The area under this curve is called "AUC."
Higher AUC is better (max =1).
The AUC is often used in academia, but for a practical purpose...
14 / 36
Netflix Prize
The Netflix Prize was an open competition for the best collaborative
filtering algorithm to predict user ratings for films, based on previous
ratings without any other information about the users or films, i.e.
without the users or the films being identified except by numbers
assigned for the contest. — Wikipedia
Shortly, an open competition for preference prediction.
Closed in 2009.
15 / 36
Outline of Winner's Algorithm
Refer to the blog by E.Chen.
http://blog.echen.me/2011/10/24/winning-the-netflix-prize-a-summary/
Digest of the methods:
Neighborhood Method
Matrix Factorization
Restricted Boltzmann Machines
Regression
Regularization
Ensemble Methods
16 / 36
Notations
Number of users:
Set of users:
Number of items (movies):
Set of items (movies):
Input matrix: ( matrix)
n
U = {1, 2, … , n}
m
I = {1, 2, … , m}
A n × m
17 / 36
Matrix Factorization
Based on the assumption that each item is described by a small number of
latent factors
Each rating is expressed as a linear combination of the latent factors
Achieve good performance in Netflix Prize
Find such matrices , where
A ≈ YX
T
X ∈ Mat(f, n) Y ∈ Mat(f, m) f ≪ n, m
18 / 36
Find and maximize
p (A|X, Y , σ) = N ( | , σ)∏
≠0aui
Aui X
T
u Yi
p(X| ) = N ( |0, I)σX ∏
u
Xu σX
p(Y | ) = N ( |0, I)σY ∏
i
Yi σY
X Y p (X, Y |A, σ)
19 / 36
According to Bayes' Theorem,
Thus,
where means Frobenius norm.
How can this be computed? Use MCMC. See [Salakhutdinov et al., 2008].
Once and are determined, and the prediction for is
estimated by
p (X, Y |A, σ)
= p(A|X, Y , σ)p(X| )p(X| ) × const.σX σX
log p (U , V |A, σ, , )σU σV
= + ∥X + ∥Y + const.∑
Aui
( − )Aui X
T
u Yi
2
λX ∥
2
Fro
λY ∥
2
Fro
∥ ⋅ ∥Fro
X Y := YA
~
X
T
Aui
A
~
ui
20 / 36
Rating
usermovie W X Y Z
A 5 4 1 4
B 4
C 2 3
D 1 4 ?
Includes negative feedback
"1" means "boring"
Zero means "unknown"
Shopping (Browsing)
useritem W X Y Z
A 1 1 1 1
B 1
C 1
D 1 ? 1 ?
Includes no negative feedback
Zero means "unknown" or
"negative"
More degree of the freedom
Difference between Rating and Shopping
Consequently, the algorithm effective for the rating matrix is not necessarily
effective for the shopping matrix.
21 / 36
Solutions
Adding a constraint to the optimization problem
Changing the objective function itself
22 / 36
Adding a Constraint
The problem has the too much degree of freedom
Desirable characteristic is that many elements of the product should be
zero.
Assume that a certain ratio of zero elements of the input matrix remains
zero after the optimization [Sindhwani et al., 2010]
Experimentally outperform the "zero-as-negative" method
23 / 36
One-class Matrix Completion
[Sindhwani et al., 2010]
Introduced variables to relax the problem.
Minimize
subject to
pui
( − ) + ∥X + ∥Y∑
≠0Aui
Aui X
T
u Yi λX ∥
2
Fro
λY ∥
2
Fro
+ [ (0 − + (1 − )(1 − ]∑
=0Aui
pui X
T
u Yi )
2
pui X
T
u Yi )
2
+ T [− log − (1 − ) log(1 − )]∑
=0Aui
pui pui pui pui
= r
1
|{ | = 0}|Aui Aui
∑
=0Aui
pui
24 / 36
Intuitive explanation:
means how likely the -element is zero.
The second term is the error of estimation considering 's.
The third term is the entropy of the distribution.
( − ) + ∥X + ∥Y∑
≠0Aui
Aui X
T
u Yi λX ∥
2
Fro
λY ∥
2
Fro
+ [ (0 − + (1 − )(1 − ]∑
=0Aui
pui X
T
u Yi )
2
pui X
T
u Yi )
2
+ T [− log − (1 − ) log(1 − )]∑
=0Aui
pui pui pui pui
pui (u, i)
pui
25 / 36
Implicit Sparseness constraint: SLIM (Elastic Net)
In the regression model, adding L1 term makes the solution sparse:
The similar idea is used for the matrix factorization [Ning et al., 2011]:
Minimize
subject to
[ ∥Xw − y + ∥w + λρ|w ]min
w
1
2n
∥
2
2
λ(1 − ρ)
2
∥
2
2
|1
∥A − AW ∥ + ∥W + λρ|W
λ(1 − ρ)
2
∥
2
Fro
|1
diag W = 0
26 / 36
Ranking prediction
Another strategy of shopping prediction
"Learn from the order" approach
Predict whether X is more likely to be bought than Y, rather than the
probability for X or Y.
27 / 36
Bayesian Probabilistic Ranking
[Rendle et al., 2009]
Consider matrix factorization model, but the update of elements is
according to the observation of the "orders"
The parameters are the same as usual matrix factorization, but the
objective function is different
Consider a total order for each . Suppose that
means "the user is more likely to buy than .
The objective is to calculate such that and (which
means and are not bought by ).
>u u ∈ U i j(i, j ∈ I)>u
u i j
p(i j)>u = 0Aui Auj
i j u
28 / 36
Let
and define
where we assume
According to Bayes' theorem, the function to be optimized becomes:
= {(u, i, j) ∈ U × I × I| = 1, = 0} ,DA Aui Auj
p( |X, Y ) := p(i j|X, Y )∏
u∈U
>u ∏
(u,i,j)∈DA
>u
p(i j|X, Y )>u
σ(x)
= σ( − )X
T
u Yi Xu Yj
=
1
1 + e
−x
∏ p(X, Y | ) = ∏ p( |X, Y ) × p(X)p(Y ) × const.>u >u
29 / 36
Taking log of this,
Now consider the following problem:
This means "find a pair of matrices which preserve the order of the
element of the input matrix for each ."
L := log[∏ p( |X, Y ) × p(X)p(Y )]>u
= log p(i j|X, Y ) − ∥X − ∥Y∏
(u,i,j)∈DA
>u λX ∥
2
Fro
λY ∥
2
Fro
= log σ( − ) − ∥X − ∥Y∑
(u,i,j)∈DA
X
T
u Yi X
T
u Yj λX ∥
2
Fro
λY ∥
2
Fro
[ log σ( − ) − ∥X − ∥Y ]max
X,Y
∑
(u,i,j)∈DA
X
T
u Yi X
T
u Yj λX ∥
2
Fro
λY ∥
2
Fro
X, Y
u
30 / 36
Computation
The function we want to optimize:
is huge, so in practice, a stochastic method is necessary.
Let the parameters be .
The algorithm is the following:
Repeat the following
Choose randomly
Update with
This method is called Stochastic Gradient Descent (SGD).
log σ( − ) − ∥X − ∥Y∑
(u,i,j)∈DA
X
T
u Yi X
T
u Yj λX ∥
2
Fro
λY ∥
2
Fro
U × I × I
Θ = (X, Y )
(u, i, j) ∈ DA
Θ
Θ = Θ − α (log σ( − ) − ∥X − ∥Y )
∂
∂Θ
X
T
u Yi X
T
u Yj λX ∥
2
Fro
λY ∥
2
Fro
31 / 36
MyMediaLite
http://www.mymedialite.net/
Open source implemetation of recommendation systems
Written in C#
Reasonable computation time
Supports rating and item prediction
32 / 36
Practical Aspect of Recommendation
Problem
Computational time
Memory consumption
How many services can be integrated in a server rack?
Super high accuracy with a super computer is useless for real business
33 / 36
Concluding Remarks: What is Important for
Good Prediction?
Theory
Machine learning
Mathematical optimization
Implementation
Algorithms
Computer architecture
Mathematics
Human factors!
Hand tuning of parameters
Domain specific knowledge
34 / 36
References (1/2)
For beginers
比戸ら, データサイエンティスト養成読本 機械学習入門編, 技術評論社, 2016
T.Segaran. Programming Collective Intelligence, O'Reilly Media, 2007.
E.Chen. Winning the Netflix Prize: A Summary.
A.Gunawardana and G.Shani. A Survey of Accuracy Evaluation Metrics of
Recommendation Tasks, The Journal of Machine Learning Research,
Volume 10, 2009.
35 / 36
References (2/2)
Papers
Salakhutdinov, Ruslan, and Andriy Mnih. "Bayesian probabilistic matrix
factorization using Markov chain Monte Carlo." Proceedings of the 25th
international conference on Machine learning. ACM, 2008.
Sindhwani, Vikas, et al. "One-class matrix completion with low-density
factorizations." Data Mining (ICDM), 2010 IEEE 10th International
Conference on. IEEE, 2010.
Rendle, Steffen, et al. "BPR: Bayesian personalized ranking from implicit
feedback." Proceedings of the Twenty-Fifth Conference on Uncertainty in
Artificial Intelligence. AUAI Press, 2009.
Zou, Hui, and Trevor Hastie. "Regularization and variable selection via the
elastic net." Journal of the Royal Statistical Society: Series B (Statistical
Methodology) 67.2 (2005): 301-320.
Ning, Xia, and George Karypis. "SLIM: Sparse linear methods for top-n
recommender systems." Data Mining (ICDM), 2011 IEEE 11th
International Conference on. IEEE, 2011.
36 / 36

Contenu connexe

Tendances

Canteen management system Documentation
Canteen management system DocumentationCanteen management system Documentation
Canteen management system Documentationrimshailyas1
 
Computerization in Andhra Preadesh
Computerization in Andhra PreadeshComputerization in Andhra Preadesh
Computerization in Andhra PreadeshRajan Kandel
 
Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )Kiran Hanjar
 
Personal Knowledge Graphs
Personal Knowledge GraphsPersonal Knowledge Graphs
Personal Knowledge Graphskrisztianbalog
 
Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Ayoub Rouzi
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of SoftwareShankar Dahal
 
DATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGEDATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGENeeraj Goswami
 
DFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure ChartsDFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure ChartsSOuvagya Kumar Jena
 
Documentation of railway reservation system
Documentation of railway reservation systemDocumentation of railway reservation system
Documentation of railway reservation systemSandip Murari
 
Human computer interaction
Human computer interactionHuman computer interaction
Human computer interactionsai anjaneya
 
Business Intelligence Presentation 1 (15th March'16)
Business Intelligence Presentation 1 (15th March'16)Business Intelligence Presentation 1 (15th March'16)
Business Intelligence Presentation 1 (15th March'16)Muhammad Fahad
 

Tendances (20)

College management-system
College management-systemCollege management-system
College management-system
 
What is Enterprise 2.0?
What is Enterprise 2.0?What is Enterprise 2.0?
What is Enterprise 2.0?
 
Canteen management system Documentation
Canteen management system DocumentationCanteen management system Documentation
Canteen management system Documentation
 
It capabilities
It capabilitiesIt capabilities
It capabilities
 
Computerization in Andhra Preadesh
Computerization in Andhra PreadeshComputerization in Andhra Preadesh
Computerization in Andhra Preadesh
 
Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )Cost of software quality ( software quality assurance )
Cost of software quality ( software quality assurance )
 
Personal Knowledge Graphs
Personal Knowledge GraphsPersonal Knowledge Graphs
Personal Knowledge Graphs
 
Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)
 
Uber Case Study
Uber Case StudyUber Case Study
Uber Case Study
 
Data mining
Data miningData mining
Data mining
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
Project abstract demo
Project  abstract demoProject  abstract demo
Project abstract demo
 
DATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGEDATA MINING TOOL- ORANGE
DATA MINING TOOL- ORANGE
 
E farming
E farmingE farming
E farming
 
DFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure ChartsDFD, Decision Table, Decision Chart, Structure Charts
DFD, Decision Table, Decision Chart, Structure Charts
 
Data Analytics Life Cycle
Data Analytics Life CycleData Analytics Life Cycle
Data Analytics Life Cycle
 
Documentation of railway reservation system
Documentation of railway reservation systemDocumentation of railway reservation system
Documentation of railway reservation system
 
Human computer interaction
Human computer interactionHuman computer interaction
Human computer interaction
 
Business Intelligence Presentation 1 (15th March'16)
Business Intelligence Presentation 1 (15th March'16)Business Intelligence Presentation 1 (15th March'16)
Business Intelligence Presentation 1 (15th March'16)
 
Role of system analyst
Role of system analystRole of system analyst
Role of system analyst
 

Similaire à Introduction to behavior based recommendation system

Recommendation System --Theory and Practice
Recommendation System --Theory and PracticeRecommendation System --Theory and Practice
Recommendation System --Theory and PracticeKimikazu Kato
 
Optimization Techniques.pdf
Optimization Techniques.pdfOptimization Techniques.pdf
Optimization Techniques.pdfanandsimple
 
Matrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender SystemsMatrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender SystemsDmitriy Selivanov
 
Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019Faisal Siddiqi
 
Stochastic optimization from mirror descent to recent algorithms
Stochastic optimization from mirror descent to recent algorithmsStochastic optimization from mirror descent to recent algorithms
Stochastic optimization from mirror descent to recent algorithmsSeonho Park
 
Recsys matrix-factorizations
Recsys matrix-factorizationsRecsys matrix-factorizations
Recsys matrix-factorizationsDmitriy Selivanov
 
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...IJERA Editor
 
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...IJERA Editor
 
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...Bohdan Pavlyshenko
 
ppt - Deep Learning From Scratch.pdf
ppt - Deep Learning From Scratch.pdfppt - Deep Learning From Scratch.pdf
ppt - Deep Learning From Scratch.pdfsurefooted
 
Fractional factorial design tutorial
Fractional factorial design tutorialFractional factorial design tutorial
Fractional factorial design tutorialGaurav Kr
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersKimikazu Kato
 
Vcs slides on or 2014
Vcs slides on or 2014Vcs slides on or 2014
Vcs slides on or 2014Shakti Ranjan
 
20MEMECH Part 3- Classification.pdf
20MEMECH Part 3- Classification.pdf20MEMECH Part 3- Classification.pdf
20MEMECH Part 3- Classification.pdfMariaKhan905189
 
Jaya with Experienced Learning
Jaya with Experienced LearningJaya with Experienced Learning
Jaya with Experienced LearningIRJET Journal
 
Jaya with Experienced Learning
Jaya with Experienced LearningJaya with Experienced Learning
Jaya with Experienced LearningIRJET Journal
 

Similaire à Introduction to behavior based recommendation system (20)

Recommendation System --Theory and Practice
Recommendation System --Theory and PracticeRecommendation System --Theory and Practice
Recommendation System --Theory and Practice
 
Optimization Techniques.pdf
Optimization Techniques.pdfOptimization Techniques.pdf
Optimization Techniques.pdf
 
Matrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender SystemsMatrix Factorizations for Recommender Systems
Matrix Factorizations for Recommender Systems
 
ML unit-1.pptx
ML unit-1.pptxML unit-1.pptx
ML unit-1.pptx
 
Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019Facebook Talk at Netflix ML Platform meetup Sep 2019
Facebook Talk at Netflix ML Platform meetup Sep 2019
 
Stochastic optimization from mirror descent to recent algorithms
Stochastic optimization from mirror descent to recent algorithmsStochastic optimization from mirror descent to recent algorithms
Stochastic optimization from mirror descent to recent algorithms
 
Recsys matrix-factorizations
Recsys matrix-factorizationsRecsys matrix-factorizations
Recsys matrix-factorizations
 
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
 
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
Determination of Optimal Product Mix for Profit Maximization using Linear Pro...
 
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
Linear, Machine Learning or Probabilistic Predictive Models: What's Best for ...
 
Session 4 .pdf
Session 4 .pdfSession 4 .pdf
Session 4 .pdf
 
ppt - Deep Learning From Scratch.pdf
ppt - Deep Learning From Scratch.pdfppt - Deep Learning From Scratch.pdf
ppt - Deep Learning From Scratch.pdf
 
Fractional factorial design tutorial
Fractional factorial design tutorialFractional factorial design tutorial
Fractional factorial design tutorial
 
Introduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning ProgrammersIntroduction to NumPy for Machine Learning Programmers
Introduction to NumPy for Machine Learning Programmers
 
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
MUMS: Transition & SPUQ Workshop - Practical Bayesian Optimization for Urban ...
 
Vcs slides on or 2014
Vcs slides on or 2014Vcs slides on or 2014
Vcs slides on or 2014
 
AINL 2016: Strijov
AINL 2016: StrijovAINL 2016: Strijov
AINL 2016: Strijov
 
20MEMECH Part 3- Classification.pdf
20MEMECH Part 3- Classification.pdf20MEMECH Part 3- Classification.pdf
20MEMECH Part 3- Classification.pdf
 
Jaya with Experienced Learning
Jaya with Experienced LearningJaya with Experienced Learning
Jaya with Experienced Learning
 
Jaya with Experienced Learning
Jaya with Experienced LearningJaya with Experienced Learning
Jaya with Experienced Learning
 

Plus de Kimikazu Kato

Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Kimikazu Kato
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPythonKimikazu Kato
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Kimikazu Kato
 
Fast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansFast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansKimikazu Kato
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前Kimikazu Kato
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習Kimikazu Kato
 
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Kimikazu Kato
 
Sparse pca via bipartite matching
Sparse pca via bipartite matchingSparse pca via bipartite matching
Sparse pca via bipartite matchingKimikazu Kato
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方Kimikazu Kato
 
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionA Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionKimikazu Kato
 
特定の不快感を与えるツイートの分類と自動生成について
特定の不快感を与えるツイートの分類と自動生成について特定の不快感を与えるツイートの分類と自動生成について
特定の不快感を与えるツイートの分類と自動生成についてKimikazu Kato
 
Effective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyEffective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyKimikazu Kato
 
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...Kimikazu Kato
 
About Our Recommender System
About Our Recommender SystemAbout Our Recommender System
About Our Recommender SystemKimikazu Kato
 
ネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてKimikazu Kato
 
関東GPGPU勉強会資料
関東GPGPU勉強会資料関東GPGPU勉強会資料
関東GPGPU勉強会資料Kimikazu Kato
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 

Plus de Kimikazu Kato (20)

Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28Tokyo webmining 2017-10-28
Tokyo webmining 2017-10-28
 
機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython機械学習ゴリゴリ派のための数学とPython
機械学習ゴリゴリ派のための数学とPython
 
Pythonを使った機械学習の学習
Pythonを使った機械学習の学習Pythonを使った機械学習の学習
Pythonを使った機械学習の学習
 
Fast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-MeansFast and Probvably Seedings for k-Means
Fast and Probvably Seedings for k-Means
 
Pythonで機械学習入門以前
Pythonで機械学習入門以前Pythonで機械学習入門以前
Pythonで機械学習入門以前
 
Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
 
Pythonによる機械学習の最前線
Pythonによる機械学習の最前線Pythonによる機械学習の最前線
Pythonによる機械学習の最前線
 
Sparse pca via bipartite matching
Sparse pca via bipartite matchingSparse pca via bipartite matching
Sparse pca via bipartite matching
 
正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方正しいプログラミング言語の覚え方
正しいプログラミング言語の覚え方
 
養成読本と私
養成読本と私養成読本と私
養成読本と私
 
A Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic RegressionA Safe Rule for Sparse Logistic Regression
A Safe Rule for Sparse Logistic Regression
 
特定の不快感を与えるツイートの分類と自動生成について
特定の不快感を与えるツイートの分類と自動生成について特定の不快感を与えるツイートの分類と自動生成について
特定の不快感を与えるツイートの分類と自動生成について
 
Effective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPyEffective Numerical Computation in NumPy and SciPy
Effective Numerical Computation in NumPy and SciPy
 
Sapporo20140709
Sapporo20140709Sapporo20140709
Sapporo20140709
 
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
【論文紹介】Approximate Bayesian Image Interpretation Using Generative Probabilisti...
 
Zuang-FPSGD
Zuang-FPSGDZuang-FPSGD
Zuang-FPSGD
 
About Our Recommender System
About Our Recommender SystemAbout Our Recommender System
About Our Recommender System
 
ネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについてネット通販向けレコメンドシステム提供サービスについて
ネット通販向けレコメンドシステム提供サービスについて
 
関東GPGPU勉強会資料
関東GPGPU勉強会資料関東GPGPU勉強会資料
関東GPGPU勉強会資料
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 

Dernier

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Dernier (20)

Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Introduction to behavior based recommendation system

  • 1. Introduction to Algorithms for Behavior Based Recommendation Tokyo Web Mining Meetup March 26, 2016 Kimikazu Kato Silver Egg Technology Co., Ltd. 1 / 36
  • 2. About myself 加藤公一 Kimikazu Kato Twitter: @hamukazu LinkedIn: http://linkedin.com/in/kimikazukato Chief Scientist at Silver Egg Technology Ph.D in computer science, Master's degree in mathematics Experience in numerical computation and mathematical algorithms especially ... Geometric computation, computer graphics Partial differential equation, parallel computation, GPGPU Mathematical programming Now specialize in Machine learning, especially, recommendation system 2 / 36
  • 3. About our company Silver Egg Technology Established: 1998 CEO: Tom Foley Main Service: Recommendation System, Online Advertisement Major Clients: QVC, Senshukai (Bellemaison), Tsutaya We provide a recommendation system to Japan's leading web sites. 3 / 36
  • 4. Table of Contents Introduction Types of recommendation Evaluation metrics Algorithms Conclusion 4 / 36
  • 5. Caution This presentation includes: State-of-the-art algorithms for recommendation systems, But does NOT include: Any information about the core algorithm in Silver Egg Technology 5 / 36
  • 6. Recommendation System Recommender systems or recommendation systems (sometimes replacing "system" with a synonym such as platform or engine) are a subclass of information filtering system that seek to predict the 'rating' or 'preference' that user would give to an item. — Wikipedia In this talk, we focus on collaborative filtering method, which only utilize users' behavior, activity, and preference. Other methods include: Content-based methods Method using demographic data Hybrid 6 / 36
  • 7. Rating Prediction Problem usermovie W X Y Z A 5 4 1 4 B 4 C 2 3 D 1 4 ? Given rating information for some user/movie pairs, Want to predict a rating for an unknown user/movie pair. 7 / 36
  • 8. Item Prediction Problem useritem W X Y Z A 1 1 1 1 B 1 C 1 D 1 ? 1 ? Given "who bought what" information (user/item pairs), Want to predict which item is likely to be bought by a user. 8 / 36
  • 9. Input/Output of the systems Rating Prediction Input: set of ratings for user/item pairs Output: map from user/item pair to predicted rating Item Prediction Input: set of user/item pairs as shopping data, integer Output: top items for each user which are most likely to be bought by him/her k k 9 / 36
  • 10. Evaluation Metrics for Recommendation Systems Rating prediction The Root of the Mean Squared Error (RMSE) The square root of the sum of squared errors Item prediction Precision (# of Recommended and Purchased)/(# of Recommended) Recall (# of Recommended and Purchased)/(# of Purchased) 10 / 36
  • 11. RMSE of Rating Prediction Some user/item pairs are randomly chosen to be hidden. usermovie W X Y Z A 5 4 1 4 B 4 C 2 3 D 1 4 ? Predicted as 3.1 but the actual is 4, then the squared error is . Take the sum over the error over all the hidden items and then, take the square root of it. |3.1 − 4 =| 2 0.9 2 ( −∑ (u,i)∈hidden predictedui actualui ) 2 − −−−−−−−−−−−−−−−−−−−−−−−−− √ 11 / 36
  • 12. Precision/Recall of Item Prediction If three items are recommended: 2 out of 3 recommended items are actually bought: the precision is 2/3. 2 out of 4 bought items are recommended: the recall is 2/4. These are denoted by recall@3 and prec@3. Ex. recall@5 = 3/5, prec@5 = 3/4 12 / 36
  • 13. ROC and AUC # of recom. 1 2 3 4 5 6 7 8 9 10 # of whites 1 1 1 2 2 3 4 5 5 6 # of blacks 0 1 2 2 3 3 3 3 4 4 Divide the first and second row by total number of white and blacks respectively, and plot the values in xy plane. 13 / 36
  • 14. This curve is called "ROC curve." The area under this curve is called "AUC." Higher AUC is better (max =1). The AUC is often used in academia, but for a practical purpose... 14 / 36
  • 15. Netflix Prize The Netflix Prize was an open competition for the best collaborative filtering algorithm to predict user ratings for films, based on previous ratings without any other information about the users or films, i.e. without the users or the films being identified except by numbers assigned for the contest. — Wikipedia Shortly, an open competition for preference prediction. Closed in 2009. 15 / 36
  • 16. Outline of Winner's Algorithm Refer to the blog by E.Chen. http://blog.echen.me/2011/10/24/winning-the-netflix-prize-a-summary/ Digest of the methods: Neighborhood Method Matrix Factorization Restricted Boltzmann Machines Regression Regularization Ensemble Methods 16 / 36
  • 17. Notations Number of users: Set of users: Number of items (movies): Set of items (movies): Input matrix: ( matrix) n U = {1, 2, … , n} m I = {1, 2, … , m} A n × m 17 / 36
  • 18. Matrix Factorization Based on the assumption that each item is described by a small number of latent factors Each rating is expressed as a linear combination of the latent factors Achieve good performance in Netflix Prize Find such matrices , where A ≈ YX T X ∈ Mat(f, n) Y ∈ Mat(f, m) f ≪ n, m 18 / 36
  • 19. Find and maximize p (A|X, Y , σ) = N ( | , σ)∏ ≠0aui Aui X T u Yi p(X| ) = N ( |0, I)σX ∏ u Xu σX p(Y | ) = N ( |0, I)σY ∏ i Yi σY X Y p (X, Y |A, σ) 19 / 36
  • 20. According to Bayes' Theorem, Thus, where means Frobenius norm. How can this be computed? Use MCMC. See [Salakhutdinov et al., 2008]. Once and are determined, and the prediction for is estimated by p (X, Y |A, σ) = p(A|X, Y , σ)p(X| )p(X| ) × const.σX σX log p (U , V |A, σ, , )σU σV = + ∥X + ∥Y + const.∑ Aui ( − )Aui X T u Yi 2 λX ∥ 2 Fro λY ∥ 2 Fro ∥ ⋅ ∥Fro X Y := YA ~ X T Aui A ~ ui 20 / 36
  • 21. Rating usermovie W X Y Z A 5 4 1 4 B 4 C 2 3 D 1 4 ? Includes negative feedback "1" means "boring" Zero means "unknown" Shopping (Browsing) useritem W X Y Z A 1 1 1 1 B 1 C 1 D 1 ? 1 ? Includes no negative feedback Zero means "unknown" or "negative" More degree of the freedom Difference between Rating and Shopping Consequently, the algorithm effective for the rating matrix is not necessarily effective for the shopping matrix. 21 / 36
  • 22. Solutions Adding a constraint to the optimization problem Changing the objective function itself 22 / 36
  • 23. Adding a Constraint The problem has the too much degree of freedom Desirable characteristic is that many elements of the product should be zero. Assume that a certain ratio of zero elements of the input matrix remains zero after the optimization [Sindhwani et al., 2010] Experimentally outperform the "zero-as-negative" method 23 / 36
  • 24. One-class Matrix Completion [Sindhwani et al., 2010] Introduced variables to relax the problem. Minimize subject to pui ( − ) + ∥X + ∥Y∑ ≠0Aui Aui X T u Yi λX ∥ 2 Fro λY ∥ 2 Fro + [ (0 − + (1 − )(1 − ]∑ =0Aui pui X T u Yi ) 2 pui X T u Yi ) 2 + T [− log − (1 − ) log(1 − )]∑ =0Aui pui pui pui pui = r 1 |{ | = 0}|Aui Aui ∑ =0Aui pui 24 / 36
  • 25. Intuitive explanation: means how likely the -element is zero. The second term is the error of estimation considering 's. The third term is the entropy of the distribution. ( − ) + ∥X + ∥Y∑ ≠0Aui Aui X T u Yi λX ∥ 2 Fro λY ∥ 2 Fro + [ (0 − + (1 − )(1 − ]∑ =0Aui pui X T u Yi ) 2 pui X T u Yi ) 2 + T [− log − (1 − ) log(1 − )]∑ =0Aui pui pui pui pui pui (u, i) pui 25 / 36
  • 26. Implicit Sparseness constraint: SLIM (Elastic Net) In the regression model, adding L1 term makes the solution sparse: The similar idea is used for the matrix factorization [Ning et al., 2011]: Minimize subject to [ ∥Xw − y + ∥w + λρ|w ]min w 1 2n ∥ 2 2 λ(1 − ρ) 2 ∥ 2 2 |1 ∥A − AW ∥ + ∥W + λρ|W λ(1 − ρ) 2 ∥ 2 Fro |1 diag W = 0 26 / 36
  • 27. Ranking prediction Another strategy of shopping prediction "Learn from the order" approach Predict whether X is more likely to be bought than Y, rather than the probability for X or Y. 27 / 36
  • 28. Bayesian Probabilistic Ranking [Rendle et al., 2009] Consider matrix factorization model, but the update of elements is according to the observation of the "orders" The parameters are the same as usual matrix factorization, but the objective function is different Consider a total order for each . Suppose that means "the user is more likely to buy than . The objective is to calculate such that and (which means and are not bought by ). >u u ∈ U i j(i, j ∈ I)>u u i j p(i j)>u = 0Aui Auj i j u 28 / 36
  • 29. Let and define where we assume According to Bayes' theorem, the function to be optimized becomes: = {(u, i, j) ∈ U × I × I| = 1, = 0} ,DA Aui Auj p( |X, Y ) := p(i j|X, Y )∏ u∈U >u ∏ (u,i,j)∈DA >u p(i j|X, Y )>u σ(x) = σ( − )X T u Yi Xu Yj = 1 1 + e −x ∏ p(X, Y | ) = ∏ p( |X, Y ) × p(X)p(Y ) × const.>u >u 29 / 36
  • 30. Taking log of this, Now consider the following problem: This means "find a pair of matrices which preserve the order of the element of the input matrix for each ." L := log[∏ p( |X, Y ) × p(X)p(Y )]>u = log p(i j|X, Y ) − ∥X − ∥Y∏ (u,i,j)∈DA >u λX ∥ 2 Fro λY ∥ 2 Fro = log σ( − ) − ∥X − ∥Y∑ (u,i,j)∈DA X T u Yi X T u Yj λX ∥ 2 Fro λY ∥ 2 Fro [ log σ( − ) − ∥X − ∥Y ]max X,Y ∑ (u,i,j)∈DA X T u Yi X T u Yj λX ∥ 2 Fro λY ∥ 2 Fro X, Y u 30 / 36
  • 31. Computation The function we want to optimize: is huge, so in practice, a stochastic method is necessary. Let the parameters be . The algorithm is the following: Repeat the following Choose randomly Update with This method is called Stochastic Gradient Descent (SGD). log σ( − ) − ∥X − ∥Y∑ (u,i,j)∈DA X T u Yi X T u Yj λX ∥ 2 Fro λY ∥ 2 Fro U × I × I Θ = (X, Y ) (u, i, j) ∈ DA Θ Θ = Θ − α (log σ( − ) − ∥X − ∥Y ) ∂ ∂Θ X T u Yi X T u Yj λX ∥ 2 Fro λY ∥ 2 Fro 31 / 36
  • 32. MyMediaLite http://www.mymedialite.net/ Open source implemetation of recommendation systems Written in C# Reasonable computation time Supports rating and item prediction 32 / 36
  • 33. Practical Aspect of Recommendation Problem Computational time Memory consumption How many services can be integrated in a server rack? Super high accuracy with a super computer is useless for real business 33 / 36
  • 34. Concluding Remarks: What is Important for Good Prediction? Theory Machine learning Mathematical optimization Implementation Algorithms Computer architecture Mathematics Human factors! Hand tuning of parameters Domain specific knowledge 34 / 36
  • 35. References (1/2) For beginers 比戸ら, データサイエンティスト養成読本 機械学習入門編, 技術評論社, 2016 T.Segaran. Programming Collective Intelligence, O'Reilly Media, 2007. E.Chen. Winning the Netflix Prize: A Summary. A.Gunawardana and G.Shani. A Survey of Accuracy Evaluation Metrics of Recommendation Tasks, The Journal of Machine Learning Research, Volume 10, 2009. 35 / 36
  • 36. References (2/2) Papers Salakhutdinov, Ruslan, and Andriy Mnih. "Bayesian probabilistic matrix factorization using Markov chain Monte Carlo." Proceedings of the 25th international conference on Machine learning. ACM, 2008. Sindhwani, Vikas, et al. "One-class matrix completion with low-density factorizations." Data Mining (ICDM), 2010 IEEE 10th International Conference on. IEEE, 2010. Rendle, Steffen, et al. "BPR: Bayesian personalized ranking from implicit feedback." Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence. AUAI Press, 2009. Zou, Hui, and Trevor Hastie. "Regularization and variable selection via the elastic net." Journal of the Royal Statistical Society: Series B (Statistical Methodology) 67.2 (2005): 301-320. Ning, Xia, and George Karypis. "SLIM: Sparse linear methods for top-n recommender systems." Data Mining (ICDM), 2011 IEEE 11th International Conference on. IEEE, 2011. 36 / 36