How Recommender Systems Work (Netflix/Amazon)

Sdílet
Vložit
  • čas přidán 27. 02. 2020
  • The key insights behind content and collaborative filtering (Matrix Factorization). How Amazon, Netflix, Facebook and others predict what you will like.
    Paper in this video:
    Matrix Factorization Techniques for Recommender Systems
    www.inf.unibz.it/~ricci/ISR/p...

Komentáře • 204

  • @whuzzzup
    @whuzzzup Před 4 lety +212

    And then there is Amazon asking me to buy a second washing machine.

    • @zeikjt
      @zeikjt Před 4 lety +19

      Some products really need a "people usually buy only one at a time" tag. Refrigerators, cars, houses...

    • @Flankymanga
      @Flankymanga Před 4 lety +4

      Wait a minute... hey Thats basically amazon telling you "Hey your washing machine is about to go out of service wanna buy a new one just in case?"

    • @owendavies8227
      @owendavies8227 Před 3 lety +1

      Amazon uses "customers that bought this also like" and similar simple algorithms. Nothing complicated or sophisticated. They work just fine.

    • @carkod
      @carkod Před 2 lety

      People are terrified at the thought of machines taking over, but actually the algorithms being used in AI and recommendation system are just as inacurate as a friend's recommendation.

    • @user-tb4ig7qh9b
      @user-tb4ig7qh9b Před 8 měsíci

      🤣🤣🤣🤣

  • @TheKmisra
    @TheKmisra Před 2 lety +40

    I think it should be noted that for the cold start problem, you'd want to use content filtering to define which users to show those new items to - hence, a combination of content and collaborative filtering is the best approach.

  • @pritamdas06
    @pritamdas06 Před 2 lety +27

    These are some solid gold videos on your channel you are putting up for free! Your incredible knowledge, such hardwork and the will to put such amazing educational concepts before the audience is really creating these masterpieces! Absolutely love it! 💗

  • @holyflame7653
    @holyflame7653 Před 4 lety +4

    The name I learnt this as in Uni was Singular Value Decomposition. Same thing, different names. Great video as usual!

  • @user-or7ji5hv8y
    @user-or7ji5hv8y Před 3 lety

    Really like how the explanation is concise and clear.

  • @ryanmckenzie1990
    @ryanmckenzie1990 Před 3 lety +13

    I love all the artistic choices you guys make when putting these videos together, they have a spacious mood to them. It’s a little sad to read other viewers don’t like the music choice as much, each to their own I guess.

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 3 lety +1

      I get that a lot, it's nice to hear from both sides that the mood 'works'

  • @roadmonitoroz
    @roadmonitoroz Před 2 lety +9

    Interesting video. I downloaded my netflix data once. It is amazing how much data they actually collect . One of the bits they collect is how long you watch each video (whether the actual movie) or the preview clip on the movie selection screen. i.e. If you watch the whole thing, you are somewhat interested in it and "that type of movie".
    It also logs what suggestions it gave to you and why that suggestion was given (due to another video) .
    It also collects search terms (full / partial) and what results were given to you. i.e. You type "term" and up comes "Terminator 1,2,3" , "The terminal" (totally different type of movie)

    • @mnamaddy
      @mnamaddy Před rokem +1

      how did you download your netflix data?

  • @malchicken
    @malchicken Před 4 lety +44

    Love the video, thank you, great explanation. I wonder if I’m the only one who finds the music a bit...creepy or disturbing....or, maybe that’s intended.
    Rewatching, I see that may be my fault for watch at 2x speed.

    • @joqiao400
      @joqiao400 Před 3 lety +5

      I feel the same, it's rather distracting

    • @ipek2556
      @ipek2556 Před 2 lety +4

      its rly disturbing at any speed...couldnt keep watching it so I was looking for this comment :/

    • @thangtran145
      @thangtran145 Před 2 lety +3

      My god, the music put me in a freaking trauma. The explanation was great but I had to turn off the audio. What the heck did the creator think? Since when horror music as background music is a good idea?

    • @danielbertuzzi6953
      @danielbertuzzi6953 Před 4 měsíci

      awful background music

  • @deepd2901
    @deepd2901 Před 3 lety +1

    This gold. Thank you so much for making this.

  • @JustSkillGG
    @JustSkillGG Před 4 lety

    I AM SO HAPPY i discovered this channel!!!

  • @thomasmabelemasibo5495

    Great work. Very precise and comprehensive. Thank you.

  • @NeuroPulse
    @NeuroPulse Před 4 lety +40

    Art of the Problem is one of the better things on the internet.

  • @joshhug2578
    @joshhug2578 Před 2 lety +1

    Damn. This is so concise and perfect.

  • @ernietam6202
    @ernietam6202 Před 2 měsíci +1

    Thanks a lot. It is so simple that I can understand immediately.

  • @jeremyknowsbetter4631
    @jeremyknowsbetter4631 Před 2 lety

    Thank you for this video! Explained a very complex concept for me in a very understandable way.

  • @markheaney
    @markheaney Před 4 lety +3

    I don't understand why this channel isn't more popular. From the beginning it's been great.

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 20 dny

      thanks for sticking around, have you checked out the new series?

  • @LUCA54
    @LUCA54 Před 3 lety

    Very nice video! I'm searching for a while for the correct explanation of those algorithm. Finally I've found it!

  • @MrDaanjanssen
    @MrDaanjanssen Před 4 lety +2

    Very enjoyable and clear explanation! Great video

  • @vaiterius
    @vaiterius Před 8 měsíci

    I’m attempting to make a video game recommendation system from a Steam games dataset and your video was super helpful to me!

  • @thecheekychinaman6713
    @thecheekychinaman6713 Před 4 měsíci

    Easily and concisely explained. Appreciated

  • @jasertio
    @jasertio Před 4 lety +16

    Very interesting!! I would love to see more videos on this topic. I would guess that the amount of features can be increased in order to have a more accurate result, at the expense of greater computing power and storage requirements.

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 4 lety +3

      yes, exactly (same as making a neural network wider)

    • @nezv71
      @nezv71 Před 4 lety +4

      Not necessarily more accurate though, due to a phenomenon called overfitting: en.wikipedia.org/wiki/Overfitting?wprov=sfla1

  • @snowwolf4148
    @snowwolf4148 Před rokem +1

    Dude , literally watched a zillion videos on YT , nothing comes close to this video. The SVD simplification is on another level!

  • @KenCubed
    @KenCubed Před 4 lety +24

    I am a mathematics phd student doing my thesis on low-rank matrix completion, it was great seeing this video show up in my feed! One of my biggest concerns was why we can assume that real life data is part of a low-rank matrix. Even though data being non-random and part of a low-dimensional space is a very reasonable assumption, the issue is that the space of low rank matrices is a very specific low-dimensional space, so why should we assume that our data lies on this specific low dimensional space? The features argument seems fair to me as why it may be reasonable to assume that our data is low-rank.

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 4 lety +4

      It's a great question. I'm currently working on a video on manifold hypothesis that gets at this question a little deeper. Would love to hear other's thoughts

    • @lucacaccistani9636
      @lucacaccistani9636 Před 4 lety

      That's very interesting, I like the field of prediction/compression/NMF fact a lot. Do you have some references or papers on the subject you mentioned ? How do you define real life data ?

    • @KenCubed
      @KenCubed Před 4 lety +3

      @@lucacaccistani9636 Here is a paper on matrix completion that describes the alternating projection method, and some theoretical results using algebraic geometry: arxiv.org/abs/1711.02151
      By real life data I mean data that comes from real life, such as an image or the incomplete user ratings in the netflix problem. Given unknown positions of a matrix, it's easy to find a partially complete matrix which can be completed to a rank r matrix. Just generate a rank r matrix then delete entries in the unknown indices, then we know the resulting incomplete matrix has a rank r completion. If we choose the known entries of a partially complete matrix randomly from a continuous distribution, then often times there will exist a rank r completion with probability 0, or there will be infinitely many rank r completions. However, it is assumed that our data lies on some low dimensional space, so choosing random known entries may not be a good model for real data.

    • @dmc-au
      @dmc-au Před 2 lety +2

      In reverse, doesn't the utility of the approximation (people do seem to like the recommendations) provide some clue that there is a lower-dimensional manifold useful for the purpose of estimating *specifically* the preferences of people regarding movies? Also, if true randomness provides maximum information, and for the most part people's movie preferences, and movies themselves, are far from random, doesn't that also imply that there will be a useful, lower-dimensional manifold? All while keeping in mind that the movies people make and the movies that people watch are reflections of each other: people make movies that other people want to watch, and people only watch what movies people make.

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 6 měsíci +2

      this is what I assume (low-dimensional manifold)@@dmc-au

  • @tuannguyenxuan8919
    @tuannguyenxuan8919 Před 2 lety

    Very intuitive approach, thanks a lot !!!

  • @hantuchblau
    @hantuchblau Před 4 lety +5

    It's worth noting that the patterns in data don't always mirror reality. People with asthma and copd check earlier with the doctor when they have trouble breathing. So an ann would predict that people with asthma are at lower risk when catching pneumonia and schedule them accordingly.
    These problems are frustratingly hard to find. Most approaches to make answers interpretable seem to be about learning a linear local approximation of the machine model, which works reasonably well on convolutional networks.

  • @acada
    @acada Před rokem

    Excellent presentation and visualisation. I recommend this video for Google best award.

  • @tomblanchfield9913
    @tomblanchfield9913 Před 2 lety

    thanks for this video, i have to build a recommender system for college and this was a really good concise description of how the thing works!

  • @NevinVlogs
    @NevinVlogs Před 3 lety

    Hi, for your explanation on collaborative filtering are you explaining from the model-based approach, I'm a little bit confused between the memory and model-based approach fro CBF

  • @maxcoteclearning
    @maxcoteclearning Před rokem

    Great explaination !
    Thankyou

  • @user-do5vk8et2j
    @user-do5vk8et2j Před 3 lety +6

    The real problem here is traditional recommendation algorithm would recommend to you with things you already have. We need a new algorithm which can analyze and tell you what you may need to get in future, based on historical data.

  • @Photis
    @Photis Před 4 lety +1

    Really nice and insightful video.

  • @ForTomorrowToday
    @ForTomorrowToday Před 4 lety

    Lemmino if you find any more channels like this. These days prediction has made youtube channel subscription less important. However, I use them just as an A-list. Btw I subscribed.

  • @mineman1736
    @mineman1736 Před 3 lety +4

    I find it funny you used the matrix as the main movie while also explaining matrix and matrices

  • @thaear1
    @thaear1 Před 2 lety

    Very interesting and clear explanation

  • @iMegaStorm
    @iMegaStorm Před 2 lety

    Hi, where did you get the images of netflix about content filtering at 4:16 in the video? I need it for my dissertation as a talking point that Netflix was a content filtered recommender at one point, thanks!

  • @anhquocnguyen1967
    @anhquocnguyen1967 Před 4 lety +1

    Can you explain me what if there are many, many ways to generate the current data? At that time does it mean that we will have multiple reference table? How do we fix this problem?

  • @shandou5276
    @shandou5276 Před 3 lety

    Fantastic job again! :)

  • @andrewaquilina7601
    @andrewaquilina7601 Před 4 lety

    great vid!!! thank you

  • @mikejason3822
    @mikejason3822 Před 3 lety

    Very clear video!

  • @PouryaHosseini
    @PouryaHosseini Před 2 lety

    That was really helpful thanks

  • @Tracks777
    @Tracks777 Před 4 lety +4

    nice video

  • @hamidashim9016
    @hamidashim9016 Před 3 lety

    what a nice video! sooo useful :)

  • @nbme-answers
    @nbme-answers Před 4 lety +1

    Brit, you posted a video but I didn't see a Patreon billing. Please take my money! You deserve it!

  • @StefanTheFink
    @StefanTheFink Před 4 lety +1

    Great work 👏👏

  • @imqwerty5171
    @imqwerty5171 Před 4 lety +70

    the background music is weird

  • @Gytax0
    @Gytax0 Před 4 lety +2

    How is the preference data matrix factorized?

  • @ebayo4075
    @ebayo4075 Před rokem

    How can I like the video a million times...now I can gladly go back those papers with recondite information.

  • @debatradas1597
    @debatradas1597 Před rokem

    thank you so much

  • @batungcao3494
    @batungcao3494 Před 2 lety

    Very good and funny videos bring a great sense of entertainment!

  • @ViclVl
    @ViclVl Před rokem

    good job, amazing video

  • @safrizal513
    @safrizal513 Před 3 lety

    thank you

  • @Ramkumar-uj9fo
    @Ramkumar-uj9fo Před měsícem

    Recommendation engines, a hot CS topic, are desired by business folks for personalization and user engagement in marketing, media, and e-commerce.

  • @hamzamihfad4884
    @hamzamihfad4884 Před 18 dny

    awesome video

  • @phraust17
    @phraust17 Před 6 měsíci +3

    "The things that are recommended to you are based on patterns the machine has observed in other people that are similar to yourself"
    It would be interesting to take this to the next step of analysis.. what happens when the recommendations the machine gives start to have an actual tangible affect on the people being given the recommendations?

  • @chanxo643
    @chanxo643 Před 2 lety

    this was pretty good

  • @Yeeezy
    @Yeeezy Před rokem

    This was really cool

  • @philipnel7481
    @philipnel7481 Před měsícem +1

    Great explanation!

  • @obaidient
    @obaidient Před 3 lety

    Which ML algo is used in 5:10 to 5:48 can you please name it, it will be very helpful.
    Thanks for sharing this amazing work.

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 3 lety

      interestingly enough, you can do the most simple thing here which is repeatedly guess and keep what works.

  • @Dante_Grimiz
    @Dante_Grimiz Před 4 lety

    nice vid i love it

  • @kc3vv
    @kc3vv Před 4 lety +5

    Actually it's pretty cool, my thesis is in that area :)

    • @obaidient
      @obaidient Před 3 lety

      Which ML algo is he talking about in 5:10 to 5:48?

  • @joqiao400
    @joqiao400 Před 3 lety

    Is there any product we can filter out the background music it doesn't really fit the topic and is really distracting

  • @harshamusunuri1924
    @harshamusunuri1924 Před rokem

    some legend made this video!

  • @Eta_Carinae__
    @Eta_Carinae__ Před 4 lety +1

    This reminds me of factor analysis...

  • @christianalexandernonis2260
    @christianalexandernonis2260 Před 3 měsíci

    The bg music feels like being in an horror movie lol
    But the video is great

  • @raphaelquinones4002
    @raphaelquinones4002 Před 4 lety +1

    Please don't stop making videos

  • @anangelsdiaries
    @anangelsdiaries Před 5 měsíci

    Great video!

  • @dilalovegood
    @dilalovegood Před 9 měsíci

    Answer me, which one is true netflix using deep learning or machine learning for algorithm?

  • @madara9897
    @madara9897 Před 2 lety +1

    3:47, Sir Can I ask? where did you get the "By diving the all values by 8?". Can I know where did you get the 8? thank you sir

    • @shahaelshowk7533
      @shahaelshowk7533 Před 2 lety

      I was asking myself the same question but I think it's smth like:
      you take the highest value (in this case 28) and you know that you need a value that is less or equal to 4, so you solve the inéquation 28/x

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 2 lety

      that's just to normalize the data, so you take the largest

    • @tmorid3
      @tmorid3 Před rokem

      @@ArtOfTheProblem Couldn't fully understand - the largest what??

  • @subramaniannk3364
    @subramaniannk3364 Před 3 lety

    Is this anyway related to SVD? Nice video!

  • @kangzoel8717
    @kangzoel8717 Před 3 lety

    what is the background music for?

  • @user-ez3ml9us1u
    @user-ez3ml9us1u Před 6 měsíci +1

    it was just awesome

  • @NidaSyeda
    @NidaSyeda Před 4 lety +1

    Do we use classifiers in collaborative filtering?

    • @lucacaccistani9636
      @lucacaccistani9636 Před 4 lety +2

      Not really, no. There is always some sort of classifying being done but in this case not in the way you mean it, I think. In this approach we decide (by hand or algorithmically, but always beforehand) that we are going to reduce the data space to a smaller space of dimension k. Choosing k is often difficult. Then, the main algorithm converges to the optimal representation, that is, the space of dimension k that represents the best the data space. You can look up NMF factorization, k-means clustering or even PCA (the last one doesn't has a k and tends to over-fit, in the end you have the same problem of choosing when you stop, hence choosing k..)

  • @dewinmoonl
    @dewinmoonl Před 3 lety +2

    holy cow this is a good video

  • @xTh3N00b
    @xTh3N00b Před 4 lety +10

    I'd love to meet the people with the most similar movie taste to me.

  • @JavierSalcedoC
    @JavierSalcedoC Před 4 lety +1

    youtube knew I was gonna like this video u say?

  • @MdYousuf-gw2dn
    @MdYousuf-gw2dn Před 3 lety

    i don't see any use of recommendation system instead of online movie and online product? can anyone give me some others example

  • @AMGitsKriss
    @AMGitsKriss Před 2 lety

    But how to know how many latent features to use? There must bea better way than trial and error.

  • @emanuelmma2
    @emanuelmma2 Před 3 měsíci +1

    Nice!

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 2 měsíci

      would love if you could help share my newest video: czcams.com/video/5EcQ1IcEMFQ/video.html

  • @lukaskoenigsfeld
    @lukaskoenigsfeld Před 8 měsíci

    Can someone help me: how are wo normalising the data? At 3:48?

  • @akashverma_107
    @akashverma_107 Před rokem

    what is background song name?

  • @fistrthecat1544
    @fistrthecat1544 Před 4 lety +2

    when i saw you upload "in my head" YES YES YES thx you : do you take bitcoin or other coins? ;)

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 4 lety +2

      Yes! thank you. I have a BTC address: 1HF6uFWxXEtGJmMz7CCyaLwffk4EY9t4Dh

  • @won20529jun
    @won20529jun Před 7 měsíci

    INTERESTINGGGG

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 6 měsíci

      Took 2 years to finish this one, finally live would love your feedback: czcams.com/video/OFS90-FX6pg/video.html

  • @karannchew2534
    @karannchew2534 Před rokem

    Notes for my future revision.
    *CONTENT FILTERING*
    Based on what someone like, work out what else he/she might like.
    *COLLABORATIVE FILTERING*
    A user likes things that other users with similar habit also like.

  • @ArtOfTheProblem
    @ArtOfTheProblem  Před 4 lety +5

    STAY TUNED: Next video will be on "History of RL | How AI Learned to Feel"
    SUBSCRIBE: www.youtube.com/@ArtOfTheProblem?sub_confirmation=1
    WATCH AI series: czcams.com/play/PLbg3ZX2pWlgKV8K6bFJr5dhM7oOClExUJ.html

    • @guyindisguise
      @guyindisguise Před 4 lety +1

      Well it's the same "reversal" of programming logic
      - non NN: you give the computer some input and an algorithm and the computer will give you the output
      - NN: you give the computer some input and output and the computer will give you the algorithm (the neural network)
      (this is only true for training of course, at inference time you will use the input and the learned algorithm to get the output again, but the learning part is kind of like the "solving the problem" part)
      Now that I think about it, mentally I originally compared this to deep learning (neural network with more than 3 layers), but collaborative filtering seems more like a single layer neural network since the more complicated levels of feature abstraction which comes with more layers, seems to be missing here, instead all the abstraction is contained in a single layer, if I'm not mistaken?
      Basically we have one weighted feature vector for the people and one for the movies and we multiply them to see how well they match (bigger total number = better match), which is also part of what NNs do.
      I guess the bias and activation functions are missing since we just need the score and not a decision boundary?

    • @Primius80
      @Primius80 Před 4 lety +2

      It looks similar to a neural network with one hidden layer, but the activation functions are missing. These are critical for neural networks in order to be more powerful than matrix multiplication. The standard learning algorithm for neural networks (stochastic gradient descent) should still work, but there are probably faster direct methods from linear algebra to calculate the matrix entries.

  • @sefferz7582
    @sefferz7582 Před rokem

    3:40 why do you divide by 8 specifically?

  • @shoaibfarooqui4776
    @shoaibfarooqui4776 Před 2 lety

    Holy shit this super fucking interesting

  • @TheeSlickShady
    @TheeSlickShady Před 3 měsíci

    Liked and subbed

    • @ArtOfTheProblem
      @ArtOfTheProblem  Před 2 měsíci

      would love if you could help share my newest video: czcams.com/video/5EcQ1IcEMFQ/video.html

  • @kevinkkirimii
    @kevinkkirimii Před rokem

    Content Filtering still is required for Collaborative Filtering to work.

  • @StephenRoseDuo
    @StephenRoseDuo Před 4 lety +2

    I didn't know you were Canadian

  • @MrTexMart
    @MrTexMart Před 4 lety +1

    So I guess all of you are similar to myself because here we are.

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg Před 4 lety +1

    interesting, continue

  • @konovan
    @konovan Před 3 lety

    great video but the background music sounds like it comes from a horror film

  • @almasrausanfikri2545
    @almasrausanfikri2545 Před rokem

    Fucking great explanation!

  • @nikolajp1530
    @nikolajp1530 Před 2 lety

    this is a great video but why is the music so scary? T.T

  • @cowla
    @cowla Před 2 lety

    2:07 content filtering
    6:20

  • @user-or7ji5hv8y
    @user-or7ji5hv8y Před 3 lety

    Kind of see a connection with autoencoder here.

  • @satyasangoju4142
    @satyasangoju4142 Před rokem +2

    very nice video, but background music disturbing the original content, sorry its a bit annoying, thank you for the video.

  • @qzwxecrv0192837465
    @qzwxecrv0192837465 Před 2 měsíci

    Recommendation algorithms don't have enough actually useful data. What do I mean by that? First, they recommend things based on what you have watched, assuming you are interested in that topic. For example, I may click on a random video about a bass player or bass guitar style.....then my feed is full of bass guitar channels. NO, I was curious about the video, but I don't want bass channels. Also, they don't take a good survey of the person's tastes.
    for example, Netflix could have a customer take a "what do you like" survey, 4 or 5 pages of 20 - 30 various movies, shows, etc, have the customer pick 8-10 on each page. Essentially sprinkle in enough variety on each page to get a more accurate read on their tastes.
    Netflix suggestions are usually 50% wrong for me. I would love if they would allow a "don't recommend" option along with like, don't like, etc so it never shows up again in the normal lists. Grapes of wrath and Annie Hall are NOT on any list I would ever create. ahhahaha. would also be great if we could exclude specific actors, directors, etc to keep them from the list as well, considering I can't stand Will Ferrell.

  • @Msyoutube38
    @Msyoutube38 Před rokem

    Loved the explanation but song selection is really weird

  • @roycrxtw
    @roycrxtw Před 2 lety +3

    the background music is quite annoying