Распознавание и классификация человеческой деятельности на основе показаний датчиков наших смартфонов.

В этой статье мы будем классифицировать различные действия человека на основе показаний датчиков акселерометра и гирометра. Мы будем использовать набор данных UCI, в котором были проведены эксперименты на 30 участниках, а записи были получены с использованием встроенного акселерометра и гироскопа, 3-осевого линейного ускорения и 3-осевой угловой скорости с постоянной частотой 50 Гц. Эксперименты записывались на видео, чтобы маркировать данные вручную. Полученный набор данных был случайным образом разделен на два набора, т.е. 70% участников для обучения, а остальные 30% для тестирования. Вектор из 561 функции с переменными во временной и частотной областях, которые были разработаны инженерами по обработке сигналов UCI.

Мы подготовим сравнительное исследование 7 различных моделей машинного обучения, которые использовались в процессе, используя вышеупомянутые данные, и используем LSTM с настройкой гиперпараметров на необработанных данных временной метки размера 128, записанных в окне 2,56 секунды. Набор данных, который мы использовали для LSTM, даже не был предварительно обработан, что подчеркивает силу моделей глубокого обучения по сравнению с моделями машинного обучения. Прежде чем продолжить, давайте начнем!

Выбор функций и визуализация данных.

Функции были извлечены из файла features.txt, и был создан фрейм данных путем добавления столбца person_id, activity_id и активности. Первая визуализация выделила частоту активности каждого участника нашего тренировочного набора.

Как упоминалось в записной книжке, набор данных был обработан в соответствии с нашими потребностями. После просмотра обработанных функций мы попытались выяснить, можем ли мы действительно различать различные действия на основе обработанной функции. Итак, мы рассмотрели две функции, первой из которых является tBodyAccMagmean, и мы смогли получить некоторые результаты.

Из приведенного выше графика мы можем сделать следующие наблюдения:

  • Если tAccMean равно ‹ -0,5, то действиями являются либо стоя, либо сидя, либо лежа.
  • Если tAccMean > -0,5, то действиями являются либо ходьба, либо ходьба по лестнице, либо ходьба по лестнице.

Это может оказаться отправной точкой в ​​наших дальнейших исследованиях. Еще одна функция, которую мы использовали, — это angleXgravityMean, и здесь мы также смогли сделать некоторые выводы.

Из приведенного выше графика мы находим даже точные результаты.

  • Если AccGravityMean › 0, мы можем сделать вывод, что действие, скорее всего, будет ложью.
  • Если AccGravityMean ‹ 0, мы можем сделать вывод, что действие может быть любым, кроме лжи.

Эти результаты, безусловно, доказывают корреляции, которые наш набор данных может иметь с различной классификацией деятельности.

Уменьшение размерности с помощью аппроксимации и проекции равномерного многообразия.

С этого момента все начнет становиться интереснее! Давайте кратко познакомимся с аппроксимацией и проекцией равномерного многообразия.

Технология уменьшения размерности UMAP, используемая для визуализации, а также нелинейного уменьшения размерности. Алгоритм основан на трех предположениях о данных, т.е. данные равномерно распределены на римановом многообразии, риманова метрика локально постоянна (или может быть аппроксимирована как таковая) и многообразие локально связно.

Итак, что UMAP сделает для нас, так это найдет вложение путем поиска низкоразмерной проекции данных, которая имеет наиболее близкую эквивалентную нечеткую топологическую структуру. Мы могли бы использовать другие методы многообразного обучения, такие как t-SNE, но UMAP делают дают преимущество над t-SNE, поскольку он вносит ряд улучшений, таких как другая функция стоимости и отсутствие нормализации вероятностей высокой и низкой размерности. Мы использовали UMAP для справедливого разделения всех действий, кроме сидения. и СТАНДАРТ, как указано на графике.

Мы добрались до моделирующей части! Следующее, что мы будем делать, — это использовать различные модели классификации, чтобы найти лучшую модель, подходящую для нашей цели.

Моделирование машинного обучения

Мы будем реализовывать семь классических моделей машинного обучения и сравнивать их результаты.

Первая модель, которую мы будем использовать, — это логистическая регрессия. В разделе кода части 2 мы можем наблюдать, как мы выполнили 5-кратную перекрестную проверку различных переданных параметров. Логистическая регрессия дала нам точность около 96,2%.

Оставайтесь с нами для части 2, в которой мы будем использовать больше моделей машинного обучения, сравнивать их точность и мою любимую часть, применять LSTM к показаниям необработанных данных.

Это моя первая статья о Науке о данных. Только начав изучать области машинного обучения, глубокого обучения, науки о данных, я решил опубликовать свой первый проект, который я сделал после того, как получил базовое понимание того, как все работает под капотом. Уилл публиковать регулярно :D