Hey there,
I am new to developing in the Apple ecosystem, as well as a novice in the field of ML. I have dabbled a little bit in ML with face recognition in Python, but that's about it.
The thing I've found is that there is quite a lot of training algorithms and such for computer vision related things, but for my use case I don't really know what I am looking for, from a ML perspective.
Thing is, I have real time telemetry data where I have to determine the CURRENT (or near-current) state based on historic data (from NOW and BACKWARDS for 0 to something like 20 seconds, or more). The initial state is pretty easy to determine based on a few values, basically a UInt16 is set to 65535. Most of the possible states can be determined over time from the telemetry, but there are certain cases that can vary quite a lot. These cases are very likely possible to pick up as a human examining the logs, but it's something that seems hard or impossible to create a programmatic logic around. The sample rate in real time is pretty steady at 60 Hz.
Basically, I'm curious about what kind of ML model would be suitable to train around this kind of data, and how?
Generally, it shouldn't be a huge problem creating the training data. Even if it takes a while to manually mark up the various state changes, it is far from infeasible. Much of the data will differ wildly from dataset to dataset, while some will be very similar from one dataset to another.
So, basically I would need a model that can take several datasets of telemetry data (including when the state changes), run it through the ML to train a model that can, using real time data for the last 0-10 seconds or so, determine what state we're in at the moment. In most cases it can even have a "delay" of a second or so. The state change itself is not time critical as such, but it should be able to determine state with a very high confidence as possible within the space of at most 3 seconds.
As I understand it the Create ML app can be used for training a model, for use with the app in question. But as mentioned, I have no real idea what is most suitable for training a model with this kind of data that is supposed to analyze data over time. Tabular Regression, Recommendation? Something else entirely?
I'm guessing that real time data in production code would be supplied as a dataset with the last 20-30 seconds of data as input to the model, rather than just the last packet of telemetry data. But this is just my assumption.
I am attaching a text file with comma separated values from sample telemetry, somewhat truncated for brevity. There are a variety of fields, including coordinates in XYZ space, which have some relation to the state, but can vary wildly from one dataset to another (depending on location). But I assume that the training would automatically give those fields less weight?
If anyone can point me in the right direction, I would be really grateful. The finished model will eventually be used in an iOS app that will display the real time telemetry data.
Thanks in advance,
/Peter