/ Route Suggestions (Based on Machine Learning)

This topic has been archived, and won't accept reply postings.
Psych on 03 Aug 2017
I'm half thinking about throwing together an app where you upload your UKC logbook and get recommendations on routes you might like, but haven't done. It would work by identifying commons patterns between users and identifying similar climbers to you and suggesting climbs they have done, but you haven't.

Would you be interested in using a service like this? If not, I won't waste the time, but it seems like a fun thing to put together.

It would rely on enough users uploading their data to provide decent quality recommendations. I guess there is no way to get this data from UKC without users downloading their logbooks and uploading them to the service?

Any feedback on the idea appreciated.
mrphilipoldham - on 03 Aug 2017
In reply to Psych:

I like the principle.. certainly for providing inspiration for getting away from the laziness of visiting the usual crags.
Psych on 03 Aug 2017
In reply to mrphilipoldham:

Do you think it would be best to recommend routes you might be interested in or crags?
knthrak1982 on 03 Aug 2017
In reply to Psych:

I suppose routes, from which it could then recommend crags based on quantity of recommended routes.
The Ice Doctor - on 03 Aug 2017
In reply to Psych:

If honest. No not interested. I don't work like that. Perhaps I am strange? Who knows? Who really cares?
4
Hardonicus - on 03 Aug 2017
In reply to Psych:

I don't need a machine to recommend me loads of VDiffs at honeypot crags on Peak grit.
Psych on 03 Aug 2017
In reply to Hardonicus:

I was seeing it as a project to learn something new which might be of value to people. After thinking about it more, you are probably correct that this would be the outcome so I expect it isn't worthwhile.
Ramblin dave - on 03 Aug 2017
In reply to Psych:

Interesting idea.

Another thing that I'd wondered about is whether you could link the UKC logbooks to historic weather data and then predict what's likely to be dry / in based on recent observations.
planetmarshall on 09 Aug 2017
In reply to Psych:

> Any feedback on the idea appreciated.

The results from (supervised) Machine Learning based technology (Specifically a 'Recommender System' which is what you're talking about) are only as good as the data you can train it with. I think you might have difficulties here in that there is limited information about routes and crags with which to train such a system.

That said, it might be interesting to see if, say, a neural network could spot patterns that aren't otherwise obvious. Potentially you could parse route descriptions for certain keywords and use that as input, and use the UKC 'star' rating as the labelled output.

One such successful system of which there is lots of information online is the one that Netflix uses.

http://www.netflixprize.com/community/topic_1537.html
http://www.netflixprize.com/assets/GrandPrize2009_BPC_BellKor.pdf

Jon Stewart - on 09 Aug 2017
In reply to Psych:

I definitely wouldn't use this.

I want machines to do things that I don't like doing, or things which I can't do myself but I want done. I don't like washing my clothes by hand for example.

However, I like reading guidebooks, looking at photos, talking to people about their climbing experiences, etc. Through these means, I develop a very good idea of which crag to go to and which routes to choose.

I can pretty much guarantee what the outcome of such an app would be for me. It would suggest stuff, I'd look at it and think "yeah, already heard of it; no, looks shite; are you kidding?". In other words, I would be able to judge the results coming out of the thing with my far, far better understanding of what I like, what different crags are like, what people say about different crags, etc etc.

For example, I might say that I prefer trad to bolts, and I like face climbing, often bold, and I can cope with some loose rock. The thing might spit out a recommendation for a trad line at Horseshoe Quarry, but I would rather have my legs sawn off than go trad climbing at Horseshoe.

This just isn't one of the tasks that a computer is going to be better at than the human brain.
ads.ukclimbing.com
planetmarshall on 09 Aug 2017
In reply to Jon Stewart:

> This just isn't one of the tasks that a computer is going to be better at than the human brain.

It's not necessarily about performing better than a human (very few ML tasks can), but being able to scale up and handle vastly more data (A child can identify a cat in a photo, but not in a million photos). But that said I largely agree - I don't think the proposed task is impossible, I just don't think that the data's available to do it successfully.

Jon Stewart - on 09 Aug 2017
In reply to planetmarshall:
I don't think that enough variables could be accurately assigned to routes, nor that I as a human combine such variables in an algorithmic was to produce an outcome "good route" or "shite route". For example, do I like dirty routes? Sometimes it ruins the route, but sometimes it's fine. When is choss acceptable - well usually when there is good gear and the moves don't require pulling on the choss. How is that going to get into the data? I hate low cruxes with gear that might result in a groundfall - how is that going to get into the data? Never going to work.

Edit: And there isn't a scale problem. I have enough time to look through a guidebook for an area I'm climbing in, and I enjoy doing it.
Post edited at 11:29
john arran - on 09 Aug 2017
In reply to Jon Stewart:

> I don't think that enough variables could be accurately assigned to routes, nor that I as a human combine such variables in an algorithmic was to produce an outcome "good route" or "shite route".

I think you're missing the point. I don't see this as being a classification system, such as the early attempts at web search engines; more a search by association, which was Google first genius idea.

If I like cracks and hate slabs I'll be giving cracks higher star ratings than slabs. Other routes can then be suggested for me based on the pattern of stars given by 'people like me'. By 'people like me' I don't mean people who like cracks more than slabs, as the AI would need no knowledge of cracks nor slabs; rather it's people who have done some of the routes I've done and given them similarly differing star ratings from the average for those routes. The AI could then propose other routes that have been given higher star ratings than average by 'people like me'.

I think it's a very good idea, but would need a lot of data to be workable. I'd suggest the OP talks with UKC about a joint initiative that could use the entire database, rather than expecting large numbers of people to export logbooks.
planetmarshall on 09 Aug 2017
In reply to Jon Stewart:

> I don't think that enough variables could be accurately assigned to routes, nor that I as a human combine such variables in an algorithmic was to produce an outcome "good route" or "shite route". For example, do I like dirty routes? Sometimes it ruins the route, but sometimes it's fine. When is choss acceptable - well usually when there is good gear and the moves don't require pulling on the choss. How is that going to get into the data? I hate low cruxes with gear that might result in a groundfall - how is that going to get into the data? Never going to work.

Well, ironically that's exactly the problem that non-linear systems like neural networks (Deep Learning to use a modern buzzword) were created to solve. You don't have to worry about how those attributes get into the data - it's implicit in the relationship between you and the climbs that you like doing. ML can very successfully identify if a picture contains a cat - but it can't tell you why. A successful recommender system for climbs could recommend you climbs that you may like, but it couldn't tell you why you might like them.

The problem is that the training phase would need to be able to find a relationship between a user and climbs that they enjoy - not just climbs that they've done. All I see in the UKC logbooks is the star rating, and I don't think it's a reliable enough, or fine grained enough, metric to train such a system. There are two main problems to solve when designing such a system - data volume, and data quality. The Netflix system had over 100 million ratings, of 17,000 movies from 400,000 users with which to train their system.

Jon Stewart - on 09 Aug 2017
In reply to john arran:

Yes, sorry, I've re-read the OP and how it would work. So people like me have also done route x, maybe I should do it too. This does work well for music, films and books, but the difference is that it is hard to navigate the world of music etc due to the scale problem. Thousands of possibles, all equally accessible.

Climbing however, has guidebooks, which do this job in a way that's really nice - a far better and more enjoyable way to learn about the routes than a "people who liked this..." algorithm. My problem with the idea is that it reduces value rather than adding.
Jon Stewart - on 09 Aug 2017
In reply to planetmarshall:

OK. The star rating system isn't really what's needed, as I might really hate a route (e.g. some awful overhanging offwidth I get dragged up by one - in particular - of my partners) but still rate it 3* as it's obviously a great route of its type.
AshleyLong - on 09 Aug 2017
I think the point of machine learning is being missed. It's not about a human assigning variables to climbs or you feeding it information, humans are very bad a giving such information and giving fair ratings. Humans give biased information based on assumptions and incorrectly remembered facts (how many people would rate themselves as a 5 out of 10 driver? one persons bold move is not bold to another climber etc.)

It's about a whole community feeding it basic factual information (route climbed, date climbed), then the computer automatically crawls through the data to spot tends/patterns which a human can't.

The idea is that the computer looks at your history, looks at the history of everyone else in the community and assigns you tags with variable confidence marks. a VERY simplified example would be you are 15% in group x, 67% in group y, route k has been climbed by people with a spectrum of groups however there is a trend that climbers who are 10-20% group x and 65-70% group y climb route k more than average. The more data it has about you and the more data is have about a route the better it can make a match (the best example of this type of technology being developed is matches on dating websites, however it's being used on nearly every website to sell advertisment space).

I think it is an interesting idea and the general technology is being developed, so I strongly suggest keeping an open mind about this type of thing. Rockfax/UKC already has "1/2/3 star" and "top 50 routes" this is just a logical extension of a system which is already in place. If developed by UKClimbing with all the data they have in their backend database, it might stand a small chance of having enough data and getting good results.

Good luck with the project!
Jon Stewart - on 09 Aug 2017
In reply to AshleyLong:

> It's about a whole community feeding it basic factual information (route climbed, date climbed), then the computer automatically crawls through the data to spot tends/patterns which a human can't.

But a database of climbs isn't like a database of movies or potential dates. The climbs are grouped into crags, and the crags are grouped into guidebooks, which can be browsed of an evening. And there aren't so many routes in the guidebooks that it's difficult to find the ones you're interested in. The information is all structured in a way that is perfectly easy and enjoyable to navigate, along with photographs to inspire and directions of how to get to the crag.

What is the problem that this technology can help solve?
AshleyLong - on 10 Aug 2017
In reply to Jon Stewart:

I would suggest that technology isn't about solving problems, it's about making improvements. consider this as adding to the existing guidebooks and rating system that is already in place.

I agree with you that the star rating system which is widely used across guidebooks and UKClimbing are pointless (one persons 3* route is anothers rubbish, boring climb). I believe this would be an improvement on that, giving a more personal rating system (now a "recommended" 3* route for you would be more suited for you and a 3* route for me would be suited to me).

This topic has been archived, and won't accept reply postings.