Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I had always assumed that recommendation algorithms didn't work on genres, but instead did a lookup based on something like:

"You like X" "Person Y also likes X" "Person Y also likes Z" "I should recommended Z to you" (proportional to the number of people there are who liked X and Z, compared to other options)

If this is the case (and perhaps I'm wrong), it's nothing to do with the algorithm not understanding the subtleties of the genre, but it's actually just that on average those subtleties disappear because they are unique to you. (Forgive me, I don't know your genres at all, but), I would guess that on average people who like Black Sabbath really do typically like Slipknot as well, and that is why the algorithm recommends them to you.

It's not that the algo is any worse than human recommendations, it's just that it's an average of all humans likes, which will never fit your exact personal unique preferences because they aren't you.



That's the way music-map.com works, and it is absolutely fantastic.

But no, that is NOT the way these other services recommend things.

Spotify, for example, recommends music that it thinks is related, but not necessarily liked by both groups of people.

For example, a person who likes Black Sabbath, and really technical instrumental metal, probably doesn't like the comparatively simpler slipknot. While some people who like slipknot may like black sabbath, but even less will be aware of really technically advanced instrumental metal.

music-map.com will take that into account. When you say "my three favorite bands are", you're not going to see slipknot show up in the result list, because people who mentioned those technical bands tended not to like slipknot.

But if you go to spotify and listen to sabbath, you'll see slipknot recommendations, because there is overlap, right?

I just went over to music-map right now, and sure enough, black sabbath and slipknot don't overlap, even when you do searches of the bands individually, let alone if you enter multiple bands.


> For example, a person who likes Black Sabbath, and really technical instrumental metal, probably doesn't like the comparatively simpler slipknot

That's just thinly disguised metal snobbery. Almost all metalheads adore Black Sabbath, because they wrote fantastic songs. Sabbath's music caught on because it's so accessible. They were certainly good musicians, but by no means anywhere near the top of the Technical Sophistication Food Chain.

I myself am a cretin, and thus have little patience for technically advanced music, but I'm happy to accommodate a vast world of music where everyone finds something they like, so I'm not going to denigrate anybody's favorite Super Technical Metal Band with twin guitar solos and the 75-piece drum kit - it's all good to somebody. But you've gotta be kidding if you think Sabbath is that kind of act.


> That's just thinly disguised metal snobbery. Almost all metalheads adore Black Sabbath, because they wrote fantastic songs

I think you might have misunderstood the parent a bit. They're not saying Black Sabbath is really technical instrumental metal but that someone who listens to Black Sabbath AND ALSO likes really technical instrumental, is probably not looking to listen to Slipknot (though I suppose that could depend on the technical to Black Sabbath ratio).

The point is more that Spotify supposedly recommends without taking into account what people actually listen to. Spotify says "oh this person listens to Black Sabbath which is a popular metal band. They also listen to a lot of Blotted Science, which is also a metal band. They most likely will like Slipknot, another popular metal band" instead of "This person listens to Black Sabbath and Blotted Science. People who listen to both Black Sabbath and Blotted Science also listen to Nile, so this person will most likely like Nile"[0].

[0] Blotted Science and Nile are the only technicalish bands I know off the top of my head. If those bands don't work, try Blind Guardian and Stormkeep


> Almost all metalheads adore Black Sabbath

This implies that, if there are many different subgenres with little overlap in audience but they all agree on Black Sabbath (and little else), drawing conclusions from "listens to Black Sabbath" is doomed to fail. "Listens to Black Sabbath" simply isn't particularly specific, and those subgenre-heads are all about specifity. Same as that you can draw a lot more conclusions from "likes listening to Number Nine" than from "likes listening to Yesterday"


Metal snobbery is a legitimate taste, though. It's the sort of thing a recommendation algorithm should consider.


Spotify recommends me tracks that I have already added to my playlists. It knows me really well.


I dunno, if I was writing the Spotify recommendation engine and wanted to trick people into thinking it was good, I'd do the same thing.


So I put in Silver Jews, and expected to get probably the #1 result "Purple Mountains" which is also David Berman, and then pavement and some Malkmus as recommends. So I don't know how well that works.

Coheed and Cambria seemed fairly good. I was expecting Thursday as a top result and got it.

I put in "Mom Jeans" and a totally very different sounding band but on the same label who tour together and got "Just Friends". That's an unexpectedly nice connection.


