Live data from Hacker News

Finding Similar Music Using Matrix Factorization

benfrederickson.com

11–20 of 30 posts

Re: Finding Similar Music Using Matrix Factorization

#11

Personally to me, these methods of finding music don't work. I believe it's because most people tend to listen to music in a genre. Because the above method doesn't work, I have done correlations between different artists I like and the music recommended for that artist. (Example Arists A: Similar B C D; Artists E: Similar C D, then it would recommend C=4 point, D=4 points, B=2 point) This method sort of works, but i…

I am quite interested in this topic. There is some research on that field. Some links I collected in the past:

http://thesis.flyingpudding.com/

http://dynampd.ubitux.fr/

http://erikbern.com/2015/09/22/presentations-about-spotify-m...

http://erikbern.com/2015/09/24/nearest-neighbor-methods-vect...

http://www.wired.com/underwire/2013/08/qq_netflix-algorithm/

http://www.slideshare.net/erikbern/collaborative-filtering-a...

http://benanne.github.io/2014/08/05/spotify-cnns.html https://news.ycombinator.com/item?id=8137264

http://www.playdar.org/ https://github.com/RJ/playdar-core http://news.ycombinator.com/item?id=3876724

https://github.com/bmcfee/librosa

http://forever.fm/ http://blog.petersobot.com/introducing-forever-fm

http://musicmachinery.com/2011/05/14/how-good-is-googles-ins...

http://musicmachinery.com/2012/11/12/the-infinite-jukebox/

Btw., as I am developing my own music player, my main important feature/goal is a kind of automatic DJ which automatically selects music and I also especially had a discover mode in mind. However, that main feature did not evolve that much so far because there were so much other things to implement first. For now, it only supports access to files in your file system, and it looks on tags and artist and adds quite some randomness to it.

https://github.com/albertz/music-player/blob/master/WhatIsAM...

Re: Finding Similar Music Using Matrix Factorization

#13
post #10

Earlier quoted context omitted.

I think Spotify's "Discover Weekly" playlists get pretty close to this. I really, really look forward to each week's new playlist. I listen to a wide range of genres, and completely agree with you that most discovery tools try to pigeon hole you into one or two. Spotify seems to pick up on other associations. I wonder how much neural net stuff they're doing with their big data.

I was going to say the same, Discover Weekly frequently really impresses me with some of its selections and I have discovered some excellent artists through it. I'm into electronic music - not what I would consider really obscure stuff, but certainly not mainstream - and many other recommendation systems seem top lump anything electronic together with mainstream "EDM" etc. (which is nothing like what I enjoy) whereas…

There's an IFTTT recipe for that! https://ifttt.com/recipes/311873-discover-weekly-archive (only discovered this yesterday)

Re: Finding Similar Music Using Matrix Factorization

#14
post #8

Cool stuff, did you look at using Latent Dirichlet Allocation to perform the categorization?

LDA actually works better for this in my experience. That is if assessed by the median distance to leave-one-out from the ones liked by a user in the test set.

Re: Finding Similar Music Using Matrix Factorization

#15
post #13
post #10

Earlier quoted context omitted.

I was going to say the same, Discover Weekly frequently really impresses me with some of its selections and I have discovered some excellent artists through it. I'm into electronic music - not what I would consider really obscure stuff, but certainly not mainstream - and many other recommendation systems seem top lump anything electronic together with mainstream "EDM" etc. (which is nothing like what I enjoy) whereas…

There's an IFTTT recipe for that! https://ifttt.com/recipes/311873-discover-weekly-archive (only discovered this yesterday)

Ah amazing, thank you! I had been doing it with https://rocketgraph.com/reports/21-discover-weekly-archiver but the archived playlists live within their web app rather than Spotify itself, so I never actually looked at them!

Re: Finding Similar Music Using Matrix Factorization

#16

Personally to me, these methods of finding music don't work. I believe it's because most people tend to listen to music in a genre. Because the above method doesn't work, I have done correlations between different artists I like and the music recommended for that artist. (Example Arists A: Similar B C D; Artists E: Similar C D, then it would recommend C=4 point, D=4 points, B=2 point) This method sort of works, but i…

The approach you describe is one of many. Traditional collaborative filtering using matrix factorization will "discover" the features you listed, or other non-intuitive features, from patterns in the data. They don't always need to be listed explicitly, and training individual asymmetric models (like your one NN per person) isn't always ideal. Per person models won't make a lot of sense unless each person has rated a large number of songs, which usually isn't the case.

In general, methods like this require an epic amount of data to work well for consumers. The Netflix Prize made a dataset with 110 million ratings available, and that was barely enough to make impressive predictions. The issue here isn't the statistical model being used, but the paucity of training data. If you trained this or any other model on one billion rated songs, the quality of the recommendations could blow your mind. They would however still skew toward the average musical tastes.

Re: Finding Similar Music Using Matrix Factorization

#18

Personally to me, these methods of finding music don't work. I believe it's because most people tend to listen to music in a genre. Because the above method doesn't work, I have done correlations between different artists I like and the music recommended for that artist. (Example Arists A: Similar B C D; Artists E: Similar C D, then it would recommend C=4 point, D=4 points, B=2 point) This method sort of works, but i…

The approach you describe is one of many. Traditional collaborative filtering using matrix factorization will "discover" the features you listed, or other non-intuitive features, from patterns in the data. They don't always need to be listed explicitly, and training individual asymmetric models (like your one NN per person) isn't always ideal. Per person models won't make a lot of sense unless each person has rated a…

Ow the NN would be rather small though: like 1 or 3 layer kind. The bulk of the identification has to be done before. Although music patterns could be a problem.

And the skew toward the average musical taste is exactly my issue. Finding music is more like playing bingo to me.

Disclaimer: I haven't used any note-wordy NN yet, so this might still required a ton of input. But if the NN could start recognizing thinks like for example: likes piano with male singer, but a penalty when it includes a violin in these genres (stupid example) it would IMO be an improvement.

Re: Finding Similar Music Using Matrix Factorization

#19

Personally to me, these methods of finding music don't work. I believe it's because most people tend to listen to music in a genre. Because the above method doesn't work, I have done correlations between different artists I like and the music recommended for that artist. (Example Arists A: Similar B C D; Artists E: Similar C D, then it would recommend C=4 point, D=4 points, B=2 point) This method sort of works, but i…

I've long wondered about other psychological favtors that come into play as well. I wonder if each time I give a song a thumbs up, say, during radio play, they record features like day of the week, month of the year, season, the weather that day, time of day, maybe a geographic classifier like city/suburb/wilderness. These are all things that could be used to make localized, time dependent and situational recommendations. I like a lot of the 'mood' playlists Spotify offers as well, but I've used players in the past where you have to choose between very similar and highly subjective things like calm vs tranquil to populate a mood based list, and I wonder if features I mentioned could make this a more passive process on the user's part.

Re: Finding Similar Music Using Matrix Factorization

#20

Personally to me, these methods of finding music don't work. I believe it's because most people tend to listen to music in a genre. Because the above method doesn't work, I have done correlations between different artists I like and the music recommended for that artist. (Example Arists A: Similar B C D; Artists E: Similar C D, then it would recommend C=4 point, D=4 points, B=2 point) This method sort of works, but i…

Agreed. I think suggestions should be based on mood and emotion.

For example if I like 'dark' music I might as well like a song from a techno artist and a classical orchestra.

But this can be very complex. What some people find aggressive music others find a little too soft.

EDIT: by the way: because of the above I also think a recommendation for a song is better than for a band.

Post reply on HN