Watch MotionMore training data

Project: Watch Motion

  1. Getting Started
  2. Data Collection
  3. More Training Data
  4. More to come...

Now to the fun part: Getting a lot of training data! I'm trying to collect at least a couple recordings of each exercise every day. My plan is to collect enough data to train a simple model that I can implement in the watch app and do some basic exercise classification on device just to see that it works.

When building a machine learning model to classify exercises, the quality of the dataset is just as important as the algorithm. A balanced dataset ensures that the model learns equally from all exercise types, rather than favoring one over the others. To measure how balanced the dataset is, we can use the coefficient of variation (CV) which simply is the standard deviation divided by the mean. We want the CV to be as low as possible, if the dataset is balanced, the CV will be close to 0.

Coefficient of variation
N=4N = 4x1=xchins=0x_1 = x_{chins} = 0x2=xbattlerope=0x_2 = x_{battlerope} = 0x3=xsitups=0x_3 = x_{situps} = 0x4=xpress=0x_4 = x_{press} = 0μ=i=1NxiN=04=0\mu = \frac{\sum_{i=1}^{N} x_i}{N} = \frac{0}{4} = 0σ=1Ni=1N(xiμ)21.118\sigma = \sqrt{\frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2} \approx 1.118
CV=σμNaN\Large \text{CV} = \frac{\sigma}{\mu} \approx NaN

The data is updated every time I add a new recording to the dataset, so check back later to see how it progresses!