Exercise Counting Result
Through experimental verification, we found that the current system can accurately measure the vast majority of normal movement in gym. But we also found false positives.
First, it is impossible to determine whether the acceleration is caused by collision or by the accelerated motion. Some users finish the fitness exercise with a collision of the plates, the acceleration characteristics are identical with the acceleration that generated by a normal fitness motion. In addition, if the user continues to do reciprocating motions within a small distance, the system will also be counting. Both situations will lead to systematic misjudgment.
But the above two acts are not standard exercise actions, so we can get the conclusion that, for those user that follow the correct instructions, our system could get accurate movement data.
First, it is impossible to determine whether the acceleration is caused by collision or by the accelerated motion. Some users finish the fitness exercise with a collision of the plates, the acceleration characteristics are identical with the acceleration that generated by a normal fitness motion. In addition, if the user continues to do reciprocating motions within a small distance, the system will also be counting. Both situations will lead to systematic misjudgment.
But the above two acts are not standard exercise actions, so we can get the conclusion that, for those user that follow the correct instructions, our system could get accurate movement data.
Collaborative filtering result
To test the collaborative filtering recommendation system, we perform cross-validation over the dataset and test the predicted records with the actual records of the user. We used the root mean squared error (RMSE) to test these ratings.
Firstly, we split the 70% of the records as the training set the remaining 30% as the testing set. Then we train the model and evaluate it by the testing set.
Firstly, we split the 70% of the records as the training set the remaining 30% as the testing set. Then we train the model and evaluate it by the testing set.
In the first figure on the left, with fixed iteration and λ, rank produced the best RMSE score at rank equals 1, which due to the uniformly distributed fake data. In a uniform distribution, users have similar preference to each exercise. Then given fixed rank and λ, each iteration improves the RMSE score of the dataset, and it converges after about 7 iterations, as shown in the second figure on the left. |
For fixed rank, the convergence RMSE score is a convex function of λ, and the optimal value of λ is monotone decreasing with respect to rank. Based on these observations, we were able to find the best value of λ = 2.4 for optimal rank.
Currently the parameter tuning process looks strange only because our user data was generated by forgery_py with uniform distribution, but the optimization method will be the same when we handling real world data.
Currently the parameter tuning process looks strange only because our user data was generated by forgery_py with uniform distribution, but the optimization method will be the same when we handling real world data.
Platform Description
We have developed a “full stack” IoT development, and in our platform, we connect Bluetooth Sensor Device, Android Mobile Application, and AWS EC2 Web Server together. Our platform provides user with a much easier way to record their daily exercise in gym. Also, we have provided the user opportunity to find new friends and share exercise experience in our community. To help the user schedule his/her exercise plan, we can also make some exercise recommendation by collaborative filtering algorithm based on large database on the web server.
In the Android Application, we provide login and register page, and user’s homepage that contains user’s exercise history information, ten most recent exercise and personalized recommendations. Choosing from a list of exercises from the exercise select page, users will be directed to an exercise page that can collect real-time data from WICED Sense, and count the exercise times automatically.
In the Android Application, we provide login and register page, and user’s homepage that contains user’s exercise history information, ten most recent exercise and personalized recommendations. Choosing from a list of exercises from the exercise select page, users will be directed to an exercise page that can collect real-time data from WICED Sense, and count the exercise times automatically.
As shown on the left: a) login and register page, user can register and login his/her own account. b, c) user’s homepage, user can see his/her exercise history information, ten most recent exercise and personalized recommendations. d) exercise-select page, user can select the exercise he/she wants to do. e, f) do-exercise page, user can click start button to start exercising and click pause button to pause exercise and send exercise data to the server. Android will collect real-time data from WICED Sense, and count the exercise times automatically. |
|