Jehoshaphat I. Abu
std::steam

std::steam

100 Days Of ML Code — Day 047

100 Days Of ML Code — Day 047

Jehoshaphat I. Abu's photo
Jehoshaphat I. Abu
·Aug 25, 2018·

3 min read

Recap From Day 046

In day 046, we saw that one simple approach to modelling change over time is to design our features so that they can encode this temporal change with enough precision for us to build a good model using the algorithms we’ve already seen.

Today, we’ll look at other modelling approaches.

Working with time

Motivating other modeling approaches

In summary, this is what the simple approach to modelling the way something changes over time is.

We use a physical button or some other simple trigger like RMS to detect when a motion, or gesture, or action starts. We collect features describing that action moment by moment and store them in a buffer. Then after a set period of time, or using another physical button or simple trigger to detect when a motion or action ends, we can take that buffer and classify it.

[Source](https://cdn.hashnode.com/res/hashnode/image/upload/v1632827099797/4KVEnjDwC.html)Source

Some times, we’ll find that this approach to segmentation makes it really easy to build interactive systems and then it gives us systems that are east to use and understand. But there are still some potential problems with this approach, which are addressed in different ways by the other algorithms we’ll see in the coming days.

First, if we don’t have a physical button, determining how to do this triggering can involve a lot of manual tuning. For example, what should our RMS threshold be? And will our chosen threshold still work if we end up having to use our system in a nosier environment?

Second, as we’ll see, this approach may not be very robust when we have perceptually small changes in how an action proceeds over time. For instance, a circle where we start fast and then slow may look very different in feature space from a circle where we start slow and end fast even though these two motions may feel vety similar to us.

Furthermore, if we use any of the classification or regression algorithms we’ve seen so far, we’re limited to doing the types of analysis provided by these algorithms. Specifically, for classification, we can either have the algorithm choose the best single class label for the motion, once the motion is completed, or we could get a posterior probability distribution over class labels. Again after the motion is completed. And for regression, we can only compute a single number from the motion. Again, of course, after the motion has finished.

It’s awesome to know that you made it to the end of day 047. I hope you found this informative. Thank you for taking time out of your schedule and allowing me to be your guide on this journey. And until next time, be legendary.

Reference

*https://www.kadenze.com/courses/machine-learning-for-musicians-and-artists-v/sessions/working-with-time*

 
Share this