
Finding Similar Music Using Matrix Factorization - sebg
http://www.benfrederickson.com/matrix-factorization/
======
Qantourisc
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 it mainly yields music I find 'acceptable' not
music I find good.

Music should IMO be recommended using genre/tags(artists, year, ...) as well
as:

(rather long list:) tempo, complexity of the music, instruments, amount of
instruments, how monotone or varied to music is, then there is music that uses
notes to keep you in short suspense and others in long suspense, general sound
of the music (rock would be 'rough' while violin would generally be 'smooth'),
music patterns, music pattern genre, ...

And then you need to train a small neural net per person to figure out witch
of all these features is important to the person you are recommending music
to.

(Edit: added to list of features to look for in music)

~~~
karmacondon
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.

~~~
Qantourisc
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.

------
exelius
I often find that artists who I like tend to work together (this is especially
true in hip-hop and electronica, but also in rock music as well through side
projects). I've found some of my favorite albums this way; and it's weird
esoteric stuff that other people tend to like (just harder to find unless you
know to look for it).

Is there an algorithm that suggests music based on the degrees of
connectedness to the individuals who made the music? I discovered Kanye West
long, long before he made it big because he did a guest track on a label-
produced mixtape. I said "man this shit is dope" and tried to track him down,
but was only able to find other guest tracks on like a Mos Def album and a
Common album (this was in like 1998, 5 years before he released a solo album).

I really miss that way of finding music, because it introduced me to a lot of
artists who were similar enough I would like them, but different enough that
genres started to morph into one another. A good example there would be Nine
Inch Nails vs. How To Destroy Angels - Trent Reznor is behind both of them,
but HTDA has a much more haunting, ambient sound compared to the sharp edges
and distorted beats of NIN.

~~~
nrub
PageRank is analogous to this type of music discovery if you created a graph
based on artists who have collaborated together. It'd be about the same as
having a teleportation vector that always restarts the random walk back at the
artist you're wanting to explore around.

------
lqdc13
I did a similar thing for music/movies/directors/actors using word2vec which
is also a form of matrix factorization[1]. (Shameless plug) You can try it at
[http://rerecommender.com](http://rerecommender.com)

[1]
[http://www.cs.columbia.edu/~blei/seminar/2016_discrete_data/...](http://www.cs.columbia.edu/~blei/seminar/2016_discrete_data/readings/LevyGoldberg2014.pdf)

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

~~~
lqdc13
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.

------
FreeHugs
A self-learning, genre agnostic music recommender with a nice interface is
[http://www.gnoosic.com](http://www.gnoosic.com)

It has been learning on it's own for years now and works pretty well for me.

~~~
amelius
Nice, except it is artist-based, not song-based.

------
ktRolster
Oh, I thought this was talking about looking through the actual notes of the
music to find patterns

------
NKCSS
Rammstein -> Command & Conquer Red Alert 3 :P