Yeah, Last.fm is really good for playing a playlist from a single scene. It's not necessarily a single genre, just bands who tour together, or guest on each other's tracks.

They used to go pretty deep too, like bringing in bands from 20 years before that influenced the current one.

It's not necessarily the greatest for bands that are selling out stadiums as there's too much interference from Clear Channel, but it's great for small to midsize scenes which tend to have shows from 100-1000, since those tend to be more defined.


You have to now wonder how much of last.fm has since become tainted by faulty recommendations coming via Spotify and co though.


did you catch a Pavement reunion show?


> It's not that the algo is any worse than human recommendations, it's just that it's an average of all humans likes, which will never fit your exact personal unique preferences because they aren't you.

But that is a difference though, because humans possess empathy: algorithms don't. Step away from music for a second and consider movies: if all your algorithm does is recommend movies because Person X likes Movies 1, 2, and 3, it will take many layers of metadata tagging before the algorithm figures out that it shouldn't recommend Movie 2 to Person Y (even if Movie 2 is a star-studded, Oscar-winning classic), while a human being could probably spend 30 seconds looking at Person Y's viewing history and realize, "Ah, this person has very few action movies and zero horror movies in their viewing history; they probably don't like violence. I would not recommend they watch Movie 2."


That’s not really true at all. Graph algorithms can look at the movies you like and find other people that have uncommonly common movie likes as well and find a movie to recommend based on this. You avoid just recommending movies that are generally popular across all users.

For instance, if someone likes “”Caddy Shack” it isn’t too difficult to recommend “Space Balls” for example and not “Schindlers List”, even though everyone likes that movie. But “Space Balls” would stick out amongst the population of people that like “Caddy Shack” vs the population as a whole.

No meta data is required. Just preferences over a large set of users.


> It's not that the algo is any worse than human recommendations, it's just that it's an average of all humans likes, which will never fit your exact personal unique preferences because they aren't you.

Isn't that the definition of "worse"? "Never able to be tailored to your unique preferences" when a human could take that feedback in a single sentence and adjust? It's like the old "everyone wants to remake Excel since they realize 80% of users only use 20% of it... without realizing it's always a different 20%" saw...

I believe that you certainly could figure out a smarter approach, with enough careful thought, domain knowledge, and effort but... I haven't used any services that do it. Surface level similarities seems to be all you get, and I constantly get recommendations that a human would've stopped giving me years ago.

Maybe the domain of expert-level statisticians and experts-at-musical-knowledge-of-many-genres just don't overlap that much? It's hard to imagine you could do it truly well without content-level processing, not just user histories and connection graphs.

Just because no streaming service could afford a human to be an expert on every single user doesn't mean that the cheaper, more scalable algorithm isn't worse.


I mean, maybe it's not worse though. Maybe others would find what the other guy wants too narrow. There's a tension between only playing stuff you are 100% going to like and actually introducing you to stuff you haven't listened to.


> Maybe others would find what the other guy wants too narrow.

That's exactly what makes it worse, though. They currently have to choose more globally, it's not that personalized. in the human-curated world others would get different things. I know they don't like Slipknot, I know you do, I give you each different recommendations. Spotify's code hasn't shown the ability to learn "me" vs it's view of what the "average me" would like.


Can't you refine your results by telling it to stop recommending an artist?


The thing a human recommended can do is say “based on your listening history, I think you'd also like this band... but wait, they're a famous band. Surely you'd know about them already. So the fact that you don't listen to them suggests that you don't like them. Ok, I won't recommend them.” Computers don't yet make that logical leap -- they don't yet use what's missing from your listening history as additional data.


> an average of all humans likes, which will never fit your exact personal unique preferences

Well, it's not as if that's an unknown problem in machine learning. In all generative domains (and I suppose recommendations are a generative domain in a sense) there's a risk of "mode seeking", where the model produces bland/blurry/gray output in order to cover its bases, and not miss too badly. It's rarely what we want.

There's also the often quoted "Most of the volume of a high-dimensional orange is in the peel, and the average of two vectors is very unlikely" (Well, I like to quote it because it's fun to say. I forget where it originally came from.) In plain English, if you need more than two dimensions to characterize variation, then you need to use spherical interpolation to find a likely data point in between them, not regular interpolation.

It's surprising how many times this has been overlooked and rediscovered.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: