[image] [image] Ressource protégée - Inria - Institut national de recherche en sciences et technologies du numérique [Accéder directement au contenu](#)

[image] [image]

* [Documentation](#)

* FR
  Français (FR)

* Anglais (EN)
  Se connecter

* [Portail HAL Inria](#)

* Recherche
  Loading...

## Recherche avancée

Information de documents

Titres

○ Titres

○ Sous-titre

○ Titre de l'ouvrage

○ Titre du volume (Série)

○ Champ de recherche par défaut (multicritères) + texte intégral des PDF

○ Résumé

○ Texte intégral indexé des documents PDF

○ Mots-clés

○ Type de document

○ Sous-type de document

○ Tous les identifiants du document

○ Identifiant HAL du dépôt

○ Langue du document (texte)

○ Pays (Texte)

○ Ville

○ À paraître (true ou false)

Ajouter
<figure><img src="image_1.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
## Auteur

### Auteur (multicritères)

○ Auteur (multicritères)

○ Auteur : Nom complet

○ Auteur : Nom de famille

○ Auteur : Prénom

○ Auteur : Complément de nom, deuxième prénom

○ Auteur : Organisme payeur

○ Auteur : IdHal (chaîne de caractères)

○ Auteur : Fonction

○ Auteur : personID (entier)

○ Auteur : Identifiant de l'organisme payeur

○ Auteur : Identifiant de la structure

○ Directeur de thèse

○ Éditeur

○ Éditeur scientifique

○ Éditeur de la série

## Ajouter

### Structure

### Structure (multicritères)

○ Structure (multicritères)

○ Structure : Acronyme

○ Structure : Nom

○ Structure : Code

○ Structure : Pays

○ Structure : Type

○ Structure : État dans le référentiel

○ Structure : Identifiant HAL de la structure

○ Structure/équipe de recherche : Pays

○ Structure/regroupement d'équipes : Pays

○ Structure/laboratoire : Pays

○ Structure/regroupement de laboratoires : Pays

○ Structure/institution : Pays

○ Structure/regroupement d'institutions : Pays

## Ajouter
Comparative Analysis of Sensor-based Human
Activity Recognition using Artificial Intelligence

Alagappan Swaminathan[0000-0002-1589-687X]

Georgia Institute of Technology Atlanta, GA 30332, USA

alagappan.swaminathan@gatech.edu

**Abstract.** Human Activity Recognition(HAR) has become one of the most prominent research topics in the field of ubiquitous computing and pattern recognition over the last decade. In this paper, a comparative analysis of 17 different algorithms is done using a 4-core 940mx machine and a 16-core G4dn.4xlarge Elastic Compute(EC2) instance on a public domain HAR dataset using accelerometer and gyroscope data from the inertial sensors in smartphones. The results are evaluated using the metrics accuracy, F1-score, precision, recall, training time, and testing time. The Machine Learning(ML) models implemented include Logistic Regression(LR), Support Vector Classifier(SVC), Random Forest(RF), Decision Trees(DT), Gradient Boosted Decision Trees(GBDT), linear and Radial Basis Function(RBF) kernel Support Vector Machines(SVM), K-Nearest Neighbors(KNN) and Naive Bayes(NB). The Deep Learning(DL) models implemented include Convolutional Neural Networks(CNN), Long Short Term Memory(LSTM), a combination of CNN-LSTM and Bidirectional LSTM. Neural Structure Learning was also implemented over a CNN-LSTM model along with Deep Belief Networks(DBN). It is identified that the Deep Learning models CNN, LSTM, CNN-LSTM & CNN-BLSTM consistently confuse between dynamic activities and that the machine learning models confuse between static activities. A Divide and Conquer approach was implemented on the dataset and CNN achieved an accuracy of 99.92% on the dynamic activities, whereas the CNN-LSTM model achieved an accuracy of 96.73% eliminating confusion between the static and dynamic activities. Maximum classification accuracy of 99.02% was achieved by DBN on the full dataset after Gaussian standardization. The proposed DBN model is much more efficient, lightweight, accurate, and faster in its classification than the existing models.

**Keywords:** Machine Learning · Deep Learning · UCI HAR · Inertial sensors · Divide and Conquer · Deep Belief Networks

# 1 Introduction.

"Human Activity Recognition (HAR) has emerged as a major player in this era of cutting-edge technological advancement. A key role that HAR plays is its ability to remotely monitor people" [1, (K et al., 2021)]. Monitoring the activity of an individual is an important aspect in "health-related applications especially that of the elderly people" [2, (Kasteren et al., 2009)]. Smartphones along with
Autres

Champ de recherche par défaut (multicritères)

○ <u>Champ de recherche par défaut (multicritères)</u>

○

○ <u>Revues (multicritères)</u>

○ <u>Revue : Éditeur</u>

○ <u>Revue : Titre abrégé</u>

○ <u>Revue : Titre</u>

○ <u>Revue : Identifiant interne</u>

○ <u>Revue : Date de début de publication</u>

○ <u>Revue : ISSN électronique</u>

○ <u>Revue : ISSN</u>

○ <u>Revue : Éditeur</u>

○ <u>Revue : Couleur dans SHERPA/RoMEO</u>

○ <u>Revue : État dans le référentiel</u>

○

○ <u>Colloque (multicritères)</u>

○ <u>Colloque : Titre</u>

○ <u>Colloque : Organisateur</u>

○ <u>Colloque : date de début (Année)</u>

○ <u>Colloque : date de fin (Année)</u>

○ <u>Conférence invitée (oui/non)</u>

○

○ <u>Projets ANR (multicritères)</u>

○ <u>Projet ANR : Acronyme</u>

○ <u>Projet ANR : Acronyme du programme</u>

○ <u>Projet ANR : Code décision (référence)</u>

○ <u>Projet ANR : Nom</u>

○ <u>Projet ANR : Identifiant interne</u>

○ <u>Projet ANR : État dans le référentiel</u>

○

○ <u>Projets européens (multicritères)</u>

○ <u>Projet européen : Acronyme</u>

○ <u>Projet européen : Identifiant de l'appel à projet</u>

○ <u>Projet européen : Référence</u>

○ <u>Projet européen : Nom</u>

○ <u>Projet européen : Date de fin</u>

○ <u>Projet européen : Financement</u>

○ <u>Projet européen : Date de début</u>
several wearable devices have gyroscopes and accelerometers in them which can be used to classify physical activity. Video data is another approach to classifying physical activity.

Monitoring one's progress is a key element in any kind of education, whether in academic subjects or in physical activities. Recently activity trackers have become an omnipresent tool for measuring physical activities. It has been identified that existing activity trackers are inaccurate with their classification of even simpler activities like standing, sitting, walking upstairs, and downstairs. Dorn's 2019 study[3, (Dorn et al, 2019)] of the current commercial activity monitoring wearables like Fitbit indicated that the devices are inaccurate in their classification of the elliptical machine activity and biking and walking to an extent. A minimum accuracy of 93% was achieved for the activity of walking.

RubénSan-Segundo's 2018 study[4, (San-Segundo et al.,2018)] of human activity recognition, identifies that standing, sitting, walking upstairs, and walking downstairs have relatively lower accuracy as compared to biking and plain walking. The paper indicates that there exists a need to develop algorithms to classify the activity of the individuals with greater accuracy. The existing solutions aren't accurate enough in their classification and hence there arises a need to implement different models to attain better classification results to enable reliable and accurate personal activity tracking & learning. The author concludes that "Confusion is greater between static activities (sit and stand), and similar dynamic activities (walking, walking-upstairs, walking-downstairs, and biking) for smartphones"[4, (San-Segundo et al.,2018)]

## 2 Related Work.

Negar Golestani[7, (Golestani & Moghaddam, 2020)] has stated that "The recurrent neural networks can capture sequential and time dependencies between input data that results in a strong performance. The LSTM cells let the model capture even longer dependencies compared to vanilla cells. A deep architecture with an optimal number of layers enables the neural network to extract useful discriminative features from the set of input data and to improve the performance of the model". Huaijun Wang[8, (Wang et al., 2020)] trained a combination of CNN, LSTM, CNN-BLSTM, CNN-GRU, CNN-LSTM on the UCI machine learning repository dataset named "Smartphone-Based Recognition of Human Activities and Postural Transitions Data Set"[11, (Dua, D. and Graff, C., 2019)] and achieved 95.87% with the standard CNN-LSTM model.

Uddin's 2021 study[9, (Uddin & Soylu, 2021)] indicated that Deep Neural Structured Learning(NSL) achieved 99% accuracy for the classification of 20 activities that are part of the MHealth[12, ][13, ] open-source dataset from the UC Irvine repository. Lukun Wang[10, (Wang, 2016)], concluded that a combination of sensors from the right and left leg using Deep Belief Network (DBN) yielded the highest average accuracy of 99.3% with differentiating the nineteen activities on their own dataset. An experiment was conducted by Akram Bayat[6, (Bayat et al., 2014)] on the classification of activities in a similar UCI dataset using the data from the triaxial accelerometer present within a smartphone. They achieved
○ Projet européen : État dans le référentiel

○ Projet européen : Identifiant interne

○

○ Date de production : année

○ Date de mise en ligne : année

○ Date de publication : année

○ Date d'écriture : année

○ Date de modification du dépôt : année

○ Date de dépôt : année

○ Date de publication électronique : année

○

○ Collection HAL (multicritères)

○ Collection HAL : catégorie

○ Collection HAL : Code

○ Collection HAL : Nom

○ Collection HAL : Identifiant interne

○

○ Identifiant interne du contributeur/déposant

○ Nom complet du contributeur/déposant

○

○ Domaines

○ Domaine primaire

○ Domaine racine

○ Sous-domaine niveau 1

○ Sous-domaine niveau 2

○ Sous-domaine niveau 3

○

○ Statut du document

○ Version du document

○ Type de dépôt

○ Type de document

○ ISBN

○ Numéro - référence

○ Identifiant DOI

○

○ Classification

○ Audience

○ Vulgarisation

○ Comité de lecture - texte (oui ou non)

○ Actes de colloque
a maximum accuracy of 91.15% using a combination of MP, LogitBoost, SVM. Artificial Neural Networks were used for classification of similar signals from wearable devices with an accuracy of 89%.[45]

As evident from the literature survey presented in this section so far, and from the recent research papers in Table 1, It can be understood that a wide variety of algorithms have been implemented by researchers on this dataset over a long period of time. The algorithms all have varying values of accuracy from one author to the other and the results are not verifiable since the code is not open-sourced. In this paper, all the most successful algorithms in the HAR field (17 in number) have been experimented with in two different machines to confirm the results with extensive hyper-parameter tuning. The code will be open-sourced. The 17 algorithms experimented within this paper were chosen based on the accuracy of classification of other inertial sensor-based HAR data sets from the literature survey. There exists no function in the popular machine learning or deep learning libraries to implement DBN, yet the original model proposed by Dr. Hinton[35] achieves 99.02% accuracy indicating the capability of the model to excel in the classification of human activities.

The machine learning models chosen for this project were based on past research work cited in Table 1 in order to present the results of ML algorithms for comparison with the more prominent and successful DL algorithms. The DL algorithms excluding DBN are a combination of CNN and LSTM, both of which excel when it comes to classifying time series data and activity recognition tasks.

<table><caption>Table 1: The results obtained by recent papers from 2019, 2020 & 2021 in comparison with the proposed model using the UCI HAR dataset[5]</caption><thead><tr><td>S.No</td><td>Author</td><td>Model Name</td><td>Accuracy(%)</td></tr></thead><tbody><tr><td>1</td><td>[1, (K et al., 2021)]</td><td>Linear Kernel SVM</td><td>96.6</td></tr><tr><td>2</td><td>[14, (Sikder et al., 2019)]</td><td>CNN</td><td>95.25</td></tr><tr><td>3</td><td>[15, (Cruciani et al., 2020)]</td><td>CNN</td><td>91.98</td></tr><tr><td>4</td><td>[16, (Ullah et al., 2019)]</td><td>LSTM</td><td>93.19</td></tr><tr><td>5</td><td>[17, (Ramachandran & Pang, n.d., 2020)]</td><td>Transfer learning+CNN</td><td>94</td></tr><tr><td>6</td><td>[18, (Roobini & Naomi, 2019)]</td><td>RNN-LSTM</td><td>93.89</td></tr><tr><td>7</td><td>[19, (Khatiwada et al., 2021)]</td><td>CBO-RNN</td><td>90.10</td></tr><tr><td>8</td><td>[20, (Rabbi et al., 2021)]</td><td>SVM</td><td>96.33</td></tr><tr><td>9</td><td>[21, (Han et al., 2021)]</td><td>Stacked Discriminant<br>Feature Learning(SDFL)</td><td>96.26</td></tr><tr><td>10</td><td>[22, (Oh et al., 2021)]</td><td>Semi-supervised active<br>transfer learning</td><td>95.9</td></tr><tr><td>11</td><td>[23, (Huang et al., 2021)]</td><td>3-layer CNN</td><td>96.98</td></tr><tr><td>12</td><td>[24, (Xia et al., 2020)]</td><td>LSTM-CNN</td><td>95.78</td></tr><tr><td>13</td><td>[25, (Nambissan et al., 2021)]</td><td>3-layer LSTM</td><td>89.54</td></tr><tr><td>14</td><td>[26, (Tang et al., 2021)]</td><td>CNN using Lego Filters</td><td>96.90</td></tr><tr><td>15</td><td>[27, (Bashar et al., 2020)]</td><td>Dense Neural Network</td><td>95.79</td></tr><tr><td>16</td><td>[28, (Zhang & Ramachandran, n.d., 2020)]</td><td>Latent Dirichlet allocation</td><td>96.20</td></tr><tr><td>17</td><td>[29, (Nematallah & Rajan, 2020)]</td><td>1-D CNN +Stat features</td><td>97.12</td></tr><tr><td>18</td><td>This paper</td><td>Deep Belief Networks</td><td>99.02</td></tr></tbody></table>
○ Référence interne

○ Financement

○ Collaborations

Ajouter

Lancer la recherche

Recherche experte (SolR)

Recherche experte (SolR)

Lancer la recherche
Vers la recherche avancée

• Déposer

Portail INRIA.HAL.SCIENCE
Les publications, logiciels... des scientifiques Inria

• Accueil

• Publications Inria

○ Consulter les derniers dépôts

○ Par équipe de recherche

○ Par auteur

○ Rapports de recherche et techniques

○ Livres blancs

○ Rapports d'activité des équipes

○ Statistiques

• Boite à Outils

○ X2Hal : importer par lot

○ Logiciels : créer le Codemeta.json

○ Créer mon IDHal

○ Créer mon CVHal

○ Haltools : créer ma page de publications

○ Haltools : extraire des données (réservé Inria)

○ Les bonnes pratiques

■ Comment bien s'affilier ?
# 3 Materials & Methodology.

## 3.1 Data Collection

“The dataset was recorded by conducting an experiment on a group of 30 volunteer volunteers within an age bracket of 19-48 years. Each person performed six activities namely walking, walking upstairs, walking downstairs, sitting, standing, and laying while wearing a smartphone (Samsung Galaxy S II) on the waist. Using its embedded accelerometer and gyroscope, the Triaxial linear acceleration and angular velocity at a constant rate of 50Hz were recorded and the data was labeled manually using the video recordings of the experiments. The sensor signals (accelerometer and gyroscope) were pre-processed by applying noise filters and then sampled in fixed-width sliding windows of 2.56 sec and 50% overlap (128 readings/window). The sensor acceleration signal, which has gravitational and body motion components, was separated using a Butterworth low-pass filter into body acceleration and gravity. The gravitational force was assumed to have only low-frequency components and therefore a filter with 0.3 Hz cutoff frequency was used. 561-feature vectors with time and frequency domain variables were extracted from the data.”[5, (Anguita et al., 2013)]. The dataset was created and donated to the public domain by Davide Anguita[5, (Anguita et al., 2013)]. This is one of the most commonly used datasets to benchmark models in the field of Human Activity Recognition as evident from the list of recent research papers using the same dataset from Table 1. The large amount of recent research on this dataset makes it of paramount interest to HAR researchers around the world. All 561 features were used for the training and testing of the ML models. The length of each feature is 10299 rows of data. Some of notable features in the dataset are gravity, body acceleration magnitude, gyroscope magnitude, jerk magnitude along the different axes and along the time and frequency domain.

## 3.2 Preprocessing

The raw data was checked for null values, duplicates, and elements such as '()', '-', '.', were removed from the dataset. “Features were normalized and bounded within [-1,1]” by Davide Anguita[5, (Anguita et al., 2013)] which were standardized between[0,1] using Gaussian Standardization.

$$Standardization, Z = \frac{x - (\mu)}{\sigma} \qquad (1)$$

Where,

$$Mean, \mu = \frac{1}{N} \sum_{i=1}^{N} (x_i) \qquad (2)$$

$$Standard deviation, \sigma = \sqrt{\frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2} \qquad (3)$$

## 3.3 Methodology and Models

After collecting the data and pre-processing it, the data is segmented into train and test data with a 70:30 ratio. The data from 21 participants are allocated as
■ Quelle version puis-je déposer ?

■ Choisir le bon « type de document »

■ Mettre en valeur ses publications

○ Les tutos IES Inria

■ Lier les notices dans HAL

■ Umbrhal Inria pour l'accessibilité

■ Personnaliser son CVHAL

■ Créer et Personnaliser sa collection

• Documentation

○ Aide en ligne HAL

○ Aide en ligne Haltools

○ Aide en ligne X2hal

○ Tutoriels video HAL

○ Documentation API HAL

○ Ajouter des vignettes

○ Identifiant auteur IdHAL et CV

○ Compléter son dossier ORCID avec ses dépôts HAL

○ Inria et la Science Ouverte

X

X

X

Loading...

X

Le document que vous demandez est en access restreint
jusqu'au 2025-01-01 !

Revenir a la notice

Retourner à l'accueil

Contact

•

Ressources
<figure><img src="image_2.png" /><figcaption>Fig. 1: Process flow chart adapted from [15] & [31]</figcaption></figure>

train data and the data from 9 participants is allocated as test data. "From each window of data, a vector of features was obtained by calculating variables from the time and frequency domain" by Davide Anguita[5, (Anguita et al., 2013)]. The extracted features are then given to the ML classifiers and the models are evaluated and compared with the results of the other models. In the case of DL models, the data after segmentation is directly presented to the models without the step of feature extraction.

Numpy[38] and Pandas[39] packages were used for pre-processing the data. Matplotlib[41] and Seaborn[40] packages were used for visualization. GBDT was implemented using Light GBM[42]. The other ML classifiers were implemented using Scikit-Learn[34].

The DL models(a,b,c,d) from Fig.2 were chosen based on their ability to classify time-series data with great accuracy and the for their characteristics to perform very well with activity recognition tasks as evident from the related work in Table 1. The models e and f in Fig.2 are unique in that only static or dynamic activities were given to these models and hence were trained for a very large number of epochs. A max epoch value of 15000 and 500 was used for the training of the Dynamic CNN and Static CNN-LSTM models. The static CNN-LSTM was limited to 500 epochs due to its complex architecture. The unique architecture seen in Fig.2 for highly successful Dynamic CNN and static CNN-LSTM was achieved after a great deal of experimentation with various combinations of deep learning models.
* Documentation

* FAQ

* API

* OAI-PMH

* AuréHAL

## Informations

* À propos

* Données personnelles

* Mentions légales

* Accessibilité

* Conformité RGAA

## Questions juridiques

* Je publie, quels sont mes droits ?

* Loi pour une République numérique

* Stratégie de non-cession des droits

* SHERPA/RoMEO

## Portails

* Portails institutionnels

* HAL

* HAL SHS

* HAL Thèses

* MédiHAL

## CCSD

* CCSD

* Episciences

* Sciencesconf
<table><caption>(a) LSTM Model</caption><caption>Model: "sequential"</caption><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td> lstm (LSTM)</td><td>(None, 32)</td><td>5376</td></tr><tr><td> dropout (Dropout)</td><td>(None, 32)</td><td>0</td></tr><tr><td> dense (Dense)</td><td>(None, 6)</td><td>198</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 5,574<br> Trainable params: 5,574<br> Non-trainable params: 0</td></tr></tfoot></table>

<table><caption>(c) CNN-LSTM</caption><caption>Model: "sequential"</caption><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td> convld (ConvID)</td><td>(None, 126, 128)</td><td>3584</td></tr><tr><td> convld_1 (ConvID)</td><td>(None, 124, 64)</td><td>24640</td></tr><tr><td> dropout (Dropout)</td><td>(None, 124, 64)</td><td>0</td></tr><tr><td> lstm (LSTM)</td><td>(None, 124, 128)</td><td>98816</td></tr><tr><td> dropout_1 (Dropout)</td><td>(None, 124, 128)</td><td>0</td></tr><tr><td> lstm_1 (LSTM)</td><td>(None, 124, 64)</td><td>49408</td></tr><tr><td> dropout_2 (Dropout)</td><td>(None, 124, 64)</td><td>0</td></tr><tr><td> max_poolingId (MaxPoolingID)</td><td>(None, 62, 64)</td><td>0</td></tr><tr><td> flatten (Flatten)</td><td>(None, 3968)</td><td>0</td></tr><tr><td> dense (Dense)</td><td>(None, 188)</td><td>396960</td></tr><tr><td> dense_1 (Dense)</td><td>(None, 6)</td><td>606</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 573,954<br> Trainable params: 573,954<br> Non-trainable params: 0</td></tr></tfoot></table>

<table><caption>(d) CNN-BLSTM</caption><caption>Model: "sequential 1"</caption><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td> convld_2 (ConvID)</td><td>(None, 126, 128)</td><td>3584</td></tr><tr><td> convld_3 (ConvID)</td><td>(None, 124, 64)</td><td>24640</td></tr><tr><td> dropout_3 (Dropout)</td><td>(None, 124, 64)</td><td>0</td></tr><tr><td> bidirectional_1 (Bidirectional)</td><td>(None, 124, 256)</td><td>197632</td></tr><tr><td> dropout_4 (Dropout)</td><td>(None, 124, 256)</td><td>0</td></tr><tr><td> bidirectional_1 (Bidirectional)</td><td>(None, 124, 128)</td><td>164352</td></tr><tr><td> dropout_5 (Dropout)</td><td>(None, 124, 128)</td><td>0</td></tr><tr><td> max_poolingId_1 (MaxPoolingID)</td><td>(None, 62, 128)</td><td>0</td></tr><tr><td> flatten_1 (Flatten)</td><td>(None, 7936)</td><td>0</td></tr><tr><td> dense_2 (Dense)</td><td>(None, 100)</td><td>793700</td></tr><tr><td> dense_3 (Dense)</td><td>(None, 6)</td><td>606</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 1,184,514<br> Trainable params: 1,184,514<br> Non-trainable params: 0</td></tr></tfoot></table>

<table><caption>(b) CNN Model</caption><caption>Model: "sequential_3"</caption><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td> convld_3 (ConvID)</td><td>(None, 126, 64)</td><td>1792</td></tr><tr><td> convld_4 (ConvID)</td><td>(None, 124, 64)</td><td>12352</td></tr><tr><td> dropout_5 (Dropout)</td><td>(None, 124, 64)</td><td>0</td></tr><tr><td> max_poolingId_1 (MaxPoolingID)</td><td>(None, 62, 64)</td><td>0</td></tr><tr><td> flatten_1 (Flatten)</td><td>(None, 3968)</td><td>0</td></tr><tr><td> dense_4 (Dense)</td><td>(None, 188)</td><td>396900</td></tr><tr><td> dense_5 (Dense)</td><td>(None, 6)</td><td>606</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 411,658<br> Trainable params: 411,658<br> Non-trainable params: 0</td></tr></tfoot></table>

<table><caption>(e) Dynamic CNN</caption><caption>Model: "sequential"</caption><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td> convld (ConvID)</td><td>(None, 126, 32)</td><td>896</td></tr><tr><td> max_poolingId (MaxPoolingID)</td><td>(None, 63, 32)</td><td>0</td></tr><tr><td> dropout (Dropout)</td><td>(None, 63, 32)</td><td>0</td></tr><tr><td> batch normalization (BatchNo)</td><td>(None, 63, 32)</td><td>128</td></tr><tr><td> convld_1 (ConvID)</td><td>(None, 61, 64)</td><td>6288</td></tr><tr><td> max_poolingId_1 (MaxPoolingID)</td><td>(None, 38, 64)</td><td>0</td></tr><tr><td> batch normalization_1 (Batch)</td><td>(None, 38, 64)</td><td>256</td></tr><tr><td> convld_2 (ConvID)</td><td>(None, 28, 88)</td><td>15448</td></tr><tr><td> max_poolingId_2 (MaxPoolingID)</td><td>(None, 14, 88)</td><td>0</td></tr><tr><td> dropout_1 (Dropout)</td><td>(None, 14, 88)</td><td>0</td></tr><tr><td> batch normalization_2 (Batch)</td><td>(None, 14, 88)</td><td>328</td></tr><tr><td> flatten (Flatten)</td><td>(None, 1120)</td><td>0</td></tr><tr><td> dense (Dense)</td><td>(None, 3)</td><td>3363</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 26,611<br> Trainable params: 26,259<br> Non-trainable params: 352</td></tr></tfoot></table>

<table><caption>(f) Static CNN-LSTM</caption><caption>Model: "sequential 1"</caption><thead><tr><th>Layer (type)</th><th>Output Shape</th><th>Param #</th></tr></thead><tbody><tr><td> convld_2 (ConvID)</td><td>(None, 126, 58)</td><td>1400</td></tr><tr><td> max_poolingId_2 (MaxPoolingID)</td><td>(None, 63, 58)</td><td>0</td></tr><tr><td> batch normalization_2 (Batch)</td><td>(None, 63, 58)</td><td>200</td></tr><tr><td> dropout_4 (Dropout)</td><td>(None, 63, 58)</td><td>0</td></tr><tr><td> convld_3 (ConvID)</td><td>(None, 61, 188)</td><td>15108</td></tr><tr><td> max_poolingId_3 (MaxPoolingID)</td><td>(None, 38, 188)</td><td>0</td></tr><tr><td> batch normalization_3 (Batch)</td><td>(None, 38, 188)</td><td>400</td></tr><tr><td> dropout_5 (Dropout)</td><td>(None, 38, 188)</td><td>0</td></tr><tr><td> lstm_2 (LSTM)</td><td>(None, 38, 32)</td><td>17024</td></tr><tr><td> dropout_6 (Dropout)</td><td>(None, 38, 32)</td><td>0</td></tr><tr><td> lstm_3 (LSTM)</td><td>(None, 38, 88)</td><td>36168</td></tr><tr><td> dropout_7 (Dropout)</td><td>(None, 38, 88)</td><td>0</td></tr><tr><td> flatten_1 (Flatten)</td><td>(None, 2480)</td><td>0</td></tr><tr><td> dense_1 (Dense)</td><td>(None, 3)</td><td>7203</td></tr></tbody><tfoot><tr><td colspan="3">Total params: 77,487<br> Trainable params: 77,187<br> Non-trainable params: 300</td></tr></tfoot></table>

Fig. 2: Structure of the DL models LSTM(a), CNN(b), CNN-LSTM(c), CNN-BLSTM(d) the Divide and Conquer approach(e & f)

The architecture of the DL models can be found in the Fig. 2. The DL models were all implemented and evaluated using Keras[33] and Tensorflow[32]. NSL[37] is a wrapper from Tensorflow[32] constructed over Model(b) from Fig. 2. The unsupervised learning algorithm DBN invented by Hinton[35] was created using the DBN implementation made by Albertup[36].
## 3.4 Evaluation metrics

The models were evaluated using the performance metrics accuracy, precision, f1- score & recall. The training and testing times were also recorded to analyze and compare with the other models that were used in this experiment.

**“Accuracy:** It is defined as the number of correct predictions over the total number of True Positive predictions by the model

$$ Accuracy = \frac{TP + TN}{TP + FP + FN + TN} \qquad (4) $$

where, TP = True positive class prediction, TN = True Negative class prediction, FP = False positive class prediction, FN = False negative class prediction.

**Precision:** It is the number of actual true predictions over total true predictions made by the model

$$ Precision = \frac{TP}{TP + FP} \qquad (5) $$

**Recall:** It is defined as Number of true predictions over actual number of true predictions made by the model

$$ Recall = \frac{TP}{TP + FN} \qquad (6) $$

**F1- score:** F1 Score is the weighted average of Precision and Recall.

$$ F1Score = \frac{2 * (Precision * Recall)}{(Precision + Recall)} \quad [30] \qquad (7) $$

# 4 The Results.

## 4.1 Hyperparameter tuning

GridsearchCV and randomizedsearchCV from Scikit-Learn[34] were used for parameter tuning of the ML models. The parameters that yielded the maximum results are saved in Table.2. For the DL models, manual experimentation was done with the activation functions, model structure, layer counts, number of hidden units within each layer, batch size, max epochs, and the patience value in early stopping. Only the best model was saved and validation accuracy was monitored for change in every epoch. All the DL models were first experimented with the batch sizes [8,10,16,32,64 and 100] for 20 epochs and the batch size that returned the highest accuracy was used for further experimentation with the other parameters. The best parameters are saved in Table.3.

All the 17 models used for the comparative analysis were run on two instances to better understand the time constraints placed on the model by the computing power. The local instance used has a 4 core Central Processing Unit(CPU), 16GB of Random Access Memory(RAM), and a 940MX Graphical Processing Unit(GPU). The EC2 instance used is named G4dn.4xlarge and it has a 16 core Central Processing Unit(CPU), 64GB of Random Access Memory(RAM), and a Tesla T4 Graphical Processing Unit(GPU). The results of all the models from the local instance and the EC2 instance can be found in 4 & 5 respectively.
<table><caption>Table 2: Results of the hyperparameter tuning of the ML models that yielded the best results from the two instances.</caption><thead><tr><td>Model Name</td><td>Hyperparameter Tuning</td><td>Best parameters</td><td>Accuracy (%)</td></tr></thead><tbody><tr><td>Logistic Regression</td><td>'C':[0.01, 0.1, 1, 10, 20, 30], 'penalty': ['12', '11']</td><td>'C': 1, 'penalty': '12'</td><td>95.89</td></tr><tr><td>Linear SVC</td><td>'C':[0.125, 0.5, 1, 2, 8, 16,32,64,40,60,52]</td><td>'C': 0.5</td><td>96.81</td></tr><tr><td>Random Forest</td><td>'n_estimators':(start=10, stop=201, step=20), 'max_depth':(start=3,stop=15,step=2)</td><td>'max_depth': 11, 'n_estimators': 130</td><td>91.96</td></tr><tr><td>RBF SVM</td><td>'C':[2,8,16], 'gamma': [0.0078125, 0.125, 2]</td><td>'C': 16, 'gamma': 0.0078125</td><td>96.27</td></tr><tr><td>Linear SVM</td><td>'C':[2,8,16], 'gamma': [0.0078125, 0.125, 2]</td><td>'C': 2, 'gamma': 0.0078125</td><td>96.44</td></tr><tr><td>Decision Tree</td><td>'max_depth':(start=3, stop=10, step=2)</td><td>'max_depth': 9</td><td>87.55</td></tr><tr><td>GBDT</td><td>'max_depth': (start=5, stop=8, step=1), 'n_estimators':(start=130, stop=170, step=10)</td><td>'max_depth': 5, 'n_estimators': 160</td><td>94.1</td></tr><tr><td>K-NN</td><td>'n_neighbors'= 1 to 101</td><td>'n_neighbors'=8</td><td>90.60</td></tr><tr><td>Naive Bayes</td><td>'var_smoothing': logscale(start=0, stop=-9, num=100)</td><td>'var_smoothing': 0.1</td><td>82.52</td></tr></tbody></table>

<table><caption>Table 3: Best hyperparameters of the DL models.</caption><thead><tr><td>Model Name</td><td>Best parameters</td><td>Accuracy (%)</td></tr></thead><tbody><tr><td>LSTM</td><td>n_hidden_units= 32, Dropout layer rate=0.5, Dense layer(units=6, activation='sigmoid'), optimizer='rmsprop', batch_size=16, patience=100, epochs=500</td><td>93.38</td></tr><tr><td>CNN</td><td>2 layers of Conv1D filters=64, kernel_size=3, activation='relu'), Dropout layer rate=0.5, MaxPooling1D pool_size=2), Dense layer1 units=100, activation='relu'), Dense layer2 units=6, activation='softmax'), optimizer='adam', batch_size=16, patience=100, epochs=500</td><td>94.06</td></tr><tr><td>CNN-LSTM</td><td>1st layer of Conv1D: filters=128, second layer: filters=64. Both Conv1D layers kernel_size=3, activation='relu'. Dropout layer rate=0.5 for all the dropout layers, LSTM layer 1=128 hidden units, LSTM layer 2=64 hidden units, MaxPooling1D pool_size=2), Dense layer1 units=100, activation='relu'), Dense layer2 units=6, activation='softmax'), optimizer='adam', batch_size=16, patience=100, epochs=500</td><td>93.85</td></tr><tr><td>CNN-BLSTM</td><td>Same parameters and structure as CNN-LSTM but with Bidirectional LSTM</td><td>93.04</td></tr><tr><td>Dynamic CNN</td><td>1st layer of Conv1D: filters=32, 2nd layer: filters=64, 3rd layer: filters=80, kernel_size=3, activation='relu', kernel= 'he_normal' are the same for all the layers, MaxPooling1D (pool_size=2), Dropout layer rate=0.2, Dense layer (units=3, activation='sigmoid'), optimizer='adam', batch_size=10, patience=500, epochs=15000</td><td>99.92</td></tr><tr><td>Static CNN-LSTM</td><td>1st layer of Conv1D: filters=50, 2nd layer: filters=100, kernel_size=3, activation='tanh', kernel_initIALIZER = 'he_normal', MaxPooling1D (pool_size=2), Dropout layer rate=0.2 are the same both the Conv1D layers. LSTM layer 1: 32 hidden units, 2nd layer: hidden units=80, activation='tanh', kernel_initIALIZER = 'he_normal' are the same for both the LSTM layers, Dropout layer rate=0.5 are the same both the LSTM layers. Dense layer (units=3, activation='sigmoid'), optimizer='adam', batch_size=10, patience=100, epochs=500</td><td>96.79</td></tr><tr><td>NSL + CNN</td><td>The same parameters of CNN wrapped in NSL with parameters multiplier=0.2, adv step size=0.05</td><td>91.72</td></tr></tbody></table>
<table><caption>Table 4: Summary of the results obtained when the models were run in the 4-core, 16gb RAM, 940MX GPU- local instance</caption><thead><tr><th>Model Name</th><th>Accuracy (%)</th><th>Training time (seconds)</th><th>Testing time (seconds)</th><th>Precision</th><th>Recall</th><th>F1-Score</th></tr></thead><tbody><tr><td>Logistic Regression</td><td>95.89</td><td>23.70</td><td>0.01</td><td>0.96</td><td>0.96</td><td>0.96</td></tr><tr><td>Linear SVC</td><td>96.81</td><td>123.68</td><td>0.009</td><td>0.97</td><td>0.97</td><td>0.97</td></tr><tr><td>Random Forest</td><td>91.96</td><td>848.18</td><td>0.07</td><td>0.92</td><td>0.92</td><td>0.92</td></tr><tr><td>RBF SVM</td><td>96.27</td><td>585.66</td><td>2.26</td><td>0.96</td><td>0.96</td><td>0.96</td></tr><tr><td>Linear SVM</td><td>96.44</td><td>48.96</td><td>0.56</td><td>0.97</td><td>0.96</td><td>0.96</td></tr><tr><td>Decision Tree</td><td>87.75</td><td>21.34</td><td>0.008</td><td>0.88</td><td>0.88</td><td>0.88</td></tr><tr><td>GBDT</td><td>94.1</td><td>2186.41</td><td>0.17</td><td>0.94</td><td>0.94</td><td>0.94</td></tr><tr><td>K-NN</td><td>90.60</td><td>203.20</td><td>1.16</td><td>0.91</td><td>0.91</td><td>0.91</td></tr><tr><td>Naive Bayes</td><td>82.52</td><td>84.09</td><td>0.07</td><td>0.86</td><td>0.83</td><td>0.81</td></tr><tr><td>LSTM</td><td>92.39</td><td>2044.74</td><td>1.32</td><td>0.89</td><td>0.88</td><td>0.89</td></tr><tr><td>CNN</td><td>94.06</td><td>510.84</td><td>51.97</td><td>0.92</td><td>0.92</td><td>0.92</td></tr><tr><td>CNN-LSTM</td><td>93.85</td><td>7116.62</td><td>53.70</td><td>0.92</td><td>0.91</td><td>0.91</td></tr><tr><td>CNN-BLSTM</td><td>93.04</td><td>13571.20</td><td>26.79</td><td>0.90</td><td>0.90</td><td>0.90</td></tr><tr><td>Dynamic CNN</td><td>99.92</td><td>2622.38</td><td>0.27</td><td>1.00</td><td>1.00</td><td>1.00</td></tr><tr><td>Static CNN-LSTM</td><td>96.73</td><td>1140.91</td><td>1.08</td><td>0.97</td><td>0.97</td><td>0.97</td></tr><tr><td>NSL + CNN</td><td>91.72</td><td>271.76</td><td>1.96</td><td>0.92</td><td>0.92</td><td>0.92</td></tr><tr><td>DBN</td><td>99.02</td><td>8643.82</td><td>0.61</td><td>0.99</td><td>0.99</td><td>0.99</td></tr></tbody></table>

<table><caption>Table 5: Summary of the results obtained when the models were run in the 16-core, 64GB RAM, T4 GPU- G4dn.4xlarge EC2 instance</caption><thead><tr><th>Model Name</th><th>Accuracy (%)</th><th>Training time (seconds)</th><th>Testing time (seconds)</th><th>Precision</th><th>Recall</th><th>F1-Score</th></tr></thead><tbody><tr><td>Logistic Regression</td><td>95.86</td><td>9.08</td><td>0.01</td><td>0.96</td><td>0.96</td><td>0.96</td></tr><tr><td>Linear SVC</td><td>96.74</td><td>25.60</td><td>0.005</td><td>0.97</td><td>0.97</td><td>0.97</td></tr><tr><td>Random Forest</td><td>91.89</td><td>301.15</td><td>0.03</td><td>0.92</td><td>0.92</td><td>0.92</td></tr><tr><td>RBF SVM</td><td>96.27</td><td>119.89</td><td>1.31</td><td>0.96</td><td>0.96</td><td>0.96</td></tr><tr><td>Linear SVM</td><td>96.44</td><td>10.30</td><td>0.41</td><td>0.97</td><td>0.96</td><td>0.96</td></tr><tr><td>Decision Tree</td><td>87.55</td><td>9.93</td><td>0.006</td><td>0.88</td><td>0.87</td><td>0.87</td></tr><tr><td>GBDT</td><td>94.1</td><td>433.39</td><td>0.04</td><td>0.94</td><td>0.94</td><td>0.94</td></tr><tr><td>K-NN</td><td>90.60</td><td>55.92</td><td>0.55</td><td>0.91</td><td>0.91</td><td>0.91</td></tr><tr><td>Naive Bayes</td><td>82.52</td><td>18.56</td><td>0.04</td><td>0.86</td><td>0.83</td><td>0.81</td></tr><tr><td>LSTM</td><td>93.38</td><td>470.51</td><td>0.49</td><td>0.94</td><td>0.93</td><td>0.93</td></tr><tr><td>CNN</td><td>93.92</td><td>121.02</td><td>0.36</td><td>0.92</td><td>0.92</td><td>0.92</td></tr><tr><td>CNN-LSTM</td><td>92.26</td><td>644.65</td><td>1.07</td><td>0.91</td><td>0.91</td><td>0.91</td></tr><tr><td>CNN-BLSTM</td><td>92.77</td><td>1121.31</td><td>1.86</td><td>0.90</td><td>0.90</td><td>0.90</td></tr><tr><td>Dynamic CNN</td><td>99.56</td><td>2622.16</td><td>0.21</td><td>0.98</td><td>0.97</td><td>0.97</td></tr><tr><td>Static CNN-LSTM</td><td>96.79</td><td>2840.58</td><td>0.61</td><td>0.97</td><td>0.97</td><td>0.97</td></tr><tr><td>NSL + CNN</td><td>89.92</td><td>75.93</td><td>0.82</td><td>0.90</td><td>0.90</td><td>0.90</td></tr><tr><td>DBN</td><td>98.73</td><td>481.09</td><td>0.11</td><td>0.99</td><td>0.99</td><td>0.99</td></tr></tbody></table>
<figure><img src="image_3.png" /><figcaption>(a) Linear SVC</figcaption></figure>

<figure><img src="image_4.png" /><figcaption>(c) Static CNN-LSTM</figcaption></figure>

<caption>(d) Dynamic CNN</caption>

<caption>Fig. 3: Confusion Matrices of SVC(a), CNN(b) and the Divide and Conquer approach(c & d).</caption>
Among the ML classifiers, Linear SVC yielded the best result of 96.81%. It has been identified that the standard state-of-the-art DL models CNN, LSTM, and combinations of CNN and LSTM have difficulty distinguishing dynamic activities walking and walking upstairs. Also, that the ML classifiers are greatly confused between 2 static activities sitting and standing. This can be seen in the confusion matrix of Linear SVC in Fig(a) of Fig. 3 and CNN in Fig(b) of Fig.3. As observed in these figures, it can be seen that the SVC is confused between sitting and standing and this confusion was seen among all the other ML models. The CNN model is confused between walking and walking upstairs which was also the same set of activities the other DL models excluding DBN were confused with. This identification of the activities that cause certain models' confusion, led to the Divide and Conquer approach to this problem.

The already segmented dataset was joined back and split based on the activity name. The activities sitting, standing, and laying were separated as static data and the other three activities were separated as dynamic. Both the static and dynamic dataset was then split into training and test data with an 80:20 ratio. The data was presented to deeper CNN and CNN-LSTM models for experimentation. The model architectures can be seen in Fig. 2. These models yielded much better results with reduced confusion between the activities as evident from Fig(c) & Fig(d) of Fig.3. The Dynamic CNN yielded an average accuracy of 99.928% on the dynamic activity classification task whereas the proposed Static CNN-LSTM model yielded 96.79% accuracy on the classification of static activities.

## 4.2 Deep Belief Networks

<table><caption>Table 6: Results of the hyperparameter tuning of DBN.</caption><thead><tr><th>Model Name</th><th>Hyperparameter Tuning</th><th>Best parameters</th><th>Accuracy (%)</th></tr></thead><tbody><tr><td>DBN</td><td>hidden units in the layer=[32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', '16384'], batch_size=[32', '64', '128', '256', '512', '1024'], n_epochs_rbm & n_iter_backprop=[100 & 100', '50 & 100', '50 & 200', '10 & 100']</td><td>hidden units in the layer=[2048], learning_rate_rbm=0.05, learning_rate=0.1, n_epochs_rbm=10, n_iter_backprop=100, batch_size=32, activation_function='relu', dropout_p=0.2</td><td>99.02</td></tr></tbody></table>

The DBN model was constructed with one layer of hidden units. The learning rate of the Restricted Boltzmann Machines (RBMs) and the Artificial Neural Networks(ANN) was kept constant at 0.05 and 0.1 respectively. The activation function was set to Relu. Manual experimentation was done with all the parameters and it was identified that changing the number of layers, the activation function and learning rates led to considerable overfitting and loss of valuable information. So, these parameters were kept constant. The batch size, hidden units within the layer, and epochs of pre-training with RBM, and Fine-tuning with ANN were experimented with in great detail. The tuning and best parameters are saved in Table 6. The plotting of Accuracy vs the batch size, hidden units & epochs can be found in subfigures(a, b &c) of Fig.4. The confusion matrix with the classification accuracy for each activity is presented in the subfigure(d) of Fig.4. The final model yielded an overall accuracy of 99.02% on the full dataset.
<figure><img src="image_5.png" /><figcaption>(a) Accuracy vs Hidden units</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>(b) Accuracy vs Batch size</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>(c) Accuracy vs Epoch values</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>(d) Confusion matrix of DBN</figcaption></figure>

<caption>Fig. 4: Hyperparameter tuning of DBN(a,b,c) and the confusion matrix(d) of DBN</caption>
## 5 Conclusion.

<figure><img src="image_9.png" /><figcaption>Fig. 5: Accuracy values of all the models run in the EC2 instance.</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>Fig. 6: Accuracy vs Training time of the models in the EC2 instance</figcaption></figure>

It was identified that the omnipresent activity tracking wearable devices are inaccurate in their classification of simple activities like standing, sitting, walking upstairs, and downstairs. Inertial sensor data from smartphones were used for the
classification task in this experimentation. The public domain dataset created
by Davide Anguita[5] was used. 17 models were implemented on two machine
instances of varying compute power. The confusion between static and dynamic
activities with the ML and DL models was identified and the problem was solved
using a Divide and Conquer approach to the problem. An accuracy of 99.92% was
achieved with the proposed CNN model for the dynamic activities and 96.79%
was achieved with the proposed CNN-LSTM model for the static activities. An
"Unsupervised Probabilistic Deep learning algorithm"[35] named Deep Belief
Networks was implemented on the full dataset and this model achieved an overall
accuracy of 99.02% in the local instance. This final result is approximately 2%
better than all the existing models as evident from the related work section. The
comparison of the accuracy values of all the models run in the EC2 instance can
be seen in the barplot presented in Fig.5. The Accuracy vs Training time can be
observed in the scatter plot presented in the Fig.6. The DBN model implemented
trains relatively quickly while achieving the maximum accuracy amongst all the
models implemented.

6 Limitations & Future work

The results of this experimentation can only be valid with this dataset. This
dataset despite being frequently used as a standard dataset to confirm results
and analysis does not have multiple complex activities. The results will also
need to be confirmed with other public domain data sets using inertial sensors
to confirm the findings and to add generalizability to the conclusions of this
paper.

The experimentation with all the 17 models will be conducted on two other
commonly used public domain data sets with complex activities in the future.
The identified 2 data sets are PAMAP2[43, (Reiss & Stricker, 2012)]. from the
UCI repository and the KU-HAR[44, (Sikder & Nahid, 2021)].

References

1. Kasteren, T. V., Englebienne, G., & Kröse, B. (2009). An activity monitoring system for elderly care using generative and discriminative models. Personal and Ubiquitous Computing. https://doi.org/10.1007/s00779-009-0277-9

2. K, M., Ramesh, A., G, R., Prem, S., A a, R., & Gopinath, Dr. M. P. (2021). 1D Convolution approach to human activity recognition using sensor data and comparison with machine learning algorithms. International Journal of Cognitive Computing in Engineering, 2, 130-143. https://doi.org/10.1016/j.ijcce.2021.09.001

3. Dorn, D., Gorzelitz, J., Gangnon, R., Bell, D., Koltyn, K., & Cadmus-Bertram, L. (2019). Automatic Identification of Physical Activity Type and Duration by Wearable Activity Trackers: A Validation Study. JMIR MHealth and UHealth, 7(5), e13547. https://doi.org/10.2196/13547

4. San-Segundo, R., Blunck, H., Moreno-Pimentel, J., Stisen, A., & Gil-Martín, M. (2018). Robust Human Activity Recognition using smartwatches and smartphones. Engineering Applications of Artificial Intelligence, 72, 190-202. https://doi.org/10.1016/j.engappai.2018.04.002
5. Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra and Jorge L. Reyes-Ortiz. A Public Domain Dataset for Human Activity Recognition Using Smartphones. 21th European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, ESANN 2013. Bruges, Belgium 24-26 April 2013.

6. Bayat, A., Pomplun, M., & Tran, D. A. (2014). A Study on Human Activity Recognition Using Accelerometer Data from Smartphones. Procedia Computer Science, 34, 450–457. https://doi.org/10.1016/j.procs.2014.07.009

7. Golestani, N., & Moghaddam, M. (2020). Human activity recognition using magnetic induction-based motion signals and deep recurrent neural networks. Nature Communications, 11(1), 1551. https://doi.org/10.1038/s41467-020-15086-2

8. Wang, H., Zhao, J., Li, J., Tian, L., Tu, P., Cao, T., An, Y., Wang, K., & Li, S. (2020). Wearable Sensor-Based Human Activity Recognition Using Hybrid Deep Learning Techniques. Security and Communication Networks, 2020, e2132138. https://doi.org/10.1155/2020/2132138

9. Uddin, M. Z., & Soylu, A. (2021). Human activity recognition using wearable sensors, discriminant analysis, and long short-term memory-based neural structured learning. Scientific Reports, 11(1), 16455. https://doi.org/10.1038/s41598-021-95947-y

10. Wang, L. (2016). Recognition of Human Activities Using Continuous Audioencoders with Wearable Sensors. Sensors (Basel, Switzerland), 16(2), 189. https://doi.org/10.3390/s16020189

11. Dua, D., & Graff, C. (2017). UCI Machine Learning Repository. Opgehaal van http://archive.ics.uci.edu/ml

12. Banos, O., Villalonga, C., Garcia, R., Saez, A., Damas, M., Holgado-Terriza, J. A., Lee, S., Pomares, H., & Rojas, I. (2015). Design, implementation and validation of a novel open framework for agile development of mobile health applications. Biomedical Engineering Online, 14 Suppl 2, S6. https://doi.org/10.1186/1475-925X-14-S2-S6

13. Banos, O., Garcia, R., Holgado-Terriza, J. A., Damas, M., Pomares, H., Rojas, I., Saez, A., & Villalonga, C. (2014). mHealthDroid: A Novel Framework for Agile Development of Mobile Health Applications. In L. Pecchia, L. L. Chen, C. Nugent, & J. Bravo (Eds.), Ambient Assisted Living and Daily Activities (Vol. 8868, pp. 91–98). Springer International Publishing. https://doi.org/10.1007/978-3-319-13105-4_14

14. Sikder, N., Chowdhury, Md. S., Arif, A. S. M., & Nahid, A.-A. (2019). Human Activity Recognition Using Multichannel Convolutional Neural Network. 2019 5th International Conference on Advances in Electrical Engineering (ICAEE), 560–565. https://doi.org/10.1109/ICAEE48663.2019.8975649

15. Cruciani, F., Vafeiadis, A., Nugent, C., Cleland, I., McCullagh, P., Votis, K., Giakoumis, D., Tzovaras, D., Chen, L., & Hamzaoui, R. (2020). Feature learning for Human Activity Recognition using Convolutional Neural Networks: A case study for Inertial Measurement Unit and audio data. CCF Transactions on Pervasive Computing and Interaction, 2(1), 18–32. https://doi.org/10.1007/s42486-020-00026-2

16. Ullah, M., Ullah, H., Khan, S. D., & Cheikh, F. A. (2019). Stacked Lstm Network for Human Activity Recognition Using Smartphone Data. 2019 8th European Workshop on Visual Information Processing (EUVIP), 175–180. https://doi.org/10.1109/EUVIP47703.2019.8946180

17. Ramachandran, K., & Pang, J. (n.d.). Transfer Learning Technique for Human Activity Recognition based on Smartphone Data. 18.
18. Roobini, S., & Naomi, J. F. (2019). Smartphone Sensor Based Human Activity Recognition using Deep Learning Models. 8(1), 9.

19. Khatiwada, P., Chatterjee, A., & Subedi, M. (2021). Automated Human Activity Recognition by Colliding Bodies Optimization-based Optimal Feature Selection with Recurrent Neural Network. ArXiv:2010.03324 [Cs, Eess]. http://arxiv.org/abs/2010.03324

20. Rabbi, J., Fuad, M. T. H., & Awal, M. A. (2021). Human Activity Analysis and Recognition from Smartphones using Machine Learning Techniques. ArXiv:2103.16490 [Cs]. http://arxiv.org/abs/2103.16490

21. Han, P. Y., Ping, L. Y., Ling, G. F., Yin, O. S., & How, K. W. (2021). Stacked deep analytic model for human activity recognition on a UCI HAR database (10:1046). F1000Research. https://doi.org/10.12688/f1000research.73174.1

22. Oh, S., Ashiquzzaman, A., Lee, D., Kim, Y., & Kim, J. (2021). Study on Human Activity Recognition Using Semi-Supervised Active Transfer Learning. Sensors (Basel, Switzerland), 21(8), 2760. https://doi.org/10.3390/s21082760

23. Huang, W., Zhang, L., Gao, W., Min, F., & He, J. (2021). Shallow Convolutional Neural Networks for Human Activity Recognition Using Wearable Sensors. IEEE Transactions on Instrumentation and Measurement, 70, 1-11. https://doi.org/10.1109/TIM.2021.3091990

24. Xia, K., Huang, J., & Wang, H. (2020). LSTM-CNN Architecture for Human Activity Recognition. IEEE Access, 8, 56855-56866. https://doi.org/10.1109/ACCESS.2020.2982225

25. Nambissan, G. S., Mahajan, P., Sharma, S., & Gupta, N. (2021). The Variegated Applications of Deep Learning Techniques in Human Activity Recognition. 2021 Thirteenth International Conference on Contemporary Computing (IC3-2021), 223-233. https://doi.org/10.1145/3474124.3474156

26. Tang, Y., Teng, Q., Zhang, L., Min, F., & He, J. (2021). Layer-wise training convolutional neural networks with smaller filters for human activity recognition using wearable sensors. IEEE Sensors Journal, 21(1), 581-592. https://doi.org/10.1109/JSEN.2020.3015521

27. Bashar, S. K., Al Fahim, A., & Chon, K. H. (2020). Smartphone Based Human Activity Recognition with Feature Selection and Dense Neural Network. Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology Society. Annual International Conference, 2020, 5888-5891. https://doi.org/10.1109/EMBC44109.2020.9176239

28. Zhang, Y., & Ramachandran, K. M. (n.d.). Offline Machine Learning for Human Activity Recognition with Smartphone. 6.

29. Nematallah, H., & Rajan, S. (2020). Comparative Study of Time Series-based Human Activity Recognition using Convolutional Neural Networks. 2020 IEEE International Instrumentation and Measurement Technology Conference (I2MTC), 1-6. https://doi.org/10.1109/I2MTC43012.2020.9128582

30. Ankita, Rani, S., Babbar, H., Coleman, S., Singh, A., & Aljahdali, H. M. (2021). An Efficient and Lightweight Deep Learning Model for Human Activity Recognition Using Smartphones. Sensors, 21(11), 3845. https://doi.org/10.3390/s21113845

31. Bulling, A., Blanke, U., & Schiele, B. (2014). A tutorial on human activity recognition using body-worn inertial sensors. ACM Computing Surveys, 46(3), 33:1-33:33. https://doi.org/10.1145/2499621

32. Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, G. S., Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving, G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., ... Zheng, X.
(2016). TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems. ArXiv:1603.04467 [Cs]. http://arxiv.org/abs/1603.04467

33. Chollet, F., & others. (2015). Keras. GitHub. Retrieved from https://github.com/fchollet/keras

34. Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., & Duchesnay, É. (2011). Scikit-learn: Machine Learning in Python. The Journal of Machine Learning Research, 12(null), 2825–2830.

35. Hinton, G. E., Osindero, S.,& Teh, Y.-W. (2006). A Fast Learning Algorithm for Deep Belief Nets. Neural Computation, 18(7), 1527–1554. https://doi.org/10.1162/neco.2006.18.7.1527

36. albertbup. (2021). Deep-belief-network [Python]. https://github.com/albertbup/deep-belief-network (Original work published 2015)

37. Gopalan, A., Juan, D.-C., Magalhaes, C. I., Ferng, C.-S., Heydon, A., Lu, C.-T., Pham, P., Yu, G., Fan, Y., & Wang, Y. (2021). Neural Structured Learning: Training Neural Networks with Structured Signals. Proceedings of the 14th ACM International Conference on Web Search and Data Mining, 1150–1153. https://doi.org/10.1145/3437963.3441666

38. Harris, C. R., Millman, K. J., van der Walt, S. J., Gommers, R., Virtanen, P., Cournapeau, D., Wieser, E., Taylor, J., Berg, S., Smith, N. J., Kern, R., Picus, M., Hoyer, S., van Kerkwijk, M. H., Brett, M., Haldane, A., del Río, J. F., Wiebe, M., Peterson, P., ... Oliphant, T. E. (2020). Array programming with NumPy. Nature, 585(7825), 357–362. https://doi.org/10.1038/s41586-020-2649-2

39. McKinney, W. (2010). Data Structures for Statistical Computing in Python. 56–61. https://doi.org/10.25080/Majora-92bf1922-00a

40. Waskom, M. L. (2021). seaborn: Statistical data visualization. Journal of Open Source Software, 6(60), 3021. https://doi.org/10.21105/joss.03021

41. Hunter, J. D. (2007). Matplotlib: A 2D Graphics Environment. Computing in Science Engineering, 9(3), 90–95. https://doi.org/10.1109/MCSE.2007.55

42. Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q., & Liu, T.-Y. (2017). LightGBM: A Highly Efficient Gradient Boosting Decision Tree. Advances in Neural Information Processing Systems, 30. https://papers.nips.cc/paper/2017/hash/6449f44a102fde848669bdd9eb6b76fa-Abstract.html

43. Reiss, A., & Stricker, D. (2012). Introducing a New Benchmarked Dataset for Activity Monitoring. 2012 16th International Symposium on Wearable Computers, 108–109. https://doi.org/10.1109/ISWC.2012.13

44. Sikder, N., & Nahid, A.-A. (2021). KU-HAR: An open dataset for heterogeneous human activity recognition. Pattern Recognition Letters, 146, 46–54. https://doi.org/10.1016/j.patrec.2021.02.024

45. Sutharsan, V., Swaminathan, A., Ramachandran, S., Lakshmanan, M. K., & Mahadevan, B. (2022). Electroencephalogram Signal Processing with Independent Component Analysis and Cognitive Stress Classification Using Convolutional Neural Networks. In R. P. Mahapatra, S. K. Peddoju, S. Roy, P. Parwekar, & L. Goel (Eds.), Proceedings of International Conference on Recent Trends in Computing, Lecture Notes in Networks and Systems (pp. 275–292). Singapore: Springer.