How Recommender Systems Work (Netflix/Amazon)

Поделиться
HTML-код
  • Опубликовано: 27 фев 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...

Комментарии • 204

  • @whuzzzup
    @whuzzzup 4 года назад +204

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

    • @zeikjt
      @zeikjt 4 года назад +19

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

    • @Flankymanga
      @Flankymanga 4 года назад +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 3 года назад +1

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

    • @carkod
      @carkod 2 года назад

      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 8 месяцев назад

      🤣🤣🤣🤣

  • @TheKmisra
    @TheKmisra 2 года назад +38

    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.

  • @NeuroPulse
    @NeuroPulse 4 года назад +39

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

  • @pritamdas06
    @pritamdas06 2 года назад +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! 💗

  • @malchicken
    @malchicken 4 года назад +43

    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 3 года назад +4

      I feel the same, it's rather distracting

    • @ipek2556
      @ipek2556 2 года назад +3

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

    • @thangtran145
      @thangtran145 2 года назад +2

      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 3 месяца назад

      awful background music

  • @holyflame7653
    @holyflame7653 4 года назад +3

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

  • @user-or7ji5hv8y
    @user-or7ji5hv8y 3 года назад

    Really like how the explanation is concise and clear.

  • @imqwerty5171
    @imqwerty5171 4 года назад +64

    the background music is weird

  • @roadmonitoroz
    @roadmonitoroz Год назад +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 Год назад +1

      how did you download your netflix data?

  • @ryanmckenzie1990
    @ryanmckenzie1990 3 года назад +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  3 года назад +1

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

  • @JustSkillGG
    @JustSkillGG 3 года назад

    I AM SO HAPPY i discovered this channel!!!

  • @ernietam6202
    @ernietam6202 2 месяца назад +1

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

  • @thomasmabelemasibo5495
    @thomasmabelemasibo5495 2 года назад

    Great work. Very precise and comprehensive. Thank you.

  • @thecheekychinaman6713
    @thecheekychinaman6713 3 месяца назад

    Easily and concisely explained. Appreciated

  • @MrDaanjanssen
    @MrDaanjanssen 4 года назад +2

    Very enjoyable and clear explanation! Great video

  • @joshhug2578
    @joshhug2578 2 года назад +1

    Damn. This is so concise and perfect.

  • @snowwolf4148
    @snowwolf4148 Год назад +1

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

  • @deepd2901
    @deepd2901 3 года назад

    This gold. Thank you so much for making this.

  • @KenCubed
    @KenCubed 4 года назад +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  4 года назад +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 4 года назад

      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 4 года назад +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 Год назад +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  5 месяцев назад +2

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

  • @user-do5vk8et2j
    @user-do5vk8et2j 3 года назад +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.

  • @tuannguyenxuan8919
    @tuannguyenxuan8919 2 года назад

    Very intuitive approach, thanks a lot !!!

  • @Photis
    @Photis 4 года назад +1

    Really nice and insightful video.

  • @jeremyknowsbetter4631
    @jeremyknowsbetter4631 2 года назад

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

  • @vaiterius
    @vaiterius 7 месяцев назад

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

  • @markheaney
    @markheaney 4 года назад +3

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

    • @ArtOfTheProblem
      @ArtOfTheProblem  3 дня назад

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

  • @acada
    @acada Год назад

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

  • @LUCA54
    @LUCA54 3 года назад

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

  • @jasertio
    @jasertio 4 года назад +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  4 года назад +3

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

    • @nezv71
      @nezv71 4 года назад +4

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

  • @NevinVlogs
    @NevinVlogs 3 года назад

    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

  • @thaear1
    @thaear1 2 года назад

    Very interesting and clear explanation

  • @maxcoteclearning
    @maxcoteclearning Год назад

    Great explaination !
    Thankyou

  • @hantuchblau
    @hantuchblau 4 года назад +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.

  • @ArtOfTheProblem
    @ArtOfTheProblem  4 года назад +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: ruclips.net/p/PLbg3ZX2pWlgKV8K6bFJr5dhM7oOClExUJ

    • @guyindisguise
      @guyindisguise 4 года назад +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 4 года назад +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.

  • @StefanTheFink
    @StefanTheFink 4 года назад +1

    Great work 👏👏

  • @hamzamihfad4884
    @hamzamihfad4884 6 часов назад

    awesome video

  • @philipnel7481
    @philipnel7481 Месяц назад +1

    Great explanation!

  • @anhquocnguyen1967
    @anhquocnguyen1967 4 года назад +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?

  • @iMegaStorm
    @iMegaStorm 2 года назад

    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!

  • @tomblanchfield9913
    @tomblanchfield9913 2 года назад

    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!

    • @ArtOfTheProblem
      @ArtOfTheProblem  2 года назад

      sweet glad this helped you

    • @kalirocketdev
      @kalirocketdev 15 дней назад

      Hi, how did it go. I'm also in journey to build one

  • @mineman1736
    @mineman1736 3 года назад +4

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

  • @shandou5276
    @shandou5276 3 года назад

    Fantastic job again! :)

  • @ViclVl
    @ViclVl Год назад

    good job, amazing video

  • @mikejason3822
    @mikejason3822 3 года назад

    Very clear video!

  • @nbme-answers
    @nbme-answers 4 года назад +1

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

  • @batungcao3494
    @batungcao3494 2 года назад

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

  • @andrewaquilina7601
    @andrewaquilina7601 4 года назад

    great vid!!! thank you

  • @Ramkumar-uj9fo
    @Ramkumar-uj9fo 19 дней назад

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

  • @hamidashim9016
    @hamidashim9016 3 года назад

    what a nice video! sooo useful :)

  • @PouryaHosseini
    @PouryaHosseini 2 года назад

    That was really helpful thanks

  • @anangelsdiaries
    @anangelsdiaries 4 месяца назад

    Great video!

  • @ForTomorrowToday
    @ForTomorrowToday 4 года назад

    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.

  • @debatradas1597
    @debatradas1597 Год назад

    thank you so much

  • @Yeeezy
    @Yeeezy Год назад

    This was really cool

  • @Gytax0
    @Gytax0 4 года назад +2

    How is the preference data matrix factorized?

  • @ebayo4075
    @ebayo4075 Год назад

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

  • @phraust17
    @phraust17 6 месяцев назад +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?

    • @ArtOfTheProblem
      @ArtOfTheProblem  6 месяцев назад +1

      i would say this is certainly the case

  • @user-ez3ml9us1u
    @user-ez3ml9us1u 5 месяцев назад +1

    it was just awesome

  • @safrizal513
    @safrizal513 3 года назад

    thank you

  • @chanxo643
    @chanxo643 2 года назад

    this was pretty good

  • @Tracks777
    @Tracks777 4 года назад +4

    nice video

  • @obaidient
    @obaidient 3 года назад

    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  3 года назад

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

  • @harshamusunuri1924
    @harshamusunuri1924 Год назад

    some legend made this video!

  • @raphaelquinones4002
    @raphaelquinones4002 4 года назад +1

    Please don't stop making videos

  • @joqiao400
    @joqiao400 3 года назад

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

  • @Dante_Grimiz
    @Dante_Grimiz 4 года назад

    nice vid i love it

  • @dewinmoonl
    @dewinmoonl 3 года назад +2

    holy cow this is a good video

  • @madara9897
    @madara9897 2 года назад +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 2 года назад

      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  Год назад

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

    • @tmorid3
      @tmorid3 Год назад

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

  • @karannchew2534
    @karannchew2534 Год назад

    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.

  • @subramaniannk3364
    @subramaniannk3364 3 года назад

    Is this anyway related to SVD? Nice video!

  • @dilalovegood
    @dilalovegood 8 месяцев назад

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

  • @emanuelmma2
    @emanuelmma2 3 месяца назад +1

    Nice!

    • @ArtOfTheProblem
      @ArtOfTheProblem  Месяц назад

      would love if you could help share my newest video: ruclips.net/video/5EcQ1IcEMFQ/видео.html

  • @kangzoel8717
    @kangzoel8717 3 года назад

    what is the background music for?

  • @NidaSyeda
    @NidaSyeda 4 года назад +1

    Do we use classifiers in collaborative filtering?

    • @lucacaccistani9636
      @lucacaccistani9636 4 года назад +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..)

  • @Eta_Carinae__
    @Eta_Carinae__ 4 года назад +1

    This reminds me of factor analysis...

  • @kc3vv
    @kc3vv 4 года назад +5

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

    • @obaidient
      @obaidient 3 года назад

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

  • @xTh3N00b
    @xTh3N00b 4 года назад +10

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

  • @christianalexandernonis2260
    @christianalexandernonis2260 3 месяца назад

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

  • @AMGitsKriss
    @AMGitsKriss 2 года назад

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

  • @MdYousuf-gw2dn
    @MdYousuf-gw2dn 3 года назад

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

  • @won20529jun
    @won20529jun 6 месяцев назад

    INTERESTINGGGG

    • @ArtOfTheProblem
      @ArtOfTheProblem  6 месяцев назад

      Took 2 years to finish this one, finally live would love your feedback: ruclips.net/video/OFS90-FX6pg/видео.html

  • @TheeSlickShady
    @TheeSlickShady 3 месяца назад

    Liked and subbed

    • @ArtOfTheProblem
      @ArtOfTheProblem  Месяц назад

      would love if you could help share my newest video: ruclips.net/video/5EcQ1IcEMFQ/видео.html

  • @lukaskoenigsfeld
    @lukaskoenigsfeld 7 месяцев назад

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

  • @JavierSalcedoC
    @JavierSalcedoC 4 года назад +1

    youtube knew I was gonna like this video u say?

  • @akashverma_107
    @akashverma_107 Год назад

    what is background song name?

  • @shoaibfarooqui4776
    @shoaibfarooqui4776 2 года назад

    Holy shit this super fucking interesting

  • @cowla
    @cowla 2 года назад

    2:07 content filtering
    6:20

  • @sefferz7582
    @sefferz7582 Год назад

    3:40 why do you divide by 8 specifically?

    • @algiersLee
      @algiersLee 9 месяцев назад

      could used 7 I guess

  • @kevinkkirimii
    @kevinkkirimii 11 месяцев назад

    Content Filtering still is required for Collaborative Filtering to work.

  • @satyasangoju4142
    @satyasangoju4142 Год назад +2

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

  • @fistrthecat1544
    @fistrthecat1544 4 года назад +2

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

    • @ArtOfTheProblem
      @ArtOfTheProblem  4 года назад +2

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

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 4 года назад +1

    interesting, continue

  • @nikolajp1530
    @nikolajp1530 2 года назад

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

  • @almasrausanfikri2545
    @almasrausanfikri2545 Год назад

    Fucking great explanation!

  • @StephenRoseDuo
    @StephenRoseDuo 4 года назад +2

    I didn't know you were Canadian

  • @user-or7ji5hv8y
    @user-or7ji5hv8y 3 года назад

    Kind of see a connection with autoencoder here.

  • @Msyoutube38
    @Msyoutube38 Год назад

    Loved the explanation but song selection is really weird

  • @qzwxecrv0192837465
    @qzwxecrv0192837465 2 месяца назад

    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.

  • @MrTexMart
    @MrTexMart 4 года назад +1

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

  • @leppe999
    @leppe999 2 года назад

    Bro I'm home alone in the middle of the night but why did the music scare me so much

  • @konovan
    @konovan 3 года назад

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