Machine Learning I 80-629A Apprentissage Automatique I...
Transcript of Machine Learning I 80-629A Apprentissage Automatique I...
Recommender Systems— Week #11
Machine Learning I 80-629A
Apprentissage Automatique I 80-629
Laurent Charlin — 80-629
Introduction
• Recommendation task:
• Suggest items of interest to users
• Items: movies, books, articles, humans
• Users: humans
2
Laurent Charlin — 80-629
Is it worth our attention?
• Recommendation is the next search
• Search finds items (given a query)
• Recommendation finds items of interest
3
Laurent Charlin — 80-629
Is it worth our attention?
• Recommendation is the next search
• Search finds items (given a query)
• Recommendation finds items of interest
3
newnext
Laurent Charlin — 80-629 4
Laurent Charlin — 80-629 5
Laurent Charlin — 80-629 6
Laurent Charlin — 80-629
• They are responsible for 4% of US marriages (from 2005 to 2012)
• And lower divorce rates
7 [Cacioppo’13]
Laurent Charlin — 80-629
Machine Learning for Recommender Systems
• Task: Suggest items of interest to users
• From data how do you determine what denotes interest?
• Item-specific signal (supervised learning)
1. Score: rating, bid
2. Consumption: click, buy, watch, bookmark
8
Laurent Charlin — 80-629
ML PredictionsData
• Imagine • The data are user ratings • Task: Recommend items the user will like
• How do we set it up as a machine learning problem?
9
Laurent Charlin — 80-629
ML PredictionsData
• Imagine • The data are user ratings • Task: Recommend items the user will like
• How do we set it up as a machine learning problem?
•Task: What do we learn? What do we predict? What is the model? •Performance measure: How do we evaluate the results? •Experience: How does our model interact with data?
9
Laurent Charlin — 80-629
Framework for recommendation problems
10
Data
• User preferences
• User/Item features
Representation of user preferences Recommendations
• Model • E.g. Top-N recommendations
Laurent Charlin — 80-629
• Task:
• How we we set it up?
1. Regression (Classification)
2. Ranking
RecommendationsRepresentation of user preferences
11
Laurent Charlin — 80-629
Ranking vs. RegressionA. Ranking models
• Computationally more expensive
• E.g., Have to consider a group of items (listwise)
B. Score models
• For each user:
1. Predict scores of all unseen items
2. Rank items (show top-K)
12
K : (Z, N�, N�, . . . , NR)! "# $ZXJW ZèX ZSXJJS NYJRX
! (W�, W�, . . . , WR)! "# $WFSP TK JFHM NYJR
K : (Z, N) ! R
Recommendations
Framework for recommendation problems
Data
• User preferences
• User/Item features
Representation of user preferences
PredictMissing Ratings
• Model
13
Score Prediction as regression
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
ZXJWX!NYJRX
K!!!"
!
"""#
� � · · · �� � · · · ����
� � � · · ·� � · · · �
$
%%%&
Train: Black Test : Red
³Ȓ<latexit sha1_base64="Gg1RJjRNZgtFRv8wzPNc3AMiHAk=">AAADZnicfVJdaxNBFJ1m/ahRa6uID74MpoUKMWziQ/tYaosFrVZq2kISy+zsTTpkPpaZuzFh2d/gq/40/4E/w9kklm5SvLBwOWfOnTNnb5RI4TAMf69Ugjt3791ffVB9+Ojx2pP1jadnzqSWQ5sbaexFxBxIoaGNAiVcJBaYiiScR8N3BX8+AuuE0V9xkkBPsYEWfcEZeqi9efrNbF6u18JGOC263DTnTY3M6+Ryo/KhGxueKtDIJXOu0wwT7GXMouAS8mo3dZAwPmQD6PhWMwWul03d5nTLIzHtG+s/jXSKVrduSDLlcQfWMsw7DpSIjIx7N4dmTDk3UZEfphheuUWuAG/jOin2d3uZ0EmKoPnMSz+VFA0t0qGxsMBRTnzDuBX+OZRfMcs4+gxLt0TGDJFFrs68z0ldpRKFNd9Lb8+mBhLgZXScasFNDAuoxDFaVg4vHonEzeMbz/LzUTlAxYQu4suOQI7A+2T0E6Rwzfp7C3r7QAwEuvpH/7t1/b0FGL5ekpTmHV9n/+bUR7/vo/934n8zb5VVuwfg98PCsdd+TsCzxmbdwzzrFtOiKDvM86pfv+bisi03Z61G822j9aVV29ufL+IqeUlekW3SJDtkjxyRE9ImnAjyg/wkvyp/grXgefBidrSyMtc8I6UK6F891B8U</latexit>
³ɖ<latexit sha1_base64="93swktouq51RxMys0UZ18PRJnIY=">AAADeXicfVLLbhMxFHUTHiW8UpDYsBlIKwUUoiRdwLIqragEhaKStlImRB7PTWrFj5F9JyQy8zNs4Yf4FjZ40lB1kgpLlq7O8T33+uhEieAWW63fa6XyjZu3bq/fqdy9d//Bw+rGoxOrU8Ogy7TQ5iyiFgRX0EWOAs4SA1RGAk6j8ducP52AsVyrLzhLoC/pSPEhZxQ9NKg+2QwRpjgXcgbizB1/TbPNQbXWarbmJ1gt2ouiRhbnaLBReh/GmqUSFDJBre21Wwn2HTXImYCsEqYWEsrGdAQ9XyoqwfbdfG4WbHkkDoba+KswmKOVrSstTnrcgjEUs54FySMt4v5VUUeltTMZeTFJ8dwuczl4HddLcfim77hKUgTFLnYZpiJAHeSGBTE3wFDMfEGZ4f47ATunhjL0thamRFqPkUa2Qf2es4ZMBXKjvxX+7uYLJMCK6DRVnOkYllCBUzS0aF484Yld2De98M9bZQEl5Sq3zx2AmIDfkwYfIYVL1s/N6foeH3G0jQ8+AarxzgCMX6y0FPQOL71/deyt3/XW/3vxP81r2yrhHvh8GDj0vZ8S8KwPXrifuTBXiyK3n2UVH7/2cthWi5NOs73d7Hzu1HZ2F0FcJ0/Jc1InbfKa7JADckS6hJHv5Af5SX6V/pSflevllxdPS2uLnsekcMrbfwERSydg</latexit>
14
Laurent Charlin — 80-629
Modelling?
• How do we set this up as a learning problem?
15
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
ZXJWX!NYJRX
K!!!"
!
"""#
� � · · · �� � · · · ����
� � � · · ·� � · · · �
$
%%%&
³ɖ = ǔ(³Ȓ)<latexit sha1_base64="gMe7379gCkvEiwYtKcfsq5qelWk=">AAADb3icfVJdaxNBFJ0mftT41eqDD4IMpoUU0pDEB30RijZY0Golpi3ko8zO3qRD5mOZuRsTlv0fvuq/8mf4D5xNYukmxQsLl3Pm3Dlz9gaRFA7r9d8bheKt23fubt4r3X/w8NHjre0np87ElkOHG2nsecAcSKGhgwIlnEcWmAoknAXj9xl/NgHrhNHfcBZBX7GRFkPBGXposNMexPQtHVbaA7O3c7FVrtfq86LrTWPZlMmyTi62Cx97oeGxAo1cMue6jXqE/YRZFFxCWurFDiLGx2wEXd9qpsD1k7ntlO56JKRDY/2nkc7R0u41SaI87sBahmnXgRKBkWH/+tCEKedmKvDDFMNLt8pl4E1cN8bhm34idBQjaL7wMowlRUOzmGgoLHCUM98wboV/DuWXzDKOPszcLYExY2SBqzLvc1ZVsURhzffc25O5gQh4Hp3GWnATwgoqcYqW5cMLJyJyy/imi/x8VA5QMaGz+JIjkBPwPhn9DDFcsf7ejK4cipFAV/3k/7uufrAA4701SW7e8VX2+20f/Tsf/b8T/5t5o6zUOwS/HxaOvfZLBJ41Num10qSXTQuCpJWmJb9+jdVlW29Om7XGq1rza7N80Fou4iZ5Tl6SCmmQ1+SAHJET0iGcWPKD/CS/Cn+Kz4ovinRxtLCx1DwluSru/QW4fiHL</latexit>
Laurent Charlin — 80-629
Collaborative Filtering (CF)
• Assumption:
• Users with past similar preferences will have similar future preferences
• Work horse used in many recommender systems
16
Laurent Charlin — 80-629
CF- Neighbourhood approaches
1. For each user, find other users with similar past preferences
2. Predict that user’s missing preferences as the weighted combination of its neighbours’ preferences
17
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
ZXJWX!NYJRX
Laurent Charlin — 80-629
CF- Neighbourhood
1. Find similarity between every
pair of users (or items)
2. Predict missing scores using a
user’s neighbours
18
8TZ!
8TZ
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&³ǣȅ٢ɖɖ٣ټ = ³)ɖ)
>³Ȓɖ0k³Ȓɖkk³Ȓɖ0k
<latexit sha1_base64="gBYx7pW858B8SAww6ncm0MKl4oo=">AAAD13icfVJNbxMxEHUaPtrwlcKRi0VaNZFClYQDXJAqaEUlKBSFpkXZJPI6k8SKd72yxyWRteKGuPLz4NfgTUPVTStGsjR6b2Y8fn5hIoXBRuN3Ya146/adu+sbpXv3Hzx8VN583DHKag4nXEmlz0JmQIoYTlCghLNEA4tCCafh9G3Gn56DNkLFX3CeQC9i41iMBGfooUEZtwKEGbq2iKq2bndqKX1Ng5Fm3FXb/cbA1voBqoS2+2rg7E6aukDCCAPZAY0L1NJAi/EEA72AVumsKV+Rbg3KlcZuYxH0etJcJhWyjOPB5tr7YKi4jSBGLpkx3WYjwZ5jGgWXkJYCayBhfMrG0PVpzCIwPbeQJ6XbHhnSkdL+xEgXaGn7SouLPG5Aa4Zp10AkQiWHvatDHYuMmUehHxYxnJhVLgNv4roWR696TsSJRYj5xS4jKykqmn0HHQoNHOXcJ4xr4Z9D+YR5+dF/Wu6WUKkpstDUmd9zXo+sRKHVt9zb3WKBBHgendlYcDWEFVTiDDXLizc8F4lZyje70M9LZQAjJuJMPncI8hz8nox+BAuXrL83o6v7YizQ1D94f8X1dxpgWrvWkpt3dKn987aX/o2X/l/F/2be2FYK9sH7Q8OR7/2UgGeVdsGBd202LQzdQZqWvP2aq2a7nnRau80Xu63Prcre4dKI6+QpeUaqpElekj1ySI7JCeHkT4EUNgql4tfi9+KP4s+L0rXCsucJyUXx11+hHUh5</latexit>
³ɖǴ =X
ɖ0
³ǣȅ(ɖ,ɖ0)³Ȓɖ0Ǵ,
8ɖ0ɎǝƏɎ ǝƏɮƺ ȸƏɎƺƳ Ǵ<latexit sha1_base64="e4WrTVv/01kbexGAgz0hIhc8G0w=">AAADwHicfVLbbhMxEHUbLiXcWnjkxaLqTQpRUpDgBakqragEhaLSi5QNkdc7adzY68Ueh4TVfh1fwSfwCj/AbBqqpq0YaaXxOTPH47MTZ1p5bDR+zsxWbty8dXvuTvXuvfsPHs4vPDr0NjgJB9Jq645j4UGrFA5QoYbjzIEwsYajuP+m5I8G4Lyy6WccZdA24iRVXSUFEtSZb0c9gfl+0cnDacFfL/PIB0OHlYJHCEOilClWQy2srPH9L7ZkTotaFPHqctS1TmjNw8qkFEmK98QAuBMICT8tOvOLjXpjHPxq0pwki2wSe52F2XdRYmUwkKLUwvtWs5FhOxcOldRQVKPgIROyL06gRWkqDPh2Pvah4EuEJJzGoi9FPkarSxdackO4B0fzFS0PRsVWJ+2Lorkw3o9MTGJGYM9f5krwOq4VsPuqnas0CwipPJulGzRHy0vfeaIcSNQjSoR0ip7DZU84IZH+ztQtsbV9FLGvCZpzVDNBo3L229Tb8/EAGchpdBhSJW0Cl1CNQ3Ri2rxkoDI/sW945h9Z5QGNUGlpX74DegA0p+AfIMA5S/eW9OqWOlHoa+9pkdLaWwfQX7vSMqW3e+79s32yfpOs/1fxP81r26rRFtB+ONil3o8ZEGtdHm0XeVSqxXG+XRRVWr/m5WW7mhyu15vP6+ufXixu7EwWcY49YU/ZKmuyl2yD7bA9dsAk+8F+sd/sT2Wz0qvYytez0tmZSc9jNhWV738BC4VBeA==</latexit>
Laurent Charlin — 80-629
CF- Neighbourhood approaches
• Non-parametric approach
• A user is represented by a weighted combination of its neighbours
• New users can change one’s recommendations
• Different distance functions to capture different effects
• Ratings vs. clicks
• Could consider additional information
19
• Works well empirically
• Building similarity matrix can be slow (offline)
• Not probabilistic
CF - Matrix factorization
! !
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&"
!
""#
$
%%&
' (P
ZXJ
WXNYJRX
ZXJ
WX
P
• Assumption: the observation matrix is low-rank
• Estimates user and item representations
• k is a hyperparameter4GOJHYN[J�!
Z
!N(8ZN ! 8ZN)
�
2TIJQ� 8ZN := !!Z "N
P << RNS(|:XJWX|, |.YJRX|)
5FWFRJYJWX� !Z !Z,"N !N
[Salakhutdinov, Mnih, ’08]
CF - Matrix factorization. Alternative view.
2TIJQ� 8ZN := !!Z "N
XȅƏǕǣȇƺ ɎǝƏɎ ✓ɖټɀ Əȸƺ ǔƺƏɎɖȸƺɀ Ȓǔ ɖɀƺȸɀ<latexit sha1_base64="zZAe0hS+VI4CtG2ZoLRBOiOF9xM=">AAADmXicfVJtbxJBEN4WXyq+lOrHftlIG2uCBDBRP1YtEV+qNZW2CUfI3jIHG/ZuL7tzCLncP/HX+FX/gP/GOcCmQOMkm0yeZ+eZmSfjx1o5rNX+bGwWbty8dXvrTvHuvfsPtks7D8+cSayEtjTa2AtfONAqgjYq1HARWxChr+HcH73N+fMxWKdM9A2nMXRDMYhUoKRAgnqlFx7CBNP3BJMCx6FAvufhEFD0kr0njgsLPACBiQXHTcATR2pZr1SuVWuz4OtJfZGU2SJOejubH72+kUkIEUotnOvUazF2U2FRSQ1Z0SPhWMiRGECH0kiE4LrpbMGM7xPS54Gx9CLkM7S4f6UkDQmnyazArOMgVL7R/e5V0VSEzk1Dn8RCgUO3yuXgdVwnweBVN1VRnCBEcj5LkGiOhueG8r6yIFFPKRHSKlqHy6GwQiIZtdTFN2aEwncVQXNOK2GiUVnzfWn3dDZADHIZnSSRkqYPK6jGCVqxbF5/rGK3sG8y94+scoChUFFuX9oCPQaaU/DPkMAlS31z+uBIDRS6yie6kKjyzgKMnq6VLOkdX3r/7JSsf0PW//vxP81ry4reEdB9WDim2i8xEGts6jWz1MvVfD9tZlmRzq++emzryVmjWn9ebXxtlA+bi0PcYrvsMTtgdfaSHbIWO2FtJtkP9pP9Yr8Lu4XXhVbhw/zr5sai5hFbisLpX/qMMtU=</latexit>
The model is then a linear regression for each item:
8ZN = ��Z �N
=�
P
�ZP�NP
=�
P
�Z��N� + �Z��N� + . . . + �ZU�NU
³ǣȇƬƺ Ɏǝƺ ȅȒƳƺǼ ǣɀ ɀɵȅȅƺɎȸǣƬ ǣȇ ✓ ƏȇƳ �<latexit sha1_base64="ovWllM9T6yJ8Ho0Z3bPA8YOvcL8=">AAADnHicfVJdbxJBFJ12/aj4RfXRxEykTWqCBPBBfWsUYpOK1lRoE5aQ2dkLTJiPzcxdhGz4Lf4aX/XZf+MsYFOg8SabnDln7p17z94okcJhtfpnZze4dfvO3b17hfsPHj56XNx/0nEmtRza3EhjLyPmQAoNbRQo4TKxwFQk4SIaf8j1iwlYJ4z+hrMEeooNtRgIztBT/eK7c6E5UBwBVSYGSYWjbqYUoBWcCk0PQq8hO6BMx/4Q5bhMw7DQL5aqleoi6DaorUCJrOKsv797GsaGpwo0csmc69aqCfYyZlFwCfNCmDpIGB+zIXQ91EyB62WLGef00DMxHRjrP410wRYOr6VkyvMOrGU47zpQIjIy7l0vmjHl/GyRL6YYjtymlpM3ad0UB297mdBJiqD5spdBKikamntKY2GBo5x5wLgVfhzKR8wyjt75tVciY8bIIldmvs9ZWaUShTXf12bPFg0kwNfZaaoF979og5U4RcvWzYsnInEr+6ZL/7xVDlAxoXP7shOQE/B9MvoZUrhS/bu5fNQQQ4Gu/MkviS5/tADjl1spa/VaV96/OvfWv/fW/7vxv5o3phXCBvj9sNDyuV8S8KqxWdicZ2FeLYqy5nyer19tc9m2Qadeqb2u1L/WS8fN1SLukWfkBTkiNfKGHJMTckbahJMf5Cf5RX4Hz4NGcBq0lld3d1Y5T8laBJ2/oo4x+A==</latexit>
�ǣټɀ ƬƏȇ ƫƺ ɀƺƺȇ Əɀ ǔƺƏɎɖȸƺɀ Ȓǔ ǣɎƺȅɀ<latexit sha1_base64="7D815S2dDysALB6XaydF+EiPRdk=">AAADj3icfVLbbhMxEHWzXEq4JfDIi0VaUaQQJeGhPKEIGlEEhSJIWykbRV7vbGrFa6/s2ZBotT/B1/AKf8Hf4E1C1U0rRrI0OsdzZuZogkQKi+32n62Kd+Pmrdvbd6p3791/8LBWf3RidWo4DLiW2pwFzIIUCgYoUMJZYoDFgYTTYPq24E9nYKzQ6hsuEhjFbKJEJDhDB41rzR0/AGRjsfPMUs4UDYBaAEWZpREwTA1YqiMqEGI7rjXarfYy6NWks04aZB3H43rlgx9qnsagkEtm7bDTTnCUMYOCS8irfmohYXzKJjB0qWIx2FG2XCunuw4JaaSNewrpEq3uXirJYodbMIZhPrQQi0DLcHRZNGOxtYs4cGIxw3O7yRXgddwwxejVKBMqSREUX80SpZKipoWNNBQGOMqFSxg3wq1D+TkzjKMzu9Ql0HqKLLBN5uZcNONUojD6e2n3bDlAAryMzlMluA5hA5U4R8PK5oUzkdi1ffOVf84qCxgzoQr7skOQM3BzMvoJUrhgXd+C3jsQE4G2+dHdhWq+MwDT51dKSnpHF96/+Oqsf+Os//fjf5rXllX9A3D3YeDI1X5OwLHaZH4/z/xCLQiyfp5X3fl1No/tanLSbXVetrpfuo1ef32I2+QJeUr2SIfskx45JMdkQDj5QX6SX+S3V/f2vddeb/W1srWueUxK4b3/C3hNLbc=</latexit>
Laurent Charlin — 80-629
Model fitting
22
4GOJHYN[J�!
Z
!N(8ZN ! 8ZN)
�
Laurent Charlin — 80-629
Model fitting
• Joint parameter optimization
• Gradient descent:
22
4GOJHYN[J�!
Z
!N(8ZN ! 8ZN)
�
(!!,!")
Laurent Charlin — 80-629
Model fitting
• Joint parameter optimization
• Gradient descent:
• Alternate optimization
1. Fix , update
2. Fix , update
• Each step is a (regularized) least-squares problem
• This procedure is known as alternating least squares (ALS)
22
4GOJHYN[J�!
Z
!N(8ZN ! 8ZN)
�
(!!,!")
!
!
!
!
Laurent Charlin — 80-629 [Gopalan et al.’15]
³Ȓ<latexit sha1_base64="tLCIkkDdXQZhailHdnxP8x9V8rA=">AAADZnicfVJdaxNBFJ1m/ahRa6uID74spoUKadjEB30s2mBBq5WatpDEMjN7kw6Zj2XmbkxY9jf4qj/Nf+DPcDaJpZsULyxczplz58zZyxIpHEbR77VKcOv2nbvr96r3HzzceLS59fjUmdRy6HAjjT1n1IEUGjooUMJ5YoEqJuGMjd4V/NkYrBNGf8VpAn1Fh1oMBKfooc72yTezfbFZixrRrMLVprloamRRxxdblQ+92PBUgUYuqXPdZpRgP6MWBZeQV3upg4TyER1C17eaKnD9bOY2D3c8EocDY/2nMZyh1Z1rkkx53IG1FPOuAyWYkXH/+tCMKuemivlhiuKlW+YK8Caum+LgTT8TOkkRNJ97GaQyRBMW6YSxsMBRTn1DuRX+OSG/pJZy9BmWbmHGjJAyV6fe57SuUonCmu+lt2czAwnwMjpJteAmhiVU4gQtLYcXj0XiFvFN5vn5qBygokIX8WWHIMfgfdLwE6Rwxfp7C3r3QAwFuvpH/7t1/b0FGL1ckZTmHV1lv3fio3/ro/934n8zb5RVewfg98PCkdd+TsCzxma9dp71immMZe08r/r1ay4v22pz2mo0XzVaX1q1/fZiEdfJc/KC7JImeU32ySE5Jh3CiSA/yE/yq/In2AieBs/mRytrC80TUqog/As+ux8X</latexit>
³ɖ<latexit sha1_base64="IZFAM7vjEKeqHbfGZVgI+/YNh2U=">AAADZnicfVJdaxNBFJ1m/ahRa6uID74spoUKadjEB30s2mBBq5WatpDEMjN7kw6Zj2XmbkxY9jf4qj/Nf+DPcDaJpZsULyxczplz58zZyxIpHEbR77VKcOv2nbvr96r3HzzceLS59fjUmdRy6HAjjT1n1IEUGjooUMJ5YoEqJuGMjd4V/NkYrBNGf8VpAn1Fh1oMBKfooc72ybd0+2KzFjWiWYWrTXPR1Miiji+2Kh96seGpAo1cUue6zSjBfkYtCi4hr/ZSBwnlIzqErm81VeD62cxtHu54JA4HxvpPYzhDqzvXJJnyuANrKeZdB0owI+P+9aEZVc5NFfPDFMVLt8wV4E1cN8XBm34mdJIiaD73MkhliCYs0gljYYGjnPqGciv8c0J+SS3l6DMs3cKMGSFlrk69z2ldpRKFNd9Lb89mBhLgZXSSasFNDEuoxAlaWg4vHovELeKbzPPzUTlARYUu4ssOQY7B+6ThJ0jhivX3FvTugRgKdPWP/nfr+nsLMHq5IinNO7rKfu/ER//WR//vxP9m3iir9g7A74eFI6/9nIBnjc167TzrFdMYy9p5XvXr11xettXmtNVovmq0vrRq++3FIq6T5+QF2SVN8prsk0NyTDqEE0F+kJ/kV+VPsBE8DZ7Nj1bWFponpFRB+BdQtR8d</latexit>
xƏɎȸǣɴ IƏƬɎȒȸǣɿƏɎǣȒȇ<latexit sha1_base64="FWAP6zysTFlDPb6Ah05ED37ZePs=">AAADgHicfZLbbtNAEIa3MYcSTilcIiSLtFKQQhqHCxBXFTRQCQpFkLZSbEXr9SRZZe21dschYeUrnoZbeBrehnUSqjqpWMnS6P93Zmc+T5gKrrHd/rNVca5dv3Fz+1b19p279+7Xdh6capkpBj0mhVTnIdUgeAI95CjgPFVA41DAWTh5U/hnU1Cay+QrzlMIYjpK+JAzilYa1B7v+ggzNMcUFZ+5bylDqfj3hZvvDmr1dqu9OO5m4K2COlmdk8FO5b0fSZbFkCATVOu+104xMFQhZwLyqp9pSCmb0BH0bZjQGHRgFnPk7p5VIncolf0SdBdqde9SiomtrkEpinlfQ8xDKaLgclFDY63ncWiLxRTHet0rxKu8fobDl4HhSZohJGzZyzATLkq34OZGXAFDMbcBZYrbcVw2psrysnRLr4RSTpCGukltn/NmnAnkSn4rzW4WDaTAyuosSziTEaypAmeoaBleNOWpXuGbLflZVBowpjwp8JkjEFOwfVL3I2Rw4dp3C7txyEccdfOD/dVJ850CmDzdSCnVO75g/+yLRf/aov934381r0yr+odg90OB3bvxpxSsK5Xxu7nxi2phaLp5XrXr560v22Zw2ml5z1udz536QXe1iNvkEXlCGsQjL8gBOSInpEcY+UF+kl/kt1NxGs6+4y2vVrZWOQ9J6Tiv/gKjzCkk</latexit>
Laurent Charlin — 80-629 [Gopalan et al.’15]
6K Users 4K Movies 1M Ratings
480K Users 17.7K Movies
100M Ratings
80K Users 260K Sci. articles
100M Ratings
ƏȸǕɀȒȸɎǣ �ǣǸ<latexit sha1_base64="rco/y38TxGTkpZ2YhzGwwgcHLNM=">AAADj3icfVJdaxNBFJ1m/ajxK9FHXxbTQoUYkvhQoVCCNljRakXTFrIhzM7epENmZ5aZuzFh2D/hr/FV/4X/xtkklm5SvLDs5Zw59+Nww0Rwg83mn62Sd+v2nbvb98r3Hzx89LhSfXJmVKoZ9JgSSl+E1IDgEnrIUcBFooHGoYDzcPI258+noA1X8hvOExjEdCz5iDOKDhpW6jsBwgwt1WOjNGZD7gcHQahEZOax+9kgBKTZ0PJJtjOs1JqN5iL8zaS1SmpkFafDaulDECmWxiCRCWpMv9VMcOC6IWcCsnKQGkgom9Ax9F0qaQxmYBdrZf6uQyJ/pLT7JPoLtLx7TWJjhxvQmmLWNxDzfO7B9aKWxiZfxBWLKV6adS4Hb+L6KY5eDyyXSYog2XKWUSp8VH5uox9xDQzF3CWUae7W8dkl1ZShM7vQJVRqgjQ0dermnNfjVCDX6nthd7sYIAFWRGep5ExFsIYKnKGmRfOiKU/Myr7Z0j9nlQGMKZe5ffYYxBTcnNT/BClcsa5vTu8d8TFHU//o7kLW32mAyYsNSaHeyZX3L78669846/+9+F/NG2Xl4AjcfWg4cdrPCThWaRt0Mxvk1cLQdrOs7M6vtX5sm8lZu9F61Wh/adc63dUhbpNn5DnZIy2yTzrkmJySHmHkB/lJfpHfXtXb9w69zvJpaWuleUoK4b3/C3AqL/c=</latexit>
Model Exporation
Laurent Charlin — 80-629
Probabilistic matrix factorization
25
Gaussian Matrix
Factorization[Gopalan et al. ’15]
[wikipedia] [wikipedia]
[Salakhutdinov et al. ’08]
Poisson Matrix
Factorization
(Sui � Sui)2
�u � N (a, b)
�i � N (c, d)
Sui � N (��u �i, �)
�u � Gamma(a, b)
�i � Gamma(c, d)
Sui � Poisson(��u �i)
Minimizing mean
squared error is
equivalent to
maximizing likelihood
under Gaussian noise
��u�2
��i�2
• Poisson factorization is correct • Gaussian factorization is incorrect
• In practice MF typically gives better performance than PF
Matrix Factorization
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
{z}|(3 ,0 … 0 1 ,0 … 0 1)ɵ
<latexit sha1_base64="eytSmRVTQsOvlXTTtjFsn2ENd/A=">AAADdXicfZLbbhMxEIbdhEMJp7RcIqQVSVGRQtgNF3BZQSMqQaEI0lbKRpHtnaRWfFjZ3pDI2lfhFl6JJ+EWbxKqblIx0kqj//eMx98OSTkzNgx/b1WqN27eur19p3b33v0HD+s7u6dGZZpCjyqu9DnBBjiT0LPMcjhPNWBBOJyRybvCP5uCNkzJb3aewkDgsWQjRrH10rC+24wzmYAmGlNwUT6cN4f1RtgOFxFsJtEqaaBVnAx3Kh/iRNFMgLSUY2P6UZjagcPaMsohr8WZgRTTCR5D36cSCzADtxg+D/a8kgQjpf0nbbBQa3tXSpzwugGtsc37BgQjiieDq00dFsbMBfHNBLYXZt0rxOu8fmZHbwaOyTSzIOlyllHGA6uCAlaQMA3U8rlPMNXMPyegF9ijsh5p6Rai1MRiYlrYzzlviYxbptX30tvdYoAUaFmdZZJRlcCayu3MalyGl0xZalb4Zkt+HpUBKzCTBT53BHwKfk4cfIIMLl1/b2HvH7Ixs6b10f992XqvASbPN0pK/Y4v2b/46tG/9ej/nfhfz2vLavEh+P3QcOxrP6fgXaVd3M1dXHQjxHXzvObXL1pfts3ktNOOXrU7XzqNg+5qEbfRY/QU7aMIvUYH6AidoB6iaIZ+oJ/oV+VP9Um1WX22PFrZWtU8QqWovvwLDZklIg==</latexit>
| {z }ɴ
<latexit sha1_base64="ZOqxQI7sPyEbcoXSfVRl3yMMeFc=">AAADoHicjZJdaxNBFIanWT9q/Giql94sTQsVYkjihYIIRRsMaG2Lpi1mQ5iZPUmHzMcyMxsThv01/hpv9cp/42wSSzcp4iwLh/edc+ach0MSzoxtNH5vlIJbt+/c3bxXvv/g4aOtyvbjM6NSTaFLFVf6gmADnEnoWmY5XCQasCAczsn4Xe6fT0AbpuQXO0ugL/BIsiGj2HppUHmzG6UyBk00puCi1///ZYPp7qBSbdQb8xOuB81lUEXLczLYLn2IYkVTAdJSjo3pNRuJ7TusLaMcsnKUGkgwHeMR9HwosQDTd/M5s3DPK3E4VNr/0oZztbx3LcUJrxvQGtusZ0Awonjcv17UYWHMTBBfTGB7aVa9XLzJ66V2+KrvmExSC5IuehmmPLQqzLmGMdNALZ/5AFPN/DghvcSeqvX0C68QpcYWE1PDvs9ZTaTcMq2+FWZ38wYSoEV1mkpGVQwrKrdTq3ERXjxhiVnimy74eVQGrMBM5vhcB/gEfJ84/AQpXLn+3dzeP2QjZk3to18UWXuvAcbP1lIK9Y6u2D//7NG/9ej/3vhXzRvTytEh+P3QcORzjxPwrtIuamcuyqsR4tpZVvbr11xdtvXgrFVvvqi3TlvVg/ZyETfRU7SD9lETvUQHqINOUBdR9B39QD/Rr2An6ATHweniamljmfMEFU7w9Q/R5TKZ</latexit>
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
{z}|(3 ,0 … 0 1 ,0 … 0 1)ɵ
<latexit sha1_base64="eytSmRVTQsOvlXTTtjFsn2ENd/A=">AAADdXicfZLbbhMxEIbdhEMJp7RcIqQVSVGRQtgNF3BZQSMqQaEI0lbKRpHtnaRWfFjZ3pDI2lfhFl6JJ+EWbxKqblIx0kqj//eMx98OSTkzNgx/b1WqN27eur19p3b33v0HD+s7u6dGZZpCjyqu9DnBBjiT0LPMcjhPNWBBOJyRybvCP5uCNkzJb3aewkDgsWQjRrH10rC+24wzmYAmGlNwUT6cN4f1RtgOFxFsJtEqaaBVnAx3Kh/iRNFMgLSUY2P6UZjagcPaMsohr8WZgRTTCR5D36cSCzADtxg+D/a8kgQjpf0nbbBQa3tXSpzwugGtsc37BgQjiieDq00dFsbMBfHNBLYXZt0rxOu8fmZHbwaOyTSzIOlyllHGA6uCAlaQMA3U8rlPMNXMPyegF9ijsh5p6Rai1MRiYlrYzzlviYxbptX30tvdYoAUaFmdZZJRlcCayu3MalyGl0xZalb4Zkt+HpUBKzCTBT53BHwKfk4cfIIMLl1/b2HvH7Ixs6b10f992XqvASbPN0pK/Y4v2b/46tG/9ej/nfhfz2vLavEh+P3QcOxrP6fgXaVd3M1dXHQjxHXzvObXL1pfts3ktNOOXrU7XzqNg+5qEbfRY/QU7aMIvUYH6AidoB6iaIZ+oJ/oV+VP9Um1WX22PFrZWtU8QqWovvwLDZklIg==</latexit>
| {z }ɴ
<latexit sha1_base64="ZOqxQI7sPyEbcoXSfVRl3yMMeFc=">AAADoHicjZJdaxNBFIanWT9q/Giql94sTQsVYkjihYIIRRsMaG2Lpi1mQ5iZPUmHzMcyMxsThv01/hpv9cp/42wSSzcp4iwLh/edc+ach0MSzoxtNH5vlIJbt+/c3bxXvv/g4aOtyvbjM6NSTaFLFVf6gmADnEnoWmY5XCQasCAczsn4Xe6fT0AbpuQXO0ugL/BIsiGj2HppUHmzG6UyBk00puCi1///ZYPp7qBSbdQb8xOuB81lUEXLczLYLn2IYkVTAdJSjo3pNRuJ7TusLaMcsnKUGkgwHeMR9HwosQDTd/M5s3DPK3E4VNr/0oZztbx3LcUJrxvQGtusZ0Awonjcv17UYWHMTBBfTGB7aVa9XLzJ66V2+KrvmExSC5IuehmmPLQqzLmGMdNALZ/5AFPN/DghvcSeqvX0C68QpcYWE1PDvs9ZTaTcMq2+FWZ38wYSoEV1mkpGVQwrKrdTq3ERXjxhiVnimy74eVQGrMBM5vhcB/gEfJ84/AQpXLn+3dzeP2QjZk3to18UWXuvAcbP1lIK9Y6u2D//7NG/9ej/3vhXzRvTytEh+P3QcORzjxPwrtIuamcuyqsR4tpZVvbr11xdtvXgrFVvvqi3TlvVg/ZyETfRU7SD9lETvUQHqINOUBdR9B39QD/Rr2An6ATHweniamljmfMEFU7w9Q/R5TKZ</latexit> | {z }ɴ
<latexit sha1_base64="nvO9pmCjsWFg+thOlpupZW+g2VQ=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYshGREGRog0taLWiaQvZJczOnqRD5mOZmY0Jw96DV+NfvQ3vxtkklm4SnGXh8L5zzpzzcOKUUW1arT8bFe/GzVubW7erd+7eu79d23lwpmWmCHSJZFJdxFgDowK6hhoGF6kCzGMG5/HofeGfj0FpKsU3M00h4ngo6IASbJzUrz3dDTORgIoVJmDD1+u+vG8nQb7br9Vbzdbs+KtBsAjqaHFO+zuVD2EiScZBGMKw1r2glZrIYmUoYZBXw0xDiskID6HnQoE56MjOhsr9Pack/kAq9wvjz9Tq3rUUy52uQSls8p4GTmPJkuh6UYu51lMeu2Icm0u97BXiOq+XmcGryFKRZgYEmfcyyJhvpF9A9BOqgBg2dQEmirpxfHKJHULjUJdeiaUcGRzrBnZ9Ths8Y4Yq+b00u501kAIpq5NMUCITWFKZmRiFy/CSMU31At9kzs+h0mA4pqLAZ4+BjcH1if1PkMGV694t7P1DOqRGNz66rRCNIwUwerKSUqp3csX+2VeH/p1D/+/G/2quTauGh+D2Q8GJy/2cgnOlsmEnt2FRLY5tJ8+rbv2C5WVbDc7azeB5s/2lXT/oLBZxCz1Cj9E+CtBLdICO0SnqIoJ+oJ/oF/rtbXsvvDfe2/nVysYi5yEqHe/oL8hKLIc=</latexit>
| {z }ɴא<latexit sha1_base64="2QOxxUqThtSwyPHKCNdvHc8ZGrI=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYkgioqBI0YYWtFrRtIVsCDOzJ+mQ+VhmZmPCsPfg1fhXb8O7cTaJpZsEZ1k4vO+cM+c8HJJwZmyj8WejFNy4eWtz63b5zt1797crOw/OjEo1hQ5VXOkLgg1wJqFjmeVwkWjAgnA4J6P3uX8+Bm2Ykt/sNIGewEPJBoxi66V+5elulMoYNNGYgoter/uyvpu0st1+pdqoN2YnXA2ai6CKFue0v1P6EMWKpgKkpRwb0202EttzWFtGOWTlKDWQYDrCQ+j6UGIBpudmQ2XhnlficKC0/6UNZ2p571qKE143oDW2WdeAYETxuHe9qMPCmKkgvpjA9tIse7m4zuumdvCq55hMUguSznsZpDy0KswhhjHTQC2f+gBTzfw4Ib3EHqH1qAuvEKVGFhNTw77PaU2k3DKtvhdmd7MGEqBFdZJKRlUMSyq3E6txEV48ZolZ4JvM+XlUBqzATOb43DHwMfg+cfgJUrhy/bu5vX/Ihsya2ke/FbJ2pAFGT1ZSCvVOrtg/++rRv/Po/934X821aeXoEPx+aDjxuZ8T8K7SLmpnLsqrEeLaWVb269dcXrbV4KxVbz6vt760qgftxSJuoUfoMdpHTfQSHaBjdIo6iKIf6Cf6hX4H28GL4E3wdn61tLHIeYgKJzj6C8tKLIg=</latexit>
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
{z}|(3 ,0 … 0 1 ,0 … 0 1)ɵ
<latexit sha1_base64="eytSmRVTQsOvlXTTtjFsn2ENd/A=">AAADdXicfZLbbhMxEIbdhEMJp7RcIqQVSVGRQtgNF3BZQSMqQaEI0lbKRpHtnaRWfFjZ3pDI2lfhFl6JJ+EWbxKqblIx0kqj//eMx98OSTkzNgx/b1WqN27eur19p3b33v0HD+s7u6dGZZpCjyqu9DnBBjiT0LPMcjhPNWBBOJyRybvCP5uCNkzJb3aewkDgsWQjRrH10rC+24wzmYAmGlNwUT6cN4f1RtgOFxFsJtEqaaBVnAx3Kh/iRNFMgLSUY2P6UZjagcPaMsohr8WZgRTTCR5D36cSCzADtxg+D/a8kgQjpf0nbbBQa3tXSpzwugGtsc37BgQjiieDq00dFsbMBfHNBLYXZt0rxOu8fmZHbwaOyTSzIOlyllHGA6uCAlaQMA3U8rlPMNXMPyegF9ijsh5p6Rai1MRiYlrYzzlviYxbptX30tvdYoAUaFmdZZJRlcCayu3MalyGl0xZalb4Zkt+HpUBKzCTBT53BHwKfk4cfIIMLl1/b2HvH7Ixs6b10f992XqvASbPN0pK/Y4v2b/46tG/9ej/nfhfz2vLavEh+P3QcOxrP6fgXaVd3M1dXHQjxHXzvObXL1pfts3ktNOOXrU7XzqNg+5qEbfRY/QU7aMIvUYH6AidoB6iaIZ+oJ/oV+VP9Um1WX22PFrZWtU8QqWovvwLDZklIg==</latexit>
| {z }ɴ
<latexit sha1_base64="ZOqxQI7sPyEbcoXSfVRl3yMMeFc=">AAADoHicjZJdaxNBFIanWT9q/Giql94sTQsVYkjihYIIRRsMaG2Lpi1mQ5iZPUmHzMcyMxsThv01/hpv9cp/42wSSzcp4iwLh/edc+ach0MSzoxtNH5vlIJbt+/c3bxXvv/g4aOtyvbjM6NSTaFLFVf6gmADnEnoWmY5XCQasCAczsn4Xe6fT0AbpuQXO0ugL/BIsiGj2HppUHmzG6UyBk00puCi1///ZYPp7qBSbdQb8xOuB81lUEXLczLYLn2IYkVTAdJSjo3pNRuJ7TusLaMcsnKUGkgwHeMR9HwosQDTd/M5s3DPK3E4VNr/0oZztbx3LcUJrxvQGtusZ0Awonjcv17UYWHMTBBfTGB7aVa9XLzJ66V2+KrvmExSC5IuehmmPLQqzLmGMdNALZ/5AFPN/DghvcSeqvX0C68QpcYWE1PDvs9ZTaTcMq2+FWZ38wYSoEV1mkpGVQwrKrdTq3ERXjxhiVnimy74eVQGrMBM5vhcB/gEfJ84/AQpXLn+3dzeP2QjZk3to18UWXuvAcbP1lIK9Y6u2D//7NG/9ej/3vhXzRvTytEh+P3QcORzjxPwrtIuamcuyqsR4tpZVvbr11xdtvXgrFVvvqi3TlvVg/ZyETfRU7SD9lETvUQHqINOUBdR9B39QD/Rr2An6ATHweniamljmfMEFU7w9Q/R5TKZ</latexit> | {z }ɴ
<latexit sha1_base64="nvO9pmCjsWFg+thOlpupZW+g2VQ=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYshGREGRog0taLWiaQvZJczOnqRD5mOZmY0Jw96DV+NfvQ3vxtkklm4SnGXh8L5zzpzzcOKUUW1arT8bFe/GzVubW7erd+7eu79d23lwpmWmCHSJZFJdxFgDowK6hhoGF6kCzGMG5/HofeGfj0FpKsU3M00h4ngo6IASbJzUrz3dDTORgIoVJmDD1+u+vG8nQb7br9Vbzdbs+KtBsAjqaHFO+zuVD2EiScZBGMKw1r2glZrIYmUoYZBXw0xDiskID6HnQoE56MjOhsr9Pack/kAq9wvjz9Tq3rUUy52uQSls8p4GTmPJkuh6UYu51lMeu2Icm0u97BXiOq+XmcGryFKRZgYEmfcyyJhvpF9A9BOqgBg2dQEmirpxfHKJHULjUJdeiaUcGRzrBnZ9Ths8Y4Yq+b00u501kAIpq5NMUCITWFKZmRiFy/CSMU31At9kzs+h0mA4pqLAZ4+BjcH1if1PkMGV694t7P1DOqRGNz66rRCNIwUwerKSUqp3csX+2VeH/p1D/+/G/2quTauGh+D2Q8GJy/2cgnOlsmEnt2FRLY5tJ8+rbv2C5WVbDc7azeB5s/2lXT/oLBZxCz1Cj9E+CtBLdICO0SnqIoJ+oJ/oF/rtbXsvvDfe2/nVysYi5yEqHe/oL8hKLIc=</latexit>
| {z }ɴא<latexit sha1_base64="2QOxxUqThtSwyPHKCNdvHc8ZGrI=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYkgioqBI0YYWtFrRtIVsCDOzJ+mQ+VhmZmPCsPfg1fhXb8O7cTaJpZsEZ1k4vO+cM+c8HJJwZmyj8WejFNy4eWtz63b5zt1797crOw/OjEo1hQ5VXOkLgg1wJqFjmeVwkWjAgnA4J6P3uX8+Bm2Ykt/sNIGewEPJBoxi66V+5elulMoYNNGYgoter/uyvpu0st1+pdqoN2YnXA2ai6CKFue0v1P6EMWKpgKkpRwb0202EttzWFtGOWTlKDWQYDrCQ+j6UGIBpudmQ2XhnlficKC0/6UNZ2p571qKE143oDW2WdeAYETxuHe9qMPCmKkgvpjA9tIse7m4zuumdvCq55hMUguSznsZpDy0KswhhjHTQC2f+gBTzfw4Ib3EHqH1qAuvEKVGFhNTw77PaU2k3DKtvhdmd7MGEqBFdZJKRlUMSyq3E6txEV48ZolZ4JvM+XlUBqzATOb43DHwMfg+cfgJUrhy/bu5vX/Ihsya2ke/FbJ2pAFGT1ZSCvVOrtg/++rRv/Po/934X821aeXoEPx+aDjxuZ8T8K7SLmpnLsqrEeLaWVb269dcXrbV4KxVbz6vt760qgftxSJuoUfoMdpHTfQSHaBjdIo6iKIf6Cf6hX4H28GL4E3wdn61tLHIeYgKJzj6C8tKLIg=</latexit>
ɵ = (ɴ! !)!(ɴ!א ")<latexit sha1_base64="3K5phW/+wjdiVFJoCRCL2yinxlM=">AAADkHicfVJNbxMxEHWzfJTwlZYjF4tSKZHSKBsO9IIo0IgKaCmCtJWyIXi9k8SKd72yZ0OiVX4Fv4Yr/AruXPgRCLxJqLpJxUiWxu/5jWeexo+lMFiv/1grOFeuXru+fqN489btO3dLG5snRiWaQ4srqfSZzwxIEUELBUo4izWw0Jdw6g9fZPzpCLQRKvqAkxg6IetHoic4Qwt1SzsT+oSW6bjrfvRQxdTDASCjlfmtPO42Frhv4Uq3tFWv1WdBVxN3kWztPfzz+9Ovo5/H3Y3Cay9QPAkhQi6ZMW23HmMnZRoFlzAteomBmPEh60PbphELwXTS2VxTum2RgPaUtidCOkOL2xckaWhxA1oznLYNhMJXMuhcLJqy0JhJ6NtiIcOBWeYy8DKunWBvt5OKKE4QIj7vpZdIiopmPtJAaOAoJzZhXAs7DuUDphlH63buF1+pITLfVJntc1INE4lCq8+52dNZAzHwPDpOIsFVAEuoxDFqljcvGInYLOwbz/2zVhnAkIkosy89ADkC2yejR5DAOWv/zejyvugLNNU3djGi6ksNMKysSHL1Ds+933lvrX9urf/34n81L5UVvX2w+6Hh0GrfxmBZpVOvOU29rJrvp83ptGjXz11ettXkpFFzH9Ua7+weNsk81sl98oCUiUsekz1yQI5Ji3DyhXwl38h3Z9PZdZ46z+ZPC2sLzT2SC+fVX+8XMiQ=</latexit>
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
{z}|(3 ,0 … 0 1 ,0 … 0 1)ɵ
<latexit sha1_base64="eytSmRVTQsOvlXTTtjFsn2ENd/A=">AAADdXicfZLbbhMxEIbdhEMJp7RcIqQVSVGRQtgNF3BZQSMqQaEI0lbKRpHtnaRWfFjZ3pDI2lfhFl6JJ+EWbxKqblIx0kqj//eMx98OSTkzNgx/b1WqN27eur19p3b33v0HD+s7u6dGZZpCjyqu9DnBBjiT0LPMcjhPNWBBOJyRybvCP5uCNkzJb3aewkDgsWQjRrH10rC+24wzmYAmGlNwUT6cN4f1RtgOFxFsJtEqaaBVnAx3Kh/iRNFMgLSUY2P6UZjagcPaMsohr8WZgRTTCR5D36cSCzADtxg+D/a8kgQjpf0nbbBQa3tXSpzwugGtsc37BgQjiieDq00dFsbMBfHNBLYXZt0rxOu8fmZHbwaOyTSzIOlyllHGA6uCAlaQMA3U8rlPMNXMPyegF9ijsh5p6Rai1MRiYlrYzzlviYxbptX30tvdYoAUaFmdZZJRlcCayu3MalyGl0xZalb4Zkt+HpUBKzCTBT53BHwKfk4cfIIMLl1/b2HvH7Ixs6b10f992XqvASbPN0pK/Y4v2b/46tG/9ej/nfhfz2vLavEh+P3QcOxrP6fgXaVd3M1dXHQjxHXzvObXL1pfts3ktNOOXrU7XzqNg+5qEbfRY/QU7aMIvUYH6AidoB6iaIZ+oJ/oV+VP9Um1WX22PFrZWtU8QqWovvwLDZklIg==</latexit>
| {z }ɴ
<latexit sha1_base64="ZOqxQI7sPyEbcoXSfVRl3yMMeFc=">AAADoHicjZJdaxNBFIanWT9q/Giql94sTQsVYkjihYIIRRsMaG2Lpi1mQ5iZPUmHzMcyMxsThv01/hpv9cp/42wSSzcp4iwLh/edc+ach0MSzoxtNH5vlIJbt+/c3bxXvv/g4aOtyvbjM6NSTaFLFVf6gmADnEnoWmY5XCQasCAczsn4Xe6fT0AbpuQXO0ugL/BIsiGj2HppUHmzG6UyBk00puCi1///ZYPp7qBSbdQb8xOuB81lUEXLczLYLn2IYkVTAdJSjo3pNRuJ7TusLaMcsnKUGkgwHeMR9HwosQDTd/M5s3DPK3E4VNr/0oZztbx3LcUJrxvQGtusZ0Awonjcv17UYWHMTBBfTGB7aVa9XLzJ66V2+KrvmExSC5IuehmmPLQqzLmGMdNALZ/5AFPN/DghvcSeqvX0C68QpcYWE1PDvs9ZTaTcMq2+FWZ38wYSoEV1mkpGVQwrKrdTq3ERXjxhiVnimy74eVQGrMBM5vhcB/gEfJ84/AQpXLn+3dzeP2QjZk3to18UWXuvAcbP1lIK9Y6u2D//7NG/9ej/3vhXzRvTytEh+P3QcORzjxPwrtIuamcuyqsR4tpZVvbr11xdtvXgrFVvvqi3TlvVg/ZyETfRU7SD9lETvUQHqINOUBdR9B39QD/Rr2An6ATHweniamljmfMEFU7w9Q/R5TKZ</latexit> | {z }ɴ
<latexit sha1_base64="nvO9pmCjsWFg+thOlpupZW+g2VQ=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYshGREGRog0taLWiaQvZJczOnqRD5mOZmY0Jw96DV+NfvQ3vxtkklm4SnGXh8L5zzpzzcOKUUW1arT8bFe/GzVubW7erd+7eu79d23lwpmWmCHSJZFJdxFgDowK6hhoGF6kCzGMG5/HofeGfj0FpKsU3M00h4ngo6IASbJzUrz3dDTORgIoVJmDD1+u+vG8nQb7br9Vbzdbs+KtBsAjqaHFO+zuVD2EiScZBGMKw1r2glZrIYmUoYZBXw0xDiskID6HnQoE56MjOhsr9Pack/kAq9wvjz9Tq3rUUy52uQSls8p4GTmPJkuh6UYu51lMeu2Icm0u97BXiOq+XmcGryFKRZgYEmfcyyJhvpF9A9BOqgBg2dQEmirpxfHKJHULjUJdeiaUcGRzrBnZ9Ths8Y4Yq+b00u501kAIpq5NMUCITWFKZmRiFy/CSMU31At9kzs+h0mA4pqLAZ4+BjcH1if1PkMGV694t7P1DOqRGNz66rRCNIwUwerKSUqp3csX+2VeH/p1D/+/G/2quTauGh+D2Q8GJy/2cgnOlsmEnt2FRLY5tJ8+rbv2C5WVbDc7azeB5s/2lXT/oLBZxCz1Cj9E+CtBLdICO0SnqIoJ+oJ/oF/rtbXsvvDfe2/nVysYi5yEqHe/oL8hKLIc=</latexit>
| {z }ɴא<latexit sha1_base64="2QOxxUqThtSwyPHKCNdvHc8ZGrI=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYkgioqBI0YYWtFrRtIVsCDOzJ+mQ+VhmZmPCsPfg1fhXb8O7cTaJpZsEZ1k4vO+cM+c8HJJwZmyj8WejFNy4eWtz63b5zt1797crOw/OjEo1hQ5VXOkLgg1wJqFjmeVwkWjAgnA4J6P3uX8+Bm2Ykt/sNIGewEPJBoxi66V+5elulMoYNNGYgoter/uyvpu0st1+pdqoN2YnXA2ai6CKFue0v1P6EMWKpgKkpRwb0202EttzWFtGOWTlKDWQYDrCQ+j6UGIBpudmQ2XhnlficKC0/6UNZ2p571qKE143oDW2WdeAYETxuHe9qMPCmKkgvpjA9tIse7m4zuumdvCq55hMUguSznsZpDy0KswhhjHTQC2f+gBTzfw4Ib3EHqH1qAuvEKVGFhNTw77PaU2k3DKtvhdmd7MGEqBFdZJKRlUMSyq3E6txEV48ZolZ4JvM+XlUBqzATOb43DHwMfg+cfgJUrhy/bu5vX/Ihsya2ke/FbJ2pAFGT1ZSCvVOrtg/++rRv/Po/934X821aeXoEPx+aDjxuZ8T8K7SLmpnLsqrEeLaWVb269dcXrbV4KxVbz6vt760qgftxSJuoUfoMdpHTfQSHaBjdIo6iKIf6Cf6hX4H28GL4E3wdn61tLHIeYgKJzj6C8tKLIg=</latexit>
ɵ = (ɴ! !)!(ɴ!א ")<latexit sha1_base64="3K5phW/+wjdiVFJoCRCL2yinxlM=">AAADkHicfVJNbxMxEHWzfJTwlZYjF4tSKZHSKBsO9IIo0IgKaCmCtJWyIXi9k8SKd72yZ0OiVX4Fv4Yr/AruXPgRCLxJqLpJxUiWxu/5jWeexo+lMFiv/1grOFeuXru+fqN489btO3dLG5snRiWaQ4srqfSZzwxIEUELBUo4izWw0Jdw6g9fZPzpCLQRKvqAkxg6IetHoic4Qwt1SzsT+oSW6bjrfvRQxdTDASCjlfmtPO42Frhv4Uq3tFWv1WdBVxN3kWztPfzz+9Ovo5/H3Y3Cay9QPAkhQi6ZMW23HmMnZRoFlzAteomBmPEh60PbphELwXTS2VxTum2RgPaUtidCOkOL2xckaWhxA1oznLYNhMJXMuhcLJqy0JhJ6NtiIcOBWeYy8DKunWBvt5OKKE4QIj7vpZdIiopmPtJAaOAoJzZhXAs7DuUDphlH63buF1+pITLfVJntc1INE4lCq8+52dNZAzHwPDpOIsFVAEuoxDFqljcvGInYLOwbz/2zVhnAkIkosy89ADkC2yejR5DAOWv/zejyvugLNNU3djGi6ksNMKysSHL1Ds+933lvrX9urf/34n81L5UVvX2w+6Hh0GrfxmBZpVOvOU29rJrvp83ptGjXz11ettXkpFFzH9Ua7+weNsk81sl98oCUiUsekz1yQI5Ji3DyhXwl38h3Z9PZdZ46z+ZPC2sLzT2SC+fVX+8XMiQ=</latexit>
ɴ<latexit sha1_base64="MG0VZ2Oe4CpNUikbkd9HjXMr+EY=">AAADZHicfVJdaxNBFJ1m/ahr1dbigwiyWAoV0rDbPuhj0QYLWq3UtIUkhNnZm3TIfCwzd2PCsj/BN9Hf1j/g73A2iaWbFC8sXM6Zc+fM2RunglsMw6uVmnfn7r37qw/8h2uPHj9Z33h6ZnVmGLSYFtpcxNSC4ApayFHARWqAyljAeTx8X/LnIzCWa/UNJyl0JR0o3ueMooNOx72ot74VNsJpBctNNG+2Dp7vB1c/2+Kkt1H72Ek0yyQoZIJa247CFLs5NciZgMLvZBZSyoZ0AG3XKirBdvOp1yLYdkgS9LVxn8JgivrbNyS5dLgFYygWbQuSx1ok3ZtDcyqtncjYDZMUL+0iV4K3ce0M+2+7OVdphqDYzEs/EwHqoMwmSLgBhmLiGsoMd88J2CU1lKFLsHJLrPUQaWzr1Pmc1GUmkBv9vfL2fGogBVZFx5niTCewgAoco6HV8JIRT+08vvEsPxeVBZSUqzK+/AjECJxPGnyGDK5Zd29J7xzyAUdb/+R+tqp/MADD10uSyrzj6+x3T13071z0/078b+atMr9zCG4/DBw77ZcUHKtN3mkWeaecFsd5syh8t37R4rItN2d7jWi/sffV7WGTzGqVvCCvyA6JyBtyQI7ICWkRRgbkB/lFftf+eGvepvdsdrS2Mtdskkp5L/8C7A0hgQ==</latexit>
ɴא<latexit sha1_base64="84JVzhXCyxG3fMbPDp19rCkLOvg=">AAADZHicfVJdaxNBFJ0mftRYtbX4IIIslkKFNCTpgz4WbbCg1UpNW0hCmZ29SYfMxzJzNyYs+xN8E/1t/QP+Du8msXST4oWFyzlz7pw5e8NYSY/1+tVKqXzn7r37qw8qD9cePX6yvvH01NvECWgLq6w7D7kHJQ20UaKC89gB16GCs3D4PufPRuC8tOYbTmLoaT4wsi8FR4JOxhfNi/Wteq0+rWC5acybrf3ne8HVz446vtgofexGViQaDArFve806jH2Uu5QCgVZpZt4iLkY8gF0qDVcg++lU69ZsE1IFPSto89gMEUr2zckqSbcg3Mcs44HLUOrot7NoSnX3k90SMM0x0u/yOXgbVwnwf7bXipNnCAYMfPST1SANsizCSLpQKCaUMOFk/ScQFxyxwVSgoVbQmuHyENf5eRzUtWJQuns98Lb06mBGEQRHSdGChvBAqpwjI4Xw4tGMvbz+Maz/CgqD6i5NHl86SGoEZBPHnyGBK5Zujendw7kQKKvfqKfbaofHMDw9ZKkMO/oOvvdE4r+HUX/78T/Zt4qq3QPgPbDwRFpv8RArHVpt5Wl3XxaGKatLKvQ+jUWl225OW3WGnu15lfawxab1Sp7wV6xHdZgb9g+O2THrM0EG7Af7Bf7XfpTXitvlp/NjpZW5ppNVqjyy7/vCyGC</latexit>
!<latexit sha1_base64="eMAlq4stfNYgF9A1WRnTrdEJ6LU=">AAADZ3icfVJdaxNBFJ0mftT1o62CCL6shkKFNOzWB30s2mBBqxVNWsiGMjt7k4yZj2XmbkxY9j/4qv/Mn+C/cDaJpZsULyxczplz58zZG6eCWwyC3xu1+o2bt25v3vHu3rv/YGt752HX6sww6DAttDmPqQXBFXSQo4Dz1ACVsYCzePy25M8mYCzX6ivOUuhLOlR8wBlFB3UjHAHSi+1G0Arm5a834bJpkGWdXuzU3keJZpkEhUxQa3thkGI/pwY5E1B4UWYhpWxMh9BzraISbD+f2y38XYck/kAb9yn056i3e0WSS4dbMIZi0bMgeaxF0r86NKfS2pmM3TBJcWRXuRK8jutlOHjdz7lKMwTFFl4GmfBR+2U8fsINMBQz11BmuHuOz0bUUIYuxMotsdZjpLFtUudz1pSZQG7098rb87mBFFgVnWaKM53ACipwioZWw0smPLXL+KaL/FxUFlBSrsr48mMQE3A+qf8RMrhk3b0lvXfEhxxt84P736r5zgCMX6xJKvNOLrPf/+Kif+Oi/3fifzOvlXnREbj9MHDitJ9ScKw2edQu8qicFsd5uyg8t37h6rKtN92DVviydfA5aBy2l4u4SZ6S52SPhOQVOSTH5JR0CCPfyA/yk/yq/alv1R/XnyyO1jaWmkekUvVnfwGD+CAp</latexit>
!<latexit sha1_base64="eM4whDFMhcl8FpHZqS8ggZR30Nk=">AAADZnicfVJdaxNBFJ0mftSotVXEB18GS6FCTJP6oI9FGyxotUXTFrKhzMzepEPmY5m5GxOW/QeCr/rHBP+BP8PZJJZuUrywcDlnzp0zZy9PlPTYbP5eqVRv3Lx1e/VO7e69+2sP1jcennibOgEdYZV1Z5x5UNJAByUqOEscMM0VnPLh24I/HYHz0povOEmgp9nAyL4UDAPUiTggO1/fbDaa06LLTWvebO7RzvGvb3Ln6Hyj8j6KrUg1GBSKed9tNRPsZcyhFAryWpR6SJgYsgF0Q2uYBt/Lpm5zuhWQmPatC59BOkVrW1ckmQ64B+cY5l0PWnKr4t7VoRnT3k80D8M0wwu/yBXgdVw3xf7rXiZNkiIYMfPSTxVFS4t0aCwdCFST0DDhZHgOFRfMMYEhw9It3NohMu7rLPic1HWqUDr7tfT2bGogAVFGx6mRwsawgCoco2Pl8OKRTPw8vvEsvxCVB9RMmiK+7ADUCIJPRj9CCpdsuLegt/flQKKvfwi/29TfOYDh8yVJad7hZfYvPofo34To/53438xrZbVoH8J+ODgM2k8JBNa6LGrnWVRM4zxr53ktrF9rcdmWm5PdRutlY/c47GGbzGqVPCXPyDZpkVdkjxyQI9IhgkjynfwgPyt/qmvVx9Uns6OVlbnmESlVlf4FZSEipQ==</latexit>
ɵ = (ɴ! !)!(ɴ!א ")<latexit sha1_base64="3K5phW/+wjdiVFJoCRCL2yinxlM=">AAADkHicfVJNbxMxEHWzfJTwlZYjF4tSKZHSKBsO9IIo0IgKaCmCtJWyIXi9k8SKd72yZ0OiVX4Fv4Yr/AruXPgRCLxJqLpJxUiWxu/5jWeexo+lMFiv/1grOFeuXru+fqN489btO3dLG5snRiWaQ4srqfSZzwxIEUELBUo4izWw0Jdw6g9fZPzpCLQRKvqAkxg6IetHoic4Qwt1SzsT+oSW6bjrfvRQxdTDASCjlfmtPO42Frhv4Uq3tFWv1WdBVxN3kWztPfzz+9Ovo5/H3Y3Cay9QPAkhQi6ZMW23HmMnZRoFlzAteomBmPEh60PbphELwXTS2VxTum2RgPaUtidCOkOL2xckaWhxA1oznLYNhMJXMuhcLJqy0JhJ6NtiIcOBWeYy8DKunWBvt5OKKE4QIj7vpZdIiopmPtJAaOAoJzZhXAs7DuUDphlH63buF1+pITLfVJntc1INE4lCq8+52dNZAzHwPDpOIsFVAEuoxDFqljcvGInYLOwbz/2zVhnAkIkosy89ADkC2yejR5DAOWv/zejyvugLNNU3djGi6ksNMKysSHL1Ds+933lvrX9urf/34n81L5UVvX2w+6Hh0GrfxmBZpVOvOU29rJrvp83ptGjXz11ettXkpFFzH9Ua7+weNsk81sl98oCUiUsekz1yQI5Ji3DyhXwl38h3Z9PZdZ46z+ZPC2sLzT2SC+fVX+8XMiQ=</latexit>*
Laurent Charlin — 80-629
Towards CF with deep learning
26
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
(User 1, Item 1, 3) (User 1, Item 2, 0) (User 2 Item 2, 0) (User n, Item 1, 2)
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
{z}|(3 ,0 … 0 1 ,0 … 0 1)ɵ
<latexit sha1_base64="eytSmRVTQsOvlXTTtjFsn2ENd/A=">AAADdXicfZLbbhMxEIbdhEMJp7RcIqQVSVGRQtgNF3BZQSMqQaEI0lbKRpHtnaRWfFjZ3pDI2lfhFl6JJ+EWbxKqblIx0kqj//eMx98OSTkzNgx/b1WqN27eur19p3b33v0HD+s7u6dGZZpCjyqu9DnBBjiT0LPMcjhPNWBBOJyRybvCP5uCNkzJb3aewkDgsWQjRrH10rC+24wzmYAmGlNwUT6cN4f1RtgOFxFsJtEqaaBVnAx3Kh/iRNFMgLSUY2P6UZjagcPaMsohr8WZgRTTCR5D36cSCzADtxg+D/a8kgQjpf0nbbBQa3tXSpzwugGtsc37BgQjiieDq00dFsbMBfHNBLYXZt0rxOu8fmZHbwaOyTSzIOlyllHGA6uCAlaQMA3U8rlPMNXMPyegF9ijsh5p6Rai1MRiYlrYzzlviYxbptX30tvdYoAUaFmdZZJRlcCayu3MalyGl0xZalb4Zkt+HpUBKzCTBT53BHwKfk4cfIIMLl1/b2HvH7Ixs6b10f992XqvASbPN0pK/Y4v2b/46tG/9ej/nfhfz2vLavEh+P3QcOxrP6fgXaVd3M1dXHQjxHXzvObXL1pfts3ktNOOXrU7XzqNg+5qEbfRY/QU7aMIvUYH6AidoB6iaIZ+oJ/oV+VP9Um1WX22PFrZWtU8QqWovvwLDZklIg==</latexit>
| {z }ɴ
<latexit sha1_base64="ZOqxQI7sPyEbcoXSfVRl3yMMeFc=">AAADoHicjZJdaxNBFIanWT9q/Giql94sTQsVYkjihYIIRRsMaG2Lpi1mQ5iZPUmHzMcyMxsThv01/hpv9cp/42wSSzcp4iwLh/edc+ach0MSzoxtNH5vlIJbt+/c3bxXvv/g4aOtyvbjM6NSTaFLFVf6gmADnEnoWmY5XCQasCAczsn4Xe6fT0AbpuQXO0ugL/BIsiGj2HppUHmzG6UyBk00puCi1///ZYPp7qBSbdQb8xOuB81lUEXLczLYLn2IYkVTAdJSjo3pNRuJ7TusLaMcsnKUGkgwHeMR9HwosQDTd/M5s3DPK3E4VNr/0oZztbx3LcUJrxvQGtusZ0Awonjcv17UYWHMTBBfTGB7aVa9XLzJ66V2+KrvmExSC5IuehmmPLQqzLmGMdNALZ/5AFPN/DghvcSeqvX0C68QpcYWE1PDvs9ZTaTcMq2+FWZ38wYSoEV1mkpGVQwrKrdTq3ERXjxhiVnimy74eVQGrMBM5vhcB/gEfJ84/AQpXLn+3dzeP2QjZk3to18UWXuvAcbP1lIK9Y6u2D//7NG/9ej/3vhXzRvTytEh+P3QcORzjxPwrtIuamcuyqsR4tpZVvbr11xdtvXgrFVvvqi3TlvVg/ZyETfRU7SD9lETvUQHqINOUBdR9B39QD/Rr2An6ATHweniamljmfMEFU7w9Q/R5TKZ</latexit> | {z }ɴ
<latexit sha1_base64="nvO9pmCjsWFg+thOlpupZW+g2VQ=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYshGREGRog0taLWiaQvZJczOnqRD5mOZmY0Jw96DV+NfvQ3vxtkklm4SnGXh8L5zzpzzcOKUUW1arT8bFe/GzVubW7erd+7eu79d23lwpmWmCHSJZFJdxFgDowK6hhoGF6kCzGMG5/HofeGfj0FpKsU3M00h4ngo6IASbJzUrz3dDTORgIoVJmDD1+u+vG8nQb7br9Vbzdbs+KtBsAjqaHFO+zuVD2EiScZBGMKw1r2glZrIYmUoYZBXw0xDiskID6HnQoE56MjOhsr9Pack/kAq9wvjz9Tq3rUUy52uQSls8p4GTmPJkuh6UYu51lMeu2Icm0u97BXiOq+XmcGryFKRZgYEmfcyyJhvpF9A9BOqgBg2dQEmirpxfHKJHULjUJdeiaUcGRzrBnZ9Ths8Y4Yq+b00u501kAIpq5NMUCITWFKZmRiFy/CSMU31At9kzs+h0mA4pqLAZ4+BjcH1if1PkMGV694t7P1DOqRGNz66rRCNIwUwerKSUqp3csX+2VeH/p1D/+/G/2quTauGh+D2Q8GJy/2cgnOlsmEnt2FRLY5tJ8+rbv2C5WVbDc7azeB5s/2lXT/oLBZxCz1Cj9E+CtBLdICO0SnqIoJ+oJ/oF/rtbXsvvDfe2/nVysYi5yEqHe/oL8hKLIc=</latexit>
| {z }ɴא<latexit sha1_base64="2QOxxUqThtSwyPHKCNdvHc8ZGrI=">AAADjXicfZLtahNBFIanWbU1fjTVn/5ZTAtVYkgioqBI0YYWtFrRtIVsCDOzJ+mQ+VhmZmPCsPfg1fhXb8O7cTaJpZsEZ1k4vO+cM+c8HJJwZmyj8WejFNy4eWtz63b5zt1797crOw/OjEo1hQ5VXOkLgg1wJqFjmeVwkWjAgnA4J6P3uX8+Bm2Ykt/sNIGewEPJBoxi66V+5elulMoYNNGYgoter/uyvpu0st1+pdqoN2YnXA2ai6CKFue0v1P6EMWKpgKkpRwb0202EttzWFtGOWTlKDWQYDrCQ+j6UGIBpudmQ2XhnlficKC0/6UNZ2p571qKE143oDW2WdeAYETxuHe9qMPCmKkgvpjA9tIse7m4zuumdvCq55hMUguSznsZpDy0KswhhjHTQC2f+gBTzfw4Ib3EHqH1qAuvEKVGFhNTw77PaU2k3DKtvhdmd7MGEqBFdZJKRlUMSyq3E6txEV48ZolZ4JvM+XlUBqzATOb43DHwMfg+cfgJUrhy/bu5vX/Ihsya2ke/FbJ2pAFGT1ZSCvVOrtg/++rRv/Po/934X821aeXoEPx+aDjxuZ8T8K7SLmpnLsqrEeLaWVb269dcXrbV4KxVbz6vt760qgftxSJuoUfoMdpHTfQSHaBjdIo6iKIf6Cf6hX4H28GL4E3wdn61tLHIeYgKJzj6C8tKLIg=</latexit>
ɵ = (ɴ! !)!(ɴ!א ")<latexit sha1_base64="3K5phW/+wjdiVFJoCRCL2yinxlM=">AAADkHicfVJNbxMxEHWzfJTwlZYjF4tSKZHSKBsO9IIo0IgKaCmCtJWyIXi9k8SKd72yZ0OiVX4Fv4Yr/AruXPgRCLxJqLpJxUiWxu/5jWeexo+lMFiv/1grOFeuXru+fqN489btO3dLG5snRiWaQ4srqfSZzwxIEUELBUo4izWw0Jdw6g9fZPzpCLQRKvqAkxg6IetHoic4Qwt1SzsT+oSW6bjrfvRQxdTDASCjlfmtPO42Frhv4Uq3tFWv1WdBVxN3kWztPfzz+9Ovo5/H3Y3Cay9QPAkhQi6ZMW23HmMnZRoFlzAteomBmPEh60PbphELwXTS2VxTum2RgPaUtidCOkOL2xckaWhxA1oznLYNhMJXMuhcLJqy0JhJ6NtiIcOBWeYy8DKunWBvt5OKKE4QIj7vpZdIiopmPtJAaOAoJzZhXAs7DuUDphlH63buF1+pITLfVJntc1INE4lCq8+52dNZAzHwPDpOIsFVAEuoxDFqljcvGInYLOwbz/2zVhnAkIkosy89ADkC2yejR5DAOWv/zejyvugLNNU3djGi6ksNMKysSHL1Ds+933lvrX9urf/34n81L5UVvX2w+6Hh0GrfxmBZpVOvOU29rJrvp83ptGjXz11ettXkpFFzH9Ua7+weNsk81sl98oCUiUsekz1yQI5Ji3DyhXwl38h3Z9PZdZ46z+ZPC2sLzT2SC+fVX+8XMiQ=</latexit>
ɴ<latexit sha1_base64="MG0VZ2Oe4CpNUikbkd9HjXMr+EY=">AAADZHicfVJdaxNBFJ1m/ahr1dbigwiyWAoV0rDbPuhj0QYLWq3UtIUkhNnZm3TIfCwzd2PCsj/BN9Hf1j/g73A2iaWbFC8sXM6Zc+fM2RunglsMw6uVmnfn7r37qw/8h2uPHj9Z33h6ZnVmGLSYFtpcxNSC4ApayFHARWqAyljAeTx8X/LnIzCWa/UNJyl0JR0o3ueMooNOx72ot74VNsJpBctNNG+2Dp7vB1c/2+Kkt1H72Ek0yyQoZIJa247CFLs5NciZgMLvZBZSyoZ0AG3XKirBdvOp1yLYdkgS9LVxn8JgivrbNyS5dLgFYygWbQuSx1ok3ZtDcyqtncjYDZMUL+0iV4K3ce0M+2+7OVdphqDYzEs/EwHqoMwmSLgBhmLiGsoMd88J2CU1lKFLsHJLrPUQaWzr1Pmc1GUmkBv9vfL2fGogBVZFx5niTCewgAoco6HV8JIRT+08vvEsPxeVBZSUqzK+/AjECJxPGnyGDK5Zd29J7xzyAUdb/+R+tqp/MADD10uSyrzj6+x3T13071z0/078b+atMr9zCG4/DBw77ZcUHKtN3mkWeaecFsd5syh8t37R4rItN2d7jWi/sffV7WGTzGqVvCCvyA6JyBtyQI7ICWkRRgbkB/lFftf+eGvepvdsdrS2Mtdskkp5L/8C7A0hgQ==</latexit>
ɴא<latexit sha1_base64="84JVzhXCyxG3fMbPDp19rCkLOvg=">AAADZHicfVJdaxNBFJ0mftRYtbX4IIIslkKFNCTpgz4WbbCg1UpNW0hCmZ29SYfMxzJzNyYs+xN8E/1t/QP+Du8msXST4oWFyzlz7pw5e8NYSY/1+tVKqXzn7r37qw8qD9cePX6yvvH01NvECWgLq6w7D7kHJQ20UaKC89gB16GCs3D4PufPRuC8tOYbTmLoaT4wsi8FR4JOxhfNi/Wteq0+rWC5acybrf3ne8HVz446vtgofexGViQaDArFve806jH2Uu5QCgVZpZt4iLkY8gF0qDVcg++lU69ZsE1IFPSto89gMEUr2zckqSbcg3Mcs44HLUOrot7NoSnX3k90SMM0x0u/yOXgbVwnwf7bXipNnCAYMfPST1SANsizCSLpQKCaUMOFk/ScQFxyxwVSgoVbQmuHyENf5eRzUtWJQuns98Lb06mBGEQRHSdGChvBAqpwjI4Xw4tGMvbz+Maz/CgqD6i5NHl86SGoEZBPHnyGBK5Zujendw7kQKKvfqKfbaofHMDw9ZKkMO/oOvvdE4r+HUX/78T/Zt4qq3QPgPbDwRFpv8RArHVpt5Wl3XxaGKatLKvQ+jUWl225OW3WGnu15lfawxab1Sp7wV6xHdZgb9g+O2THrM0EG7Af7Bf7XfpTXitvlp/NjpZW5ppNVqjyy7/vCyGC</latexit>
!<latexit sha1_base64="eMAlq4stfNYgF9A1WRnTrdEJ6LU=">AAADZ3icfVJdaxNBFJ0mftT1o62CCL6shkKFNOzWB30s2mBBqxVNWsiGMjt7k4yZj2XmbkxY9j/4qv/Mn+C/cDaJpZsULyxczplz58zZG6eCWwyC3xu1+o2bt25v3vHu3rv/YGt752HX6sww6DAttDmPqQXBFXSQo4Dz1ACVsYCzePy25M8mYCzX6ivOUuhLOlR8wBlFB3UjHAHSi+1G0Arm5a834bJpkGWdXuzU3keJZpkEhUxQa3thkGI/pwY5E1B4UWYhpWxMh9BzraISbD+f2y38XYck/kAb9yn056i3e0WSS4dbMIZi0bMgeaxF0r86NKfS2pmM3TBJcWRXuRK8jutlOHjdz7lKMwTFFl4GmfBR+2U8fsINMBQz11BmuHuOz0bUUIYuxMotsdZjpLFtUudz1pSZQG7098rb87mBFFgVnWaKM53ACipwioZWw0smPLXL+KaL/FxUFlBSrsr48mMQE3A+qf8RMrhk3b0lvXfEhxxt84P736r5zgCMX6xJKvNOLrPf/+Kif+Oi/3fifzOvlXnREbj9MHDitJ9ScKw2edQu8qicFsd5uyg8t37h6rKtN92DVviydfA5aBy2l4u4SZ6S52SPhOQVOSTH5JR0CCPfyA/yk/yq/alv1R/XnyyO1jaWmkekUvVnfwGD+CAp</latexit>
!<latexit sha1_base64="eM4whDFMhcl8FpHZqS8ggZR30Nk=">AAADZnicfVJdaxNBFJ0mftSotVXEB18GS6FCTJP6oI9FGyxotUXTFrKhzMzepEPmY5m5GxOW/QeCr/rHBP+BP8PZJJZuUrywcDlnzp0zZy9PlPTYbP5eqVRv3Lx1e/VO7e69+2sP1jcennibOgEdYZV1Z5x5UNJAByUqOEscMM0VnPLh24I/HYHz0povOEmgp9nAyL4UDAPUiTggO1/fbDaa06LLTWvebO7RzvGvb3Ln6Hyj8j6KrUg1GBSKed9tNRPsZcyhFAryWpR6SJgYsgF0Q2uYBt/Lpm5zuhWQmPatC59BOkVrW1ckmQ64B+cY5l0PWnKr4t7VoRnT3k80D8M0wwu/yBXgdVw3xf7rXiZNkiIYMfPSTxVFS4t0aCwdCFST0DDhZHgOFRfMMYEhw9It3NohMu7rLPic1HWqUDr7tfT2bGogAVFGx6mRwsawgCoco2Pl8OKRTPw8vvEsvxCVB9RMmiK+7ADUCIJPRj9CCpdsuLegt/flQKKvfwi/29TfOYDh8yVJad7hZfYvPofo34To/53438xrZbVoH8J+ODgM2k8JBNa6LGrnWVRM4zxr53ktrF9rcdmWm5PdRutlY/c47GGbzGqVPCXPyDZpkVdkjxyQI9IhgkjynfwgPyt/qmvVx9Uns6OVlbnmESlVlf4FZSEipQ==</latexit>
ɵ = (ɴ! !)!(ɴ!א ")<latexit sha1_base64="3K5phW/+wjdiVFJoCRCL2yinxlM=">AAADkHicfVJNbxMxEHWzfJTwlZYjF4tSKZHSKBsO9IIo0IgKaCmCtJWyIXi9k8SKd72yZ0OiVX4Fv4Yr/AruXPgRCLxJqLpJxUiWxu/5jWeexo+lMFiv/1grOFeuXru+fqN489btO3dLG5snRiWaQ4srqfSZzwxIEUELBUo4izWw0Jdw6g9fZPzpCLQRKvqAkxg6IetHoic4Qwt1SzsT+oSW6bjrfvRQxdTDASCjlfmtPO42Frhv4Uq3tFWv1WdBVxN3kWztPfzz+9Ovo5/H3Y3Cay9QPAkhQi6ZMW23HmMnZRoFlzAteomBmPEh60PbphELwXTS2VxTum2RgPaUtidCOkOL2xckaWhxA1oznLYNhMJXMuhcLJqy0JhJ6NtiIcOBWeYy8DKunWBvt5OKKE4QIj7vpZdIiopmPtJAaOAoJzZhXAs7DuUDphlH63buF1+pITLfVJntc1INE4lCq8+52dNZAzHwPDpOIsFVAEuoxDFqljcvGInYLOwbz/2zVhnAkIkosy89ADkC2yejR5DAOWv/zejyvugLNNU3djGi6ksNMKysSHL1Ds+933lvrX9urf/34n81L5UVvX2w+6Hh0GrfxmBZpVOvOU29rJrvp83ptGjXz11ettXkpFFzH9Ua7+weNsk81sl98oCUiUsekz1yQI5Ji3DyhXwl38h3Z9PZdZ46z+ZPC2sLzT2SC+fVX+8XMiQ=</latexit>
Embedding Layer
*
Laurent Charlin — 80-629
A version of Deep Matrix Factorization
• Can do more complicated user and item combinations (beyond dot product)
27
ɴ<latexit sha1_base64="MG0VZ2Oe4CpNUikbkd9HjXMr+EY=">AAADZHicfVJdaxNBFJ1m/ahr1dbigwiyWAoV0rDbPuhj0QYLWq3UtIUkhNnZm3TIfCwzd2PCsj/BN9Hf1j/g73A2iaWbFC8sXM6Zc+fM2RunglsMw6uVmnfn7r37qw/8h2uPHj9Z33h6ZnVmGLSYFtpcxNSC4ApayFHARWqAyljAeTx8X/LnIzCWa/UNJyl0JR0o3ueMooNOx72ot74VNsJpBctNNG+2Dp7vB1c/2+Kkt1H72Ek0yyQoZIJa247CFLs5NciZgMLvZBZSyoZ0AG3XKirBdvOp1yLYdkgS9LVxn8JgivrbNyS5dLgFYygWbQuSx1ok3ZtDcyqtncjYDZMUL+0iV4K3ce0M+2+7OVdphqDYzEs/EwHqoMwmSLgBhmLiGsoMd88J2CU1lKFLsHJLrPUQaWzr1Pmc1GUmkBv9vfL2fGogBVZFx5niTCewgAoco6HV8JIRT+08vvEsPxeVBZSUqzK+/AjECJxPGnyGDK5Zd29J7xzyAUdb/+R+tqp/MADD10uSyrzj6+x3T13071z0/078b+atMr9zCG4/DBw77ZcUHKtN3mkWeaecFsd5syh8t37R4rItN2d7jWi/sffV7WGTzGqVvCCvyA6JyBtyQI7ICWkRRgbkB/lFftf+eGvepvdsdrS2Mtdskkp5L/8C7A0hgQ==</latexit>
ɴא<latexit sha1_base64="84JVzhXCyxG3fMbPDp19rCkLOvg=">AAADZHicfVJdaxNBFJ0mftRYtbX4IIIslkKFNCTpgz4WbbCg1UpNW0hCmZ29SYfMxzJzNyYs+xN8E/1t/QP+Du8msXST4oWFyzlz7pw5e8NYSY/1+tVKqXzn7r37qw8qD9cePX6yvvH01NvECWgLq6w7D7kHJQ20UaKC89gB16GCs3D4PufPRuC8tOYbTmLoaT4wsi8FR4JOxhfNi/Wteq0+rWC5acybrf3ne8HVz446vtgofexGViQaDArFve806jH2Uu5QCgVZpZt4iLkY8gF0qDVcg++lU69ZsE1IFPSto89gMEUr2zckqSbcg3Mcs44HLUOrot7NoSnX3k90SMM0x0u/yOXgbVwnwf7bXipNnCAYMfPST1SANsizCSLpQKCaUMOFk/ScQFxyxwVSgoVbQmuHyENf5eRzUtWJQuns98Lb06mBGEQRHSdGChvBAqpwjI4Xw4tGMvbz+Maz/CgqD6i5NHl86SGoEZBPHnyGBK5Zujendw7kQKKvfqKfbaofHMDw9ZKkMO/oOvvdE4r+HUX/78T/Zt4qq3QPgPbDwRFpv8RArHVpt5Wl3XxaGKatLKvQ+jUWl225OW3WGnu15lfawxab1Sp7wV6xHdZgb9g+O2THrM0EG7Af7Bf7XfpTXitvlp/NjpZW5ppNVqjyy7/vCyGC</latexit>
!<latexit sha1_base64="eMAlq4stfNYgF9A1WRnTrdEJ6LU=">AAADZ3icfVJdaxNBFJ0mftT1o62CCL6shkKFNOzWB30s2mBBqxVNWsiGMjt7k4yZj2XmbkxY9j/4qv/Mn+C/cDaJpZsULyxczplz58zZG6eCWwyC3xu1+o2bt25v3vHu3rv/YGt752HX6sww6DAttDmPqQXBFXSQo4Dz1ACVsYCzePy25M8mYCzX6ivOUuhLOlR8wBlFB3UjHAHSi+1G0Arm5a834bJpkGWdXuzU3keJZpkEhUxQa3thkGI/pwY5E1B4UWYhpWxMh9BzraISbD+f2y38XYck/kAb9yn056i3e0WSS4dbMIZi0bMgeaxF0r86NKfS2pmM3TBJcWRXuRK8jutlOHjdz7lKMwTFFl4GmfBR+2U8fsINMBQz11BmuHuOz0bUUIYuxMotsdZjpLFtUudz1pSZQG7098rb87mBFFgVnWaKM53ACipwioZWw0smPLXL+KaL/FxUFlBSrsr48mMQE3A+qf8RMrhk3b0lvXfEhxxt84P736r5zgCMX6xJKvNOLrPf/+Kif+Oi/3fifzOvlXnREbj9MHDitJ9ScKw2edQu8qicFsd5uyg8t37h6rKtN92DVviydfA5aBy2l4u4SZ6S52SPhOQVOSTH5JR0CCPfyA/yk/yq/alv1R/XnyyO1jaWmkekUvVnfwGD+CAp</latexit>
!<latexit sha1_base64="eM4whDFMhcl8FpHZqS8ggZR30Nk=">AAADZnicfVJdaxNBFJ0mftSotVXEB18GS6FCTJP6oI9FGyxotUXTFrKhzMzepEPmY5m5GxOW/QeCr/rHBP+BP8PZJJZuUrywcDlnzp0zZy9PlPTYbP5eqVRv3Lx1e/VO7e69+2sP1jcennibOgEdYZV1Z5x5UNJAByUqOEscMM0VnPLh24I/HYHz0povOEmgp9nAyL4UDAPUiTggO1/fbDaa06LLTWvebO7RzvGvb3Ln6Hyj8j6KrUg1GBSKed9tNRPsZcyhFAryWpR6SJgYsgF0Q2uYBt/Lpm5zuhWQmPatC59BOkVrW1ckmQ64B+cY5l0PWnKr4t7VoRnT3k80D8M0wwu/yBXgdVw3xf7rXiZNkiIYMfPSTxVFS4t0aCwdCFST0DDhZHgOFRfMMYEhw9It3NohMu7rLPic1HWqUDr7tfT2bGogAVFGx6mRwsawgCoco2Pl8OKRTPw8vvEsvxCVB9RMmiK+7ADUCIJPRj9CCpdsuLegt/flQKKvfwi/29TfOYDh8yVJad7hZfYvPofo34To/53438xrZbVoH8J+ODgM2k8JBNa6LGrnWVRM4zxr53ktrF9rcdmWm5PdRutlY/c47GGbzGqVPCXPyDZpkVdkjxyQI9IhgkjynfwgPyt/qmvVx9Uns6OVlbnmESlVlf4FZSEipQ==</latexit>
ɵ = (ɴ! !)!(ɴ!א ")<latexit sha1_base64="3K5phW/+wjdiVFJoCRCL2yinxlM=">AAADkHicfVJNbxMxEHWzfJTwlZYjF4tSKZHSKBsO9IIo0IgKaCmCtJWyIXi9k8SKd72yZ0OiVX4Fv4Yr/AruXPgRCLxJqLpJxUiWxu/5jWeexo+lMFiv/1grOFeuXru+fqN489btO3dLG5snRiWaQ4srqfSZzwxIEUELBUo4izWw0Jdw6g9fZPzpCLQRKvqAkxg6IetHoic4Qwt1SzsT+oSW6bjrfvRQxdTDASCjlfmtPO42Frhv4Uq3tFWv1WdBVxN3kWztPfzz+9Ovo5/H3Y3Cay9QPAkhQi6ZMW23HmMnZRoFlzAteomBmPEh60PbphELwXTS2VxTum2RgPaUtidCOkOL2xckaWhxA1oznLYNhMJXMuhcLJqy0JhJ6NtiIcOBWeYy8DKunWBvt5OKKE4QIj7vpZdIiopmPtJAaOAoJzZhXAs7DuUDphlH63buF1+pITLfVJntc1INE4lCq8+52dNZAzHwPDpOIsFVAEuoxDFqljcvGInYLOwbz/2zVhnAkIkosy89ADkC2yejR5DAOWv/zejyvugLNNU3djGi6ksNMKysSHL1Ds+933lvrX9urf/34n81L5UVvX2w+6Hh0GrfxmBZpVOvOU29rJrvp83ptGjXz11ettXkpFFzH9Ua7+weNsk81sl98oCUiUsekz1yQI5Ji3DyhXwl38h3Z9PZdZ46z+ZPC2sLzT2SC+fVX+8XMiQ=</latexit>
…
…
[Xue et al.’17]
Laurent Charlin — 80-629
Autoencoders• Popular neural-network model often used in
unsupervised learning (e.g., dim reduction)
28
dim(h) <
Laurent Charlin — 80-629
Autoencoders• Popular neural-network model often used in
unsupervised learning (e.g., dim reduction)
• Non-linear PCA
28
dim(h) <
Laurent Charlin — 80-629
Autoencoders• Popular neural-network model often used in
unsupervised learning (e.g., dim reduction)
• Non-linear PCA
• Intuition: let’s learn to copy the data
28
dim(h) <
ɴ! = ǔ(ɴ)<latexit sha1_base64="ZS8Gvufk79zF7aiG0nJXCjEZCBE=">AAADanicfVJdaxNBFJ0mftT41dYn6ctgLKYQw0Yf9EUotsVCrVY0bSVZyuzsTTpkPpaZuzFh2V/hq/4w/4M/orNJLN2keGHhcs7cO2fOniiRwmEQ/FmpVG/dvnN39V7t/oOHjx6vrW+cOJNaDh1upLFnEXMghYYOCpRwllhgKpJwGg13C/50BNYJo7/hJIFQsYEWfcEZeuj7+AV9R/uN8fb5Wj1oBdOiy0173tR36mRax+frlcNebHiqQCOXzLluO0gwzJhFwSXktV7qIGF8yAbQ9a1mClyYTRXndMsjMe0b6z+NdIrWtq6NZMrjDqxlmHcdKBEZGYfXl2ZMOTdRkV+mGF64Ra4Ab+K6KfbfhpnQSYqg+UxLP5UUDS0corGwwFFOfMO4Ff45lF8wyzh6H0u3RMYMkUWuybzOSVOlEoU1P0pvz6YCEuBldJxqwU0MC6jEMVpWNi8eicTN7RvP/PNWOUDFhC7syw5AjsDrZPQTpHDF+nsLurEnBgJd86P/5br5wQIMt5dGSvuOrrx/+dVb/95b/+/E/3beOFbr7YHPh4UjP/s5Ac8am/X286xXbIuibD/Paz5+7cWwLTcnr1rt163gi8/h7iyHZJVskmekQdrkDdkhB+SYdAgnivwkv8jvyt/qRvVpdXN2tLIyn3lCSlV9fgmdHiB/</latexit>
Laurent Charlin — 80-629
Autoencoders• Popular neural-network model often used in
unsupervised learning (e.g., dim reduction)
• Non-linear PCA
• Intuition: let’s learn to copy the data
• We force a “bottleneck”
28
dim(h) <
ɴ! = ǔ(ɴ)<latexit sha1_base64="ZS8Gvufk79zF7aiG0nJXCjEZCBE=">AAADanicfVJdaxNBFJ0mftT41dYn6ctgLKYQw0Yf9EUotsVCrVY0bSVZyuzsTTpkPpaZuzFh2V/hq/4w/4M/orNJLN2keGHhcs7cO2fOniiRwmEQ/FmpVG/dvnN39V7t/oOHjx6vrW+cOJNaDh1upLFnEXMghYYOCpRwllhgKpJwGg13C/50BNYJo7/hJIFQsYEWfcEZeuj7+AV9R/uN8fb5Wj1oBdOiy0173tR36mRax+frlcNebHiqQCOXzLluO0gwzJhFwSXktV7qIGF8yAbQ9a1mClyYTRXndMsjMe0b6z+NdIrWtq6NZMrjDqxlmHcdKBEZGYfXl2ZMOTdRkV+mGF64Ra4Ab+K6KfbfhpnQSYqg+UxLP5UUDS0corGwwFFOfMO4Ff45lF8wyzh6H0u3RMYMkUWuybzOSVOlEoU1P0pvz6YCEuBldJxqwU0MC6jEMVpWNi8eicTN7RvP/PNWOUDFhC7syw5AjsDrZPQTpHDF+nsLurEnBgJd86P/5br5wQIMt5dGSvuOrrx/+dVb/95b/+/E/3beOFbr7YHPh4UjP/s5Ac8am/X286xXbIuibD/Paz5+7cWwLTcnr1rt163gi8/h7iyHZJVskmekQdrkDdkhB+SYdAgnivwkv8jvyt/qRvVpdXN2tLIyn3lCSlV9fgmdHiB/</latexit>
ɿ = ǔ(ɴ)ɴ0 = ǔא(ɿ)
Ƴǣȅ(ɿ) < Ƴǣȅ(ɴ)<latexit sha1_base64="yyJR84g2TC5iv2yarr00Uem03bE=">AAADsHicfVJdb9MwFPUaPkb46uCRF4tqo0WlSssDPIA0sU1MgsIQdKvUVJXj3Hamjh3ZTkkX5Vfxa/YKfwSn7aalm7AU6egcn+t7T24Qc6aN551vVJxbt+/c3bzn3n/w8NHj6taTYy0TRaFHJZeqHxANnAnoGWY49GMFJAo4nATTvUI/mYHSTIofZh7DMCITwcaMEmOpUbXrBzBhIiOcTcTL3D3DO+/xeNSupw3s+9hNXyyJTv1sSYQsKuDOO1ygtOH6IMIL+6ha81re4uDroL0CNbQ6R6Otyic/lDSJQBjKidaDthebYUaUYZRD7vqJhpjQKZnAwEJBItDDbDF3jrctE+KxVPYTBi9Yd/uKJYssr0EpYvKBhogFkofDq0UzEmk9jwJbLCLmVK9rBXmTNkjM+O0wYyJODAi67GWccGwkLnK26Sighs8tIFQxOw6mp0QRauzfKL0SSDk1JNBNYvucN6OEG6bkr9Ls2aKBGGiZTRPBqAxhjeUmNYqUwwtnLNar+NJlfjYqDSYiTBTxZYfAZ2D7JPgLJHCp2ncLub7PJszo5me7OKL5UQFMG9cspXrdy+xffbfRf7DRX9z4X80bba6/D3Y/FHSt92sMVpUq8w/yzC+qBUF2kOeuXb/2+rJdB8edVvt1y/vWqe3urRZxEz1Dz1EdtdEbtIsO0RHqIYp+o3P0B/11Ok7fGTlkebWysfI8RaXj/PwHexg2nQ==</latexit>
Laurent Charlin — 80-629
Autoencoders
29
ɿ = ǔ(ɴ)ɴ0 = ǔא(ɿ)
Ƴǣȅ(ɿ) < Ƴǣȅ(ɴ)<latexit sha1_base64="yyJR84g2TC5iv2yarr00Uem03bE=">AAADsHicfVJdb9MwFPUaPkb46uCRF4tqo0WlSssDPIA0sU1MgsIQdKvUVJXj3Hamjh3ZTkkX5Vfxa/YKfwSn7aalm7AU6egcn+t7T24Qc6aN551vVJxbt+/c3bzn3n/w8NHj6taTYy0TRaFHJZeqHxANnAnoGWY49GMFJAo4nATTvUI/mYHSTIofZh7DMCITwcaMEmOpUbXrBzBhIiOcTcTL3D3DO+/xeNSupw3s+9hNXyyJTv1sSYQsKuDOO1ygtOH6IMIL+6ha81re4uDroL0CNbQ6R6Otyic/lDSJQBjKidaDthebYUaUYZRD7vqJhpjQKZnAwEJBItDDbDF3jrctE+KxVPYTBi9Yd/uKJYssr0EpYvKBhogFkofDq0UzEmk9jwJbLCLmVK9rBXmTNkjM+O0wYyJODAi67GWccGwkLnK26Sighs8tIFQxOw6mp0QRauzfKL0SSDk1JNBNYvucN6OEG6bkr9Ls2aKBGGiZTRPBqAxhjeUmNYqUwwtnLNar+NJlfjYqDSYiTBTxZYfAZ2D7JPgLJHCp2ncLub7PJszo5me7OKL5UQFMG9cspXrdy+xffbfRf7DRX9z4X80bba6/D3Y/FHSt92sMVpUq8w/yzC+qBUF2kOeuXb/2+rJdB8edVvt1y/vWqe3urRZxEz1Dz1EdtdEbtIsO0RHqIYp+o3P0B/11Ok7fGTlkebWysfI8RaXj/PwHexg2nQ==</latexit>
[From wikipedia]
Laurent Charlin — 80-629
Autoencoders for CF• X: Either a row or a column of the
ratings matrix
• Missing entries:
• Set to 0 in the input
• Not considered in the output
• Many versions using denoising-autoencoders (DAEs), VAEs, different likelihoods (etc.)
30
[From wikipedia]
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
ZXJWX!NYJRX
ɴ<latexit sha1_base64="asaNeWQvVpiBUnmKjRWD0NemgLA=">AAADYnicfVLLbtNAFJ3GPIp5tKFLWFhElYoUIrssYFlBIypBoRWkrZRE1Xh8k44yD2vmOiSy/AVs4ePY8yGME1PVScWVLF2dM+fOmeMbp4JbDMPfGw3vzt179zcf+A8fPX6ytd18emZ1Zhj0mBbaXMTUguAKeshRwEVqgMpYwHk8eV/y51Mwlmv1DecpDCUdKz7ijKKDTmeX262wEy4qWG+iqmmRqk4um42Pg0SzTIJCJqi1/ShMcZhTg5wJKPxBZiGlbELH0HetohLsMF84LYJdhyTBSBv3KQwWqL97Q5JLh1swhmLRtyB5rEUyvDk0p9LauYzdMEnxyq5yJXgb189w9HaYc5VmCIotvYwyEaAOymSChBtgKOauocxw95yAXVFDGbr8arfEWk+QxrZNnc95W2YCudHfa2/PFwZSYHV0linOdAIrqMAZGloPL5ny1FbxzZb5uagsoKRclfHlRyCm4HzS4DNkcM26e0t675CPOdr2J/erVfuDAZi8XJPU5h1fZ//qq4v+nYv+34n/zbxV5g8Owe2HgWOn/ZKCY7XJB90iH5TT4jjvFoXv1i9aXbb15my/E73u7J+GrYNutYib5Bl5QfZIRN6QA3JETkiPMALkB/lJfjX+eL7X9HaWRxsblWaH1Mp7/hfThx39</latexit>
Laurent Charlin — 80-629
MF vs. AE for CF
• AE are more “naturally” non-linear
• AE are asymmetric
• must choose whether to model users or items
• Versions of AEs are close to the state-of-the-art today
31
Laurent Charlin — 80-629
How to choose the right model?
• Search for papers that compare different models
• Keep a healthy does of scepticism
• I.e., results in papers is not necessarily ground truth
• Try it out on your data
• Compare performance on held-out data
• Can it handle: your data size, service speed, updating schedule, other desiderata (fairness, uncertainty estimates) …
32
Laurent Charlin — 80-629
Are deep models better? • 2014: No
• 2018: Yes
• 2019: Maybe not … *
• “Embarrassingly Shallow Autoencoders for Sparse Data”, Steck’19
• “On the Difficulty of Evaluating Baselines: A Study on Recommender Systems”, Rendle et al.’19:
• “With a careful setup of a vanilla matrix factorization baseline, we are not only able to improve upon the reported results for this baseline but even outperform the reported results of any newly proposed method.”
(* This is not considering possibly available covariates)
33
Laurent Charlin — 80-629
Explicit vs. Implicit data
34
Laurent Charlin — 80-629
Explicit vs. Implicit data• Up to now we assumed ratings
• Ratings are explicit data:
• “Users explicitly provide their preferences”
• A high rating means the user liked the item
• A low rating means the user disliked the item
34
Laurent Charlin — 80-629
Explicit vs. Implicit data• Up to now we assumed ratings
• Ratings are explicit data:
• “Users explicitly provide their preferences”
• A high rating means the user liked the item
• A low rating means the user disliked the item
• In practice implicit data is much more common:
• click, buy, watch, listen
34
Laurent Charlin — 80-629
Challenge with Implicit Data
• Consuming an item usually implies a positive preference
• Not Consuming an item may either indicate:
A. A negative preference
B. Something else: e.g., lack of exposure or time
35
Laurent Charlin — 80-629
Challenge with Implicit Data
• The preference matrix is “full” (as opposed to sparse)
• ‘1’ indicates a consumed item
• ‘0’ indicates an unconsumed item
• You must take both 0s and 1s into account
• In practice many models can be adapted to implicit case
36
2
664
3
775
<latexit sha1_base64="5bvgG+wh+daq1c6Vqy57a5Jj5/A=">AAAD6nicfVLLbhMxFHUyPMrwSukSkCzSoiKFKBMWsKygEZWgUARpK2WiyPbcpFY89sj2hESjWbNnh9jyU3wE/4AnCVEnqbBk6eocn/s4vjQR3NhW63el6l27fuPm1i3/9p279+7Xth+cGpVqBl2mhNLnlBgQXELXcivgPNFAYirgjI7fFPzZBLThSn6xswT6MRlJPuSMWAcNat92QwojLjMaE6v5NPcD/BS3Nm4YYr+I1tlgxWyy65qgpAlBRququ4NavdVszQ/eDIJlUEfLczLYrr4LI8XSGKRlghjTC1qJ7WdEW84E5H6YGkgIG5MR9FwoSQymn80dy/GeQyI8VNpdafEc9fcuSbLY4Qa0JjbvGYg5VSLqX06akdiYWUxdMjfEhVnnCvAqrpfa4at+xmWSWpBs0cswFdgqXPwQjrgGZsXMBYRp7sbB7IJowqz7x1IVqtTYEmoaxPU5a8SpsFyrr6XZs3kDCbAyOk0lZyqCNVTYqdWkbF404YlZ2jdd+OesMmBjwmVhX3YEYgKuT4I/QAor1tUt6P1DPuLWNN67lZONtxpg/GxDUsp3vPL++Wdn/Wtn/b8X/8t5pcwPD8Hth4Zjp/2YgGOVzsJOnoVFNkqzTp77bv2C9WXbDE7bzeBFs/2pXT/oLBdxCz1ET9A+CtBLdICO0AnqIob+VHYqjyqPPeF99354PxdPq5WlZgeVjvfrLypIO6M=</latexit>
Laurent Charlin — 80-629
Common strategy for implicit data
• Model the 0s as being “less certain” than the 1s
• Weighted Matrix Factorization [Hu et al. ’08]
• Learn the weight of each zero
• Exposure Matrix Factorization [Liang et al.’15]
37
�ƫǴƺƬɎǣɮƺ xIي
|ɖɀƺȸɀ|X
ɖ
X
ǣ
(³ɖǣ � ³ɖǣ)א
�ƫǴƺƬɎǣɮƺ áxIي
|ɖɀƺȸɀ|X
ɖ
X
ǣ
Ƭɖǣ(³ɖǣ)(³ɖǣ � ³ɖǣ)א
Ƭɖǣ() < Ƭɖǣ()<latexit sha1_base64="VUwdq+j6fYIgJvLWnzLV5HnO5A0=">AAAEgniclVNdb9MwFE1GgBE+tsEjErKoNrWom5oNCQR7mMYGk2BsaOxDqkvluLebqRNHtlNaeX7k1/AKP4Z/g9t0U9tNCBwlujrH99zr45s440zpWu23P3MjuHnr9uyd8O69+w/m5hceHimRSwqHVHAhT2KigLMUDjXTHE4yCSSJORzHnTcD/rgLUjGRftb9DBoJOU1Zm1GiHdRc8J9gDT1t9uKvQDXrAtp9+8ou4dfuaUtCTWTNebElV07HnluEVZ408+GXoXJBHtimyZlFywifEW0uwAKtfFlFGKNwutTxf9YqOFqIlg8K7X/tAONwaUxhVIdZW65V0Pr1TFRpzpdqK7XhQleDaBSUvNHaby7MvMctQfMEUk05Uaoe1TLdMERqRjnYELuzZYR2yCnUXZiSBFTDDG/SokWHtFBbSPemGg3RcHEsxSQOd+ZIom1dQcJiwVuNcVFDEqX6SezEEqLP1DQ3AK/j6rluv2wYlma5hpQWvbRzjrRAg8lBLSbdvfG+CwiVzB0H0TPi7k27u5qoEgvR0SRWVeL67FeTnGsmxbeJs5thAxnQSbSXp4yKFkyhXPe0JJPmtbosUyP7eoV/zioFOiEsHdhndoB3wfVJ0EfI4ZJ1dQd0eYudMq2qH9yvkFbfSYBO5UrKhN7upffLB876TWf9xY6/aV6bFuItcPMhYdfl7mXgWCEN3rYGD9Ti2GxbG7rxi6aH7WpwtLoSra2sfnpe2tgcDeKs99h76pW9yHvhbXg73r536FH/u//D/+n/CoLgWRAFa8XWGX+U88ibWMH6H6eni2w=</latexit>
Laurent Charlin — 80-629
User/Item features (I)
• Often additional information exists
38
Laurent Charlin — 80-629
User/Item features (I)
• Often additional information exists
• Users: demographic information, social networks
38
Laurent Charlin — 80-629
User/Item features (I)
• Often additional information exists
• Users: demographic information, social networks
• Items: content (e.g., movie genre/trailer, book text)
• Users & items:
38
Laurent Charlin — 80-629
User/Item features (I)
• Often additional information exists
• Users: demographic information, social networks
• Items: content (e.g., movie genre/trailer, book text)
• Users & items:
• timestamps, session information
38
Laurent Charlin — 80-629
User/item features (II)
• Allow for content-based recommendations
39
Laurent Charlin — 80-629
User/item features (II)
• Allow for content-based recommendations
• Good to combat the cold-start problem
39
Laurent Charlin — 80-629
User/item features (II)
• Allow for content-based recommendations
• Good to combat the cold-start problem
• Assume that features are predictive of preferences
39
Laurent Charlin — 80-629
User/item features (II)
• Allow for content-based recommendations
• Good to combat the cold-start problem
• Assume that features are predictive of preferences
• More difficult in some domains than others (e.g., movies)
39
Laurent Charlin — 80-629
User/item features (II)
• Allow for content-based recommendations
• Good to combat the cold-start problem
• Assume that features are predictive of preferences
• More difficult in some domains than others (e.g., movies)
• A practical approach is to bootstrap with content-based to gather preference data and then switch to CF
39
Laurent Charlin — 80-629
User/item features (II)
• Allow for content-based recommendations
• Good to combat the cold-start problem
• Assume that features are predictive of preferences
• More difficult in some domains than others (e.g., movies)
• A practical approach is to bootstrap with content-based to gather preference data and then switch to CF
• In the next slides we explore hybrid models for these data
39
Laurent Charlin — 80-629
Modelling Strategy
1. Generic models
• Easily extend to many different use cases
2. Tailored modelling for specific features
• This is where neural nets shine (images, text, networks)
40
Laurent Charlin — 80-629
Factorization Machines (FM) [generic model]
• Model “all” additional information
41
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
[Rendle’10]
Laurent Charlin — 80-629
Factorization Machines (FM) [generic model]
• Model “all” additional information
41
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
[Rendle’10]
Laurent Charlin — 80-629
Factorization Machines (FM) [generic model]
• Model “all” additional information
41
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item(1 0 … 0, 1 0 … 0, 25, 3) (1 0 … 0, 0 0 … 1, 22, 0) (0 1 … 0, 0 1 … 1, 55, 0)
(0 0 … 1, 1 0 … 0, 60, 2)
User Item Age
Add features as columns
[Rendle’10]
Laurent Charlin — 80-629
Factorization Machines (FM) [generic model]
• Model “all” additional information
41
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
xȒƳƺǼ ³ɖǣ := ɯ +ȵX
ǣ
ɯǣɴǣ| {z }
ȵƺȸٮǔƺƏɎɖȸƺ ȸƺǕȸƺɀɀǣȒȇ
++ȵX
Ǵ=
ȵX
Ǵ0=Ǵ+
✓>Ǵ ✓ɴǴɴǴ0
| {z }ȵƺȸٮȵƏǣȸ ȸƺǕȸƺɀɀǣȒȇ
<latexit sha1_base64="t/P1Rd4nufmqy5pWlv0Axa5Q6ms=">AAAEOXicfVJdTxNBFN1SP7B+gT76MhGIGEqzxQeNkYQgRBJFMQiYdMtmdnpbpp3d2czchTaT/WX+DxMffTO++ge8WyphoXGSzd69Z8/9OHOiVEmLvv+jMlO9cfPW7dk7tbv37j94ODf/6NDqzAg4EFpp8zXiFpRM4AAlKviaGuBxpOAoGrwt8KNTMFbq5AuOUmjHvJfIrhQcKRXOfd/VHVANtrgfukzm7PU6Owt9tsKCLOmAiQwX4AKbxaE8TgmSbBjKPHQBwhBdCma1CxwzA8xAz4AtGuU58aeVcP11Pz9OJ/Gz9f5Kkz5ZEGnVsaOYXgGeAPKwfxygngJQ8/6woOalEVIuTan/Yji34Df88WHXg+YkWPAmZy+cn3kfdLTIYkhQKG5tq+mn2HbcoBQK8lqQWUi5GPAetChMeAy27cYXkLMlynRYVxt6EmTjbG3pEsXFlLdgDMe8ZSGWxWbty0Udj22xKhWLOZ7Yq1iRnIa1Muy+ajuZpBlCIs5n6WaKoWbFhbOONCBQjSjgwkhah4kTTpeCZItSl0jrAfLI1jnNOarHmUJp9FlpdzceIAVRzg6zRApy0pWswiEaXhavcypTO5FveK4fSWUBYy6TQj63A+oUaE7OPkIGFyj1LeDlLdmTaOsfyMFJ/Z0BGDy/RinV273QfnWfpN8k6f/98b+aU2m1YAvIHwZ2ifuJzMdRGxds5y4oqkWR287zGtmvedVs14PDtUbzRWPt89rCxubEiLPeE++pt+w1vZfehrfj7XkHnqi8qUSVQUVVv1V/Vn9Vf5//OlOZcB57pVP98xdIBnIX</latexit>
(1 0 … 0, 1 0 … 0, 25, 3) (1 0 … 0, 0 0 … 1, 22, 0) (0 1 … 0, 0 1 … 1, 55, 0)
(0 0 … 1, 1 0 … 0, 60, 2)
User Item Age
Add features as columns
[Rendle’10]
Laurent Charlin — 80-629
Factorization Machines (FM) [generic model]
• Model “all” additional information
41
!
"""#
� ! · · · �! � · · · !���
� � � · · ·� ! · · · !
$
%%%&
Encode each categorical variable using a series of indicator variables
(1 0 … 0, 1 0 … 0, 3) (1 0 … 0, 0 0 … 1, 0) (0 1 … 0, 0 1 … 1, 0) (0 0 … 1, 1 0 … 0, 2)
User Item
•Features added to the data (extra columns) are “automatically” used in the model
•Modelling extra information implies adding the feature
xȒƳƺǼ ³ɖǣ := ɯ +ȵX
ǣ
ɯǣɴǣ| {z }
ȵƺȸٮǔƺƏɎɖȸƺ ȸƺǕȸƺɀɀǣȒȇ
++ȵX
Ǵ=
ȵX
Ǵ0=Ǵ+
✓>Ǵ ✓ɴǴɴǴ0
| {z }ȵƺȸٮȵƏǣȸ ȸƺǕȸƺɀɀǣȒȇ
<latexit sha1_base64="t/P1Rd4nufmqy5pWlv0Axa5Q6ms=">AAAEOXicfVJdTxNBFN1SP7B+gT76MhGIGEqzxQeNkYQgRBJFMQiYdMtmdnpbpp3d2czchTaT/WX+DxMffTO++ge8WyphoXGSzd69Z8/9OHOiVEmLvv+jMlO9cfPW7dk7tbv37j94ODf/6NDqzAg4EFpp8zXiFpRM4AAlKviaGuBxpOAoGrwt8KNTMFbq5AuOUmjHvJfIrhQcKRXOfd/VHVANtrgfukzm7PU6Owt9tsKCLOmAiQwX4AKbxaE8TgmSbBjKPHQBwhBdCma1CxwzA8xAz4AtGuU58aeVcP11Pz9OJ/Gz9f5Kkz5ZEGnVsaOYXgGeAPKwfxygngJQ8/6woOalEVIuTan/Yji34Df88WHXg+YkWPAmZy+cn3kfdLTIYkhQKG5tq+mn2HbcoBQK8lqQWUi5GPAetChMeAy27cYXkLMlynRYVxt6EmTjbG3pEsXFlLdgDMe8ZSGWxWbty0Udj22xKhWLOZ7Yq1iRnIa1Muy+ajuZpBlCIs5n6WaKoWbFhbOONCBQjSjgwkhah4kTTpeCZItSl0jrAfLI1jnNOarHmUJp9FlpdzceIAVRzg6zRApy0pWswiEaXhavcypTO5FveK4fSWUBYy6TQj63A+oUaE7OPkIGFyj1LeDlLdmTaOsfyMFJ/Z0BGDy/RinV273QfnWfpN8k6f/98b+aU2m1YAvIHwZ2ifuJzMdRGxds5y4oqkWR287zGtmvedVs14PDtUbzRWPt89rCxubEiLPeE++pt+w1vZfehrfj7XkHnqi8qUSVQUVVv1V/Vn9Vf5//OlOZcB57pVP98xdIBnIX</latexit>
(1 0 … 0, 1 0 … 0, 25, 3) (1 0 … 0, 0 0 … 1, 22, 0) (0 1 … 0, 0 1 … 1, 55, 0)
(0 0 … 1, 1 0 … 0, 60, 2)
User Item Age
Add features as columns
[Rendle’10]
Laurent Charlin — 80-629
A. Social network
• Data: user ratings and users’ friends
• Assume:
1. Friends influence your preferences
2. Different levels of trusts for different friends
42
2TIJQ� 8ZN := !!Z "N +!
Z!"3 Z� #ZSXZ!N
[Chaney et al. ’15]
Laurent Charlin — 80-629
A. Social network
• Data: user ratings and users’ friends
• Assume:
1. Friends influence your preferences
2. Different levels of trusts for different friends
42
2TIJQ� 8ZN := !!Z "N +!
Z!"3 Z� #ZSXZ!N
[Chaney et al. ’15]
Laurent Charlin — 80-629
A. Social network
• Data: user ratings and users’ friends
• Assume:
1. Friends influence your preferences
2. Different levels of trusts for different friends
42
2TIJQ� 8ZN := !!Z "N +!
Z!"3 Z� #ZSXZ!N
How much u “trusts” u’
The rating of u’ on item i
[Chaney et al. ’15]
Laurent Charlin — 80-629
A. Social network• Recent models use Graph Convolutional Networks (GCNs)
• Powerful model for graph data
43
Laurent Charlin — 80-629
A. Social network• Recent models use Graph Convolutional Networks (GCNs)
• Powerful model for graph data
43
Laurent Charlin — 80-629
B. Item content
• Data: user ratings and item text/image/…
44
xȒƳƺǼ ³ɖǣ := ✓>ɖ (�ǣ + �ǣ)<latexit sha1_base64="dGWUVCqR2CY1I313ehvxbPFFmoI=">AAADm3icfVJdaxNBFJ1m/ajxK9VHEQbTQoppSOKDRRCKbbBoo5WatpCNYXZykwyZ2Vlm7saEZf+Kv8ZXffffOJvE0iTFCwtnzpl7596zN4iksFit/tnIebdu37m7eS9//8HDR48LW0/OrY4NhxbXUpvLgFmQIoQWCpRwGRlgKpBwEYwOM/1iDMYKHX7FaQQdxQah6AvO0FHdwn5T90BW6PZZN4lFSt+8pT4OAVk3/uajjmiJ+kF2FPQl9QdMqQzu0u1uoVitVGdB10FtAYpkEafdrdxHv6d5rCBELpm17Vo1wk7CDAouIc37sYWI8REbQNvBkCmwnWQ2Ykp3HNOjfW3cFyKdsfmdaymJcrwFYximbQtKBFr2OteLJkxZO1WBK6YYDu2qlpE3ae0Y+/udRIRRjBDyeS/9WFLUNLOU9oQBjnLqAONGuHEoHzLDODrjl14JtB4hC2yZuT6nZRVLFEZ/X5o9mTUQAV9mJ3EouPtXK6zECRq2bF5vLCK7sG8y989ZZQEVE2FmX3IMcgyuT0Y/QQxXqns3k0tHYiDQlk/cjoTl9wZgtLuWslSveeX93pmz/p2z/t+N/9W8MS3vH4HbDwNNl/s5Aqdqk/iNNPGzakGQNNI079avtrps6+C8Xqm9qtS/1IsHjcUibpJn5AUpkRp5TQ7IMTklLcLJD/KT/CK/vefeoffBO5lfzW0scp6SpfBafwHT9DEb</latexit>
[Wang et al. ’14]
Laurent Charlin — 80-629
B. Item content
• Data: user ratings and item text/image/…
44
Content features
xȒƳƺǼ ³ɖǣ := ✓>ɖ (�ǣ + �ǣ)<latexit sha1_base64="dGWUVCqR2CY1I313ehvxbPFFmoI=">AAADm3icfVJdaxNBFJ1m/ajxK9VHEQbTQoppSOKDRRCKbbBoo5WatpCNYXZykwyZ2Vlm7saEZf+Kv8ZXffffOJvE0iTFCwtnzpl7596zN4iksFit/tnIebdu37m7eS9//8HDR48LW0/OrY4NhxbXUpvLgFmQIoQWCpRwGRlgKpBwEYwOM/1iDMYKHX7FaQQdxQah6AvO0FHdwn5T90BW6PZZN4lFSt+8pT4OAVk3/uajjmiJ+kF2FPQl9QdMqQzu0u1uoVitVGdB10FtAYpkEafdrdxHv6d5rCBELpm17Vo1wk7CDAouIc37sYWI8REbQNvBkCmwnWQ2Ykp3HNOjfW3cFyKdsfmdaymJcrwFYximbQtKBFr2OteLJkxZO1WBK6YYDu2qlpE3ae0Y+/udRIRRjBDyeS/9WFLUNLOU9oQBjnLqAONGuHEoHzLDODrjl14JtB4hC2yZuT6nZRVLFEZ/X5o9mTUQAV9mJ3EouPtXK6zECRq2bF5vLCK7sG8y989ZZQEVE2FmX3IMcgyuT0Y/QQxXqns3k0tHYiDQlk/cjoTl9wZgtLuWslSveeX93pmz/p2z/t+N/9W8MS3vH4HbDwNNl/s5Aqdqk/iNNPGzakGQNNI079avtrps6+C8Xqm9qtS/1IsHjcUibpJn5AUpkRp5TQ7IMTklLcLJD/KT/CK/vefeoffBO5lfzW0scp6SpfBafwHT9DEb</latexit>
[Wang et al. ’14]
Questions?
Laurent Charlin — 80-629
C. Dynamic Modelling• Data: user ratings with timestamps
• Assume:
• User tastes change over time
• Item popularity change over time
•
46
xȒƳƺǼ ³Ɏɖǣ := ✓Ɏ>
ɖ �Ɏǣ
✓Ɏ = ✓Ɏ� + ✏<latexit sha1_base64="MnamBIDERRYFxZUiESq4HdCmujc=">AAAD+nicfVJdaxNBFJ00ftT40VYffRkMLRWTkFRBsQhFGyxotVLTFjJpmJ3ctENmd5aZuzFh3N/hu2/iq3/GHyM4m8bSTYIXlr2cM+fOvWduECtpsV7/XVgqXrt+4+byrdLtO3fvrayu3T+yOjECWkIrbU4CbkHJCFooUcFJbICHgYLjYPAm44+HYKzU0Wccx9AJ+Vkk+1Jw9FB39RtDGKHb1z1QtZRts+0NeniKXZfIlL58RVmgVc+OQ/9jeA7ITx0y1HHaTXJckFHYlYyVNhaIkC4uVW2k9EmOgdhKlXVWrtfqk6DzSWOalMk0DrprS+9YT4skhAiF4ta2G/UYO44blEJBWmKJhZiLAT+Dtk8jHoLtuImDKV33SI/2tfFfhHSCltavSFzocQvGcEzbFkKZtdy5WtTx0GYz+GIhx3M7y2XgIq6dYP9Fx8koThAicdFLP1EUNc1ejPakAYFq7BMujPTjUHHODRfo3zV3S6D1AHlgK9z3Oa6EiUJp9Jfc7G7SQAwij46SSAq/BDOowhEanjevN5Sxndo3uvDPW2UBQy6jzD63B2oIvk9OP0ACl6y/N6M3d+WZRFt571cwqrw1AIPHc5Jcvf1L76uH3vrX3vp/J/5Xc6GsxHbB74eBfa/9GINntXGsmTqWVQsC10zTkl+/xuyyzSdHW7XG09rWp2flneZ0EZfJQ/KIbJIGeU52yB45IC0iyJ9CuVApVItfi9+LP4o/L44uFaaaByQXxV9/ASCSWMs=</latexit>
Laurent Charlin — 80-629
C.1 Session-Based Modelling
• Data: user ratings with timestamps
• Assume: Users consume related items over short periods of time
• Domains: Music playlist, exercises, short videos
• Model. Sequential models like RNNs.
47
Next movie prediction
Laurent Charlin — 80-629
Session-based + Social Networks
48[Song et al. 2019]
An example from Youtube
[Covington et al., ‘16]
Laurent Charlin — 80-629
Evaluation
• Evaluate performance on held-out data (standard)
• Splitting data into train/validation/test:
• Split by user to give equal “weight” to each user
• Ensure that each user has enough data (no cold-start)
50
Laurent Charlin — 80-629
Evaluation metrics1. Score prediction (explicit data only)
• Mean squared error:
51
|ɖɀƺȸɀ|
!
ɖ
!
ǣ
(³ɖǣ ! ³ɖǣ)א
<latexit sha1_base64="xkg5UpkNSE/jRnw/3N5niM3+ivk=">AAADp3icfVLdThNBFB5af6D+UPTSxEwkJJCUZosXekkqBC5EMAg06dZmdnraTjq7s5k5i22GfQcfwXfwZeRW730GT1tAWown2c3J953vzDlfTpRq5TAILhcKxXv3HzxcXCo9evzk6XJ55dmpM5mVcCKNNrYRCQdaJXCCCjU0UgsijjScRYN3Y/7sHKxTJvmEoxRaseglqqukQILa5YOwa4X0tdxfhAhD9Jmj6vwi56HL4nY2+Su+PiWP87bPVM43edgX6K/BKbrxeatdXg2qwST43aR2laxu7y19e/n7x9ej9kqhHnaMzGJIUGrhXLMWpNjywqKSGvJSSPOkQg5ED5qUJiIG1/KTvXO+RkiHd42lL0E+QUtrtyQ+JpwWsgLzpoNYRUZ3WrebehE7N4ojahYL7Lt5bgz+i2tm2H3b8ipJM4RETmfpZpqj4WOfeUdZkKhHlAhpFa3DZV+Q10j+zrwSGTNAEbmKoDlHlTjTqKz5MrO7nwyQgpxFh1mipOnAHKpxiFbMmtc5V6m7sm849Y+scoCxUMnYPr8P+hxoTsE/QAY3LL07ptd3VE+hq7ynw0kqexZgsHFHMtPv4Mb7zWOyvk7WX1f8r+dfWV4qhTtAZ2HhgCSHKRBorA93cx+Om0SR383zEl1dbf7G7ianW9Xa62rwkc6vzqaxyF6wV2yd1dgbts322RE7YZJ9Z5fsJ/tV3CgeFk+LjWlpYeFK85zNRFH8AfOlPpc=</latexit>
Laurent Charlin — 80-629
Evaluation metrics1. Score prediction (explicit data only)
• Mean squared error:
2. Information retrieval
• Precision, Recall
• Average rank, Mean average precision
• Normalized Discounted Cumulative Gain (NDCG)
• Compares the ranking of your system with the optimal ranking
• (Exponentially) Discounts items lower ranked items
51
|ɖɀƺȸɀ|
!
ɖ
!
ǣ
(³ɖǣ ! ³ɖǣ)א
<latexit sha1_base64="xkg5UpkNSE/jRnw/3N5niM3+ivk=">AAADp3icfVLdThNBFB5af6D+UPTSxEwkJJCUZosXekkqBC5EMAg06dZmdnraTjq7s5k5i22GfQcfwXfwZeRW730GT1tAWown2c3J953vzDlfTpRq5TAILhcKxXv3HzxcXCo9evzk6XJ55dmpM5mVcCKNNrYRCQdaJXCCCjU0UgsijjScRYN3Y/7sHKxTJvmEoxRaseglqqukQILa5YOwa4X0tdxfhAhD9Jmj6vwi56HL4nY2+Su+PiWP87bPVM43edgX6K/BKbrxeatdXg2qwST43aR2laxu7y19e/n7x9ej9kqhHnaMzGJIUGrhXLMWpNjywqKSGvJSSPOkQg5ED5qUJiIG1/KTvXO+RkiHd42lL0E+QUtrtyQ+JpwWsgLzpoNYRUZ3WrebehE7N4ojahYL7Lt5bgz+i2tm2H3b8ipJM4RETmfpZpqj4WOfeUdZkKhHlAhpFa3DZV+Q10j+zrwSGTNAEbmKoDlHlTjTqKz5MrO7nwyQgpxFh1mipOnAHKpxiFbMmtc5V6m7sm849Y+scoCxUMnYPr8P+hxoTsE/QAY3LL07ptd3VE+hq7ynw0kqexZgsHFHMtPv4Mb7zWOyvk7WX1f8r+dfWV4qhTtAZ2HhgCSHKRBorA93cx+Om0SR383zEl1dbf7G7ianW9Xa62rwkc6vzqaxyF6wV2yd1dgbts322RE7YZJ9Z5fsJ/tV3CgeFk+LjWlpYeFK85zNRFH8AfOlPpc=</latexit>
Precision/Recall
[From wikipedia]
Precision/Recall
[From wikipedia]
• For implicit data recall is more appropriate
«ƺƬƏǼǼ := Á¨Á¨+Iz
<latexit sha1_base64="wacEyPIIyG492w6JieuxaPTc5fw=">AAADiHicfZLdahNBFMenWT/q+pXqpTeDaaBiDJt4URWEUhstaGvUpi1kQ5idPUmHzO4sM2djwrJP4NN4q0/i2zibxNIkxYGBw/8/58w5P06QSGHQ8/5slJwbN2/d3rzj3r13/8HD8tajU6NSzaHDlVT6PGAGpIihgwIlnCcaWBRIOAtG7wr/bAzaCBWf4DSBXsSGsRgIztBK/XJ120eYYPYVOJMyp2/eUn+gGc9O2rm99Dl9f5xv98sVr+7NDl0PGougQhan3d8qffRDxdMIYuSSGdNteAn2MqZRcAm566cGEsZHbAhdG8YsAtPLZvPktGqVkA6UtjdGOlPd6pWULLK6Aa0Z5l0DkQiUDHtXi2YsMmYaBbZYxPDCrHqFeJ3XTXHwqpeJOEkRYj7vZZBKiooW/GgoNHCUUxswroUdh/ILZomhpbz0S6DUCFlgasz2Oa1FqUSh1fel2bNZAwnwZXWSxoKrEFZUiRPUbBleOBaJWeCbzPlZVAYwYiIu8GWHIMdg+2T0GFK4dO2/hb1zIIYCTe2TXYi49kEDjJ6tpSzVO7pk/+KbRb9v0f978b+a16a5/gHY/dBwZHM/J2BdpTO/lWd+US0Islaeu3b9GqvLth6cNuuNl/Xml2Zlr7VYxE3yhDwlO6RBdskeOSRt0iGc/CA/yS/y23Edz9l1Xs+fljYWOY/J0nH2/wL/qyq7</latexit>
Precision/Recall
[From wikipedia]
• Consider only the top items (Recall@K)
• For implicit data recall is more appropriate
«ƺƬƏǼǼ := Á¨Á¨+Iz
<latexit sha1_base64="wacEyPIIyG492w6JieuxaPTc5fw=">AAADiHicfZLdahNBFMenWT/q+pXqpTeDaaBiDJt4URWEUhstaGvUpi1kQ5idPUmHzO4sM2djwrJP4NN4q0/i2zibxNIkxYGBw/8/58w5P06QSGHQ8/5slJwbN2/d3rzj3r13/8HD8tajU6NSzaHDlVT6PGAGpIihgwIlnCcaWBRIOAtG7wr/bAzaCBWf4DSBXsSGsRgIztBK/XJ120eYYPYVOJMyp2/eUn+gGc9O2rm99Dl9f5xv98sVr+7NDl0PGougQhan3d8qffRDxdMIYuSSGdNteAn2MqZRcAm566cGEsZHbAhdG8YsAtPLZvPktGqVkA6UtjdGOlPd6pWULLK6Aa0Z5l0DkQiUDHtXi2YsMmYaBbZYxPDCrHqFeJ3XTXHwqpeJOEkRYj7vZZBKiooW/GgoNHCUUxswroUdh/ILZomhpbz0S6DUCFlgasz2Oa1FqUSh1fel2bNZAwnwZXWSxoKrEFZUiRPUbBleOBaJWeCbzPlZVAYwYiIu8GWHIMdg+2T0GFK4dO2/hb1zIIYCTe2TXYi49kEDjJ6tpSzVO7pk/+KbRb9v0f978b+a16a5/gHY/dBwZHM/J2BdpTO/lWd+US0Islaeu3b9GqvLth6cNuuNl/Xml2Zlr7VYxE3yhDwlO6RBdskeOSRt0iGc/CA/yS/y23Edz9l1Xs+fljYWOY/J0nH2/wL/qyq7</latexit>
Laurent Charlin — 80-629
Other topics
• Lots of other possible signals
• Search queries, engagement (time spent on page)
• Structured recommendations
• E.g., Recommend a trip, a curriculum of courses
53
Laurent Charlin — 80-629
Concluding Remarks (I)
• Type of models we have discussed are useful for:
• Domains with large number of items (and users for CF)
• Subjective preferences over attributes (features)
• E.g., movies and not plane tickets
• Items can be consumed relatively fast
• E.g., restaurants/movies and not cars/houses
54
Laurent Charlin — 80-629
Concluding Remarks (II)
• CF models “work well” especially in large-data regimes
• Commercial systems are reasonably good
• There is evidence that companies derive value from them
• Much progress remains to be done
• Modelling preferences is a very active research topic
• Good preference models gave rise to other questions
55
Laurent Charlin — 80-629
References• Marital satisfaction and break-ups differ across on-line and off-line meeting venues, J. Cacioppo et al., PNAS’13
• A Probabilistic Model for Using Social Networks in Personalized Item Recommendation, A. Chaney et al., Recsys’15
• Deep Neural Networks for YouTube Recommendations, P. Covington et al., Recsys’16
• Content-based recommendations with Poisson factorization, P. Gopalan et al., NIPS’14
• Scalable Recommendation with Hierarchical Poisson Factorization., P. Gopalan et al., UAI’15
• Collaborative Filtering for Implicit Feedback Datasets, Hu et al., ICDM’08
• Exposure Matrix Factorization, D. Liang et al., WWW’16
• Factorization Machines, S. Rendle, ICDM ’10
• Probabilistic Matrix Factorization, R. Salakhutdinov and A. Mnih, NIPS’08
• Session-based Social Recommendation via Dynamic Graph Attention Networks, W. Song et al., WSDM’19
• Collaborative Topic Modeling for Recommending Scientific Articles, C. Wang and D. Blei, KDD’11
• Deep matrix factorization models for recommender systems, HJ Xue et al., IJCAI’17
56