Рассматривается система учета и анализа физической активности с элементами социальной сети в мобильном приложении. Система предназначена для учета тренировок и составления рекомендаций на основе прогнозирования результатов, имеющая элементы социальной сети.
Ключевые слова: учет тренировок, анализ тренировок, прогнозирование, составление тренировок, социальная сеть
The system of accounting and analysis of physical activity in social networks in a mobile application is considered. The system is designed to record training and make recommendations based on the results forecasting, the corresponding social network.
Keywords: The account of trainings, the analysis of trainings, forecasting, drawing up of trainings, a social network
В настоящее время многие из владельцев смартфонов имеют на своем устройстве хотя бы одно мобильное приложение, связанное со здоровьем. Чаще всего это программы для отслеживания и учета двигательной активности, приложения, помогающие соблюдать диету или управлять весом.
Целью работы является разработка системы в формате социальной сети для учета и поиска оптимальных тренировочных программ на основе успешных записей, других, наиболее подходящих по критериям пользователей и прогнозирование результатов.
Существующее в настоящее время ПО не способно генерировать рекомендации, основанные на успешном опыте других участников системы. Такие задачи по настоящее время решает только человек, используя индивидуальные правила, а ЭВМ используется лишь для учета и отслеживания активности.
В то же время тема актуальна, поскольку рассматриваемая область набирает все большую популярность среди пользователей гаджетов и требует новых интересных решений.
Учет нужен для трех основных целей:
‒ Чтобы отслеживать свой прогресс;
‒ Чтобы анализировать физическую активность;
‒ Чтобы прогнозировать свой вес;
Выглядит это как набор данных и цифр с примечаниями к записям.
Показатели, записываемые в дневник тренировок, зависят от дисциплины. К примеру, это будут, веса, количества упражнений и подходов, время пробежки, пульс, замеры тела, данные сна, питания и т. д. Дневник позволяет анализировать и составлять более эффективный план тренинга с учетом своей физиологии и подготовки.
Исходя из основных требований, целесообразно выделить следующие задачи, решаемые в настоящей работе:
‒ создание системы профилей;
‒ сбор статистики и учет тренировок, с возможностью делиться ею с друзьями и другими пользователями системы;
‒ разработка алгоритма составления рекомендаций;
‒ разработка алгоритма прогнозирования веса;
‒ организация чата между пользователями;
Составление рекомендаций происходит путем поиска наиболее успешного опыта других пользователей системы или же путем прогнозирования на основе собственных записей. Учитываются поставленные цели и достигнутые результаты. Исходя из этих данных происходит поиск наиболее эффективных тренингов по критериям запросившего пользователя. Для отбора лучшего опыта в каждой программе тренировок ведется рейтинг тренировок пользователя, он увеличивается за счет достигнутых целей. Для поиска рекомендаций сначала находим максимально похожих по параметрам (N) и целям пользователей, далее отбираем среди них, того, чья эффективность (E) в достижении конкретной цели превосходит других. В результате применяем полученные данные для рекомендаций к запросившему пользователю. Алгоритм представлен в виде блок схемы (рис. 1.).
Рис. 1. Алгоритм поиска оптимальной тренировки
Алгоритм прибавления рейтинга к тренировочной программе: P — прогресс предыдущей тренировки; P2 — прогресс текущей тренировки; E-значение эффективности тренировки. Если, то , иначе значение Е остается неизменным.
Вес прогнозируется с помощью нейронной сети, многослойного персептрона, методом обратного распространения ошибки. Обучающая выборка состоит из веса (Weight), количества калорий (k), количества белков(b), количества воды(w), Weight = f (k, b, w). Принцип функционирования алгоритма обратного распространения ошибки, заключается в использование метода градиентного спуска и корректировки весов, для минимизации ошибки нейронной сети. Алгоритм обучения нейронной сети отображен в виде блок схемы (рис. 2).
Рис. 2. Алгоритм обучения нейронной сети
Для реализации и функционирования проекта необходима операционная система Android 2.3 и выше с наличием доступа в интернет.
Для разработки тела использовался родной язык программирования для Android — Java. Этот язык, позволяет качественно и на достаточном уровне выполнить систему необходимой сложности.
Для написания логики работы функциональных модулей системы в клиентской части использовался язык JAVA, в серверной PHP.
В качестве СУБД используется свободная система управления базами данных MySQL. MySQL является решением для малых и средних приложений. Обычно используется в качестве сервера, к которому обращаются локальные и удалённые клиенты. В качестве веб-сервера выбран Apache 2.2 HTTP — сервер, принадлежащий к категории свободного ПО.
Литература:
- Голощапов А. Л. Google Android. Создание приложений для смартфонов и планшетных ПК. СПб.:БВХ — Петербург, 2013.
- Малыхина М. П. Базы данных: основы, проектирование, использование. С.-П.: БХВ-Петербург, 2004.
- Скот Хоккинс. Администрирование web-сервера Apache. М.: Издательский дом «Вильямс», 2001.
- Google Developer — [Электронный ресурс]. Web-сайт: https://developers.google.com.