# Indoor path prediction with machine learning and pattern matching

Ok. You'll have to bear with me because I'm new to this. I have an idea for a research project. It involves trying to predict a path that someone might take in an indoor environment. My idea is to use smartphones to gather various sensor readings(accelerometer, gyroscope, magnetometer...) while the person walks his normal paths.

Step 1: Collect enough repetition of this data and use machine learning to mine the data. What I'm looking for is whether the direction changes can be identified. So once I run the machine learning algorithm I should get a sequence of predicted directions for example: Path 1: Straight, straight, Left, Left, Right, Right, Straight... which I'll use later in step 2.

Step 2: Here we see if we can predict the path ahead of the person and maybe even the destination at the end of that path. What I'm thinking of is to use a pattern matching approach. So as the directions of the path the person is currently walking on keeps coming in it should be trying to match with the sequence of directions that I have already gotten from the machine learning process. So if the current directions are Straight, Straight, left, left, right, right, straight... then the pattern matching should match the path the person is walking on to Path 1.

What I'm having difficulty with is where the two steps meet. I can already use some machine learning algorithms to predict the directions with a satisfying level of accuracy. But I don't quite know how to get from there to pattern matching. Any amount of help would be greatly appreciated. And if my writing is not specific enough or difficult to understand I'll be happy to clarify.

• This sounds like a nice project, but I'm not sure where we are supposed to come in. – Yuval Filmus Mar 9 '17 at 14:51
• @YuvalFilmus I suppose I am looking for ways that I can compare/match the new incoming data with the ground truth I build in step 1. So if I match a part of the sequence in the path to one of the ground truth paths I can say it is path A and not B given that the incoming path is more closely matched to path A than B. I've read that pattern matching is one approach. I've also seen here and there terms like text prediction, string matching, protein matching. Are any of these a viable method for me? – Nix Mar 10 '17 at 4:46
• There are tons of papers that investigate this exact topic. I would suggest you perform a literature review. – Nicholas Mancuso Mar 10 '17 at 20:31