Sensorgan: A Novel Data Recovery Approach For Wearable Human Activity Recognition
Sensorgan: A Novel Data Recovery Approach For Wearable Human Activity Recognition
Sensorgan: A Novel Data Recovery Approach For Wearable Human Activity Recognition
Activity Recognition
DINA HUSSEIN and GANAPATI BHAT, Washington State University, USA
Human activity recognition (HAR) and more broadly, activities of daily life recognition using wearable devices, have the
potential to transform a number of applications including mobile healthcare, smart homes, and itness monitoring. Recent
approaches for HAR use multiple sensors on various locations on the body to achieve higher accuracy for complex activities.
While multiple sensors increase the accuracy, they are also susceptible to reliability issues when one or more sensors are
unable to provide data to the application due to sensor malfunction, user error, or energy limitations. Training multiple
activity classiiers that use a subset of sensors is not desirable since it may lead to reduced accuracy for applications. To handle
these limitations, we propose a novel generative approach that recovers the missing data of sensors using data available from
other sensors. The recovered data is then used to seamlessly classify activities. Experiments using three publicly available
activity datasets show that with data missing from one sensor, the proposed approach achieves accuracy that is within 10%
of the accuracy with no missing data. Moreover, implementation on a wearable device prototype show that the proposed
approach takes about 1.5 ms for recovering data in the w-HAR dataset, which results in an energy consumption of 606 �J.
The low energy consumption ensures that SensorGAN is suitable for efectively recovering data in tinyML applications on
energy-constrained devices.
CCS Concepts: · Computer systems organization → Embedded systems; · Computing methodologies → Machine
learning; · Human-centered computing → Mobile devices.
Additional Key Words and Phrases: Human activity recognition, wearable electronics, missing data detection, data imputation,
clustering, health monitoring.
1 INTRODUCTION
Human activity recognition (HAR) and more broadly, activities of daily life recognition using low-power wearable
devices, are becoming more popular. The increasing popularity is due to their applications in healthcare, smart
home, and itness monitoring [1, 12, 20, 21, 29]. For instance, knowing the activities of the user in a free-living
environment can guide healthcare professionals in devising personalized treatments for movement disorders [12,
21, 24]. These applications have been enabled by recent advances in sensor technology, low-power processors,
and communication technologies.
State-of-the-art approaches for HAR use one or more sensors mounted on the body to identify the activities [28,
32, 33]. Multiple sensors are typically used to obtain higher recognition accuracy or to increase the complexity of
activities. For instance, the approach in [28] uses heart rate monitor along with multiple accelerometers mounted
on the body to distinguish between walking and ascending stairs. The data from multiple sensors is typically
aggregated at a central processing node for activity classiication using machine learning algorithms.
Most, if not all, HAR approaches that employ multiple sensors are trained with the assumption that data from
all the sensors is available without any errors in the data. This assumption may not hold true in real-world
settings for energy-constrained wearable devices. For instance, one or more sensors may turn of periodically
Authors’ address: Dina Hussein, dina.hussein@wsu.edu; Ganapati Bhat, ganapati.bhat@wsu.edu, Washington State University, P.O. Box
642752, Pullman, Washington, USA, 99164-2752.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that
copies are not made or distributed for proit or commercial advantage and that copies bear this notice and the full citation on the irst page.
Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).
© 2023 Copyright held by the owner/author(s).
1539-9087/2023/7-ART
https://doi.org/10.1145/3609425
Table 1. Comparison of HAR accuracy with diferent set of sensors for the w-HAR [5] dataset
due to lack of energy availability in the device [16, 23]. The sensor data may also be missing due to user error,
such as forgetting to place a sensor at the appropriate location [17, 19]. The missing sensor data, in turn, may
lead to signiicant degradation of the recognition accuracy. This is because the HAR algorithms are trained with
the assumption that data from all sensors are available at runtime. Therefore, there is a strong need to design
approaches that account for missing data in one or more sensors while providing accurate HAR.
A canonical approach to handle missing data from one or more sensors is to design individual classiication
algorithms that do not use data from the respective sensors. For example, in an application with one accelerometer
and one gyroscope, we can design three classiiers corresponding to each sensor coniguration. Then, at runtime
we can choose the appropriate classiier as a function of the available sensors. However, this approach sufers
from a key limitation. Speciically,
the accuracy with a subset of sensors may be lower than the accuracy from all the available sensors. Table 1
shows an example of this behavior for the w-HAR dataset [5] that includes accelerometer and stretch sensors.
The activity recognition accuracy with both sensors is 93% while it reduces to 85% and 73% when using only
accelerometer or stretch sensors, respectively. This issue can be more severe for complex activities that require the
information provided by each sensor. Moreover, loading multiple classiiers for each missing data scenario leads
to additional context switching overhead for the wearable devices. Consequently, there is a need for approaches
that achieve comparable accuracy to the baseline with full set of sensors while eliminating the need to train
individual classiiers for all possible sensor combinations.
This paper presents a novel generative approach, referred to as SensorGAN, for missing data recovery. The
approach recovers the data from missing sensors and uses a single classiier to perform the activity classiication.
Inspired by the success of generative adversarial networks (GAN) [9] in the image recognition and natural language
processing domains [36, 38], we propose to utilize GANs to seamlessly recover missing data at runtime so that
the classiiers can provide high accuracy under all conditions. Conventional GANs are able to generate images
or time series data from the latent space to provide additional examples for training or as adversarial data [9].
However, conventional GANs are not suitable for sensor data recovery since the generated data must accurately
represent the activity being performed by the user. Therefore, the proposed SensorGAN uses conditional GANs
and leverages the data of available sensors as conditional inputs. This ensures that the missing sensor data is
generated as a function of the available sensors to accurately represent the activity patterns.
The proposed sensor to sensor data generation method, SensorGAN, is an instantiation of conditional GANs [31]
that take the desired label (e.g. image of a cat) as one of the conditional inputs. Then, the conditional GAN
generates an example of the desired label from the latent space. Conventional conditional GANs use loss functions
representing the accuracy of the discriminator in distinguishing between real and generated data to train the
network. This is not suicient for the proposed SensorGAN approach since our goal is to generate data that
follows distribution of the sensor as the user is performing activities. More speciically, the data generated by
SensorGAN must satisfy following requirements: 1) the generated time series data must follow the distribution
and behavior of real sensor data for the activity of interest, 2) it must have statistical distribution close to the
real, observed data and 3) the generated data should be able to provide classiication accuracy that is comparable
to the accuracy achieved with real sensor data. To achieve these objectives, we introduce three additional loss
functions during the training of the generator. To ensure that the generated data matches the real-world sensor
data, we include the mean squared error (MSE) as part of the training process. Minimizing the MSE ensures
that generated data closely matches real-world sensor data. Next, to ensure that the statistical features of the
distribution of generated data match the actual data features, we introduce feature loss. Speciically, we take the
MSE of the statistical features of the real and generated data as the feature loss. This loss is then used as part of
the generator optimization. Finally, to ensure that data from SensorGAN provides accurate classiication, we irst
train a baseline HAR classiier with data from all sensors. Then, the classiication loss with the generated data is
used to optimize the generator. The inclusion of these additional losses enables SensorGAN to efectively recover
the missing data.
After training the generator with our optimized loss functions, we deploy it on the wearable device to recover
missing data at runtime. If the device detects that any of the sensors has missing data, it uses the generator to
irst recover missing data. Then, it is used with the data of other sensors to perform activity classiication. We
validate the proposed SensorGAN approach on three publicly available HAR datasets [5, 28, 29]. Our experiments
with all three datasets show that the SensorGAN approach is able to recover the data with an average MSE that is
signiicantly smaller than the range of each dataset. Moreover, the classiication accuracy with the generated data
is within 10% of the accuracy without any missing data. We also implement SensorGAN on a wearable device
prototype with the Odroid-XU3 development board [15] to measure the execution time and energy overheads.
Measurements with the w-HAR dataset show that the generator incurs 1.5 ms execution time and 606 �J energy
overhead, which makes SensorGAN suitable for use in tinyML applications. In summary, this paper makes the
following contributions:
• A novel generative approach, SensorGAN, to recover missing sensor data in HAR by leveraging the data
available from other sensors as conditional inputs
• Introduction of MSE, feature loss and classiication loss into generative networks for HAR to ensure that
the data generated by SensorGAN closely follows the real-world sensor data, follows the distribution of
statistical features and provides high classiication accuracy
• Experiments with three publicly available datasets [5, 28, 29] to demonstrate that the proposed approach is
able to generate accurate sensor data and provide classiication accuracy that is within 10% of the baseline
with no missing data
The rest of the paper is organized as follows: Section 2 reviews the related work, while Section 3 introduces
the preliminaries for HAR. Section 4 sets up the data generation problem and Section 5 introduces the proposed
SensorGAN approach. We provide the experimental results with three datasets in Section 6 and inally conclude
the paper with some future research directions in Section 7.
2 RELATED WORK
HAR is being increasingly used for health monitoring, rehabilitation, and itness monitoring applications [20,
21, 29]. Indeed, knowing what a user is doing is one of the irst steps in prescribing therapy for movement
disorders [12, 24]. Early algorithms for HAR typically use a single sensor on the body to monitor sensor data and
identify activities [3, 4, 6, 7]. However, increasing number of activities being recognized with HAR algorithms
has led to multiple sensors being used for monitoring the activities. For instance, the PAMAP2 dataset [28] uses
accelerometers mounted on three locations and a heart rate sensor to monitor user activities. While the addition
of more sensors allows recognition of a richer set of activities, it can also lead to performance degradation if one
or more sensors have missing data [16, 18, 19, 23].
Sensors in wearable devices can have missing data due to various reasons including human error, battery
constraints and malfunction [16, 18, 19, 23]. To handle the missing data, a number of statistical and machine
learning approaches have been proposed [10, 14, 27, 37]. Commonly used statistical methods include using the
mean, median, or regression for data imputation [10]. Machine learning algorithms have also been used to handle
missing data recently. The machine learning approaches include k-nearest neighbor (k-NN), autoencoders, and
generative adversarial networks (GAN) [14, 27, 37]. k-NN methods are popular due to their simplicity, however,
they are not suitable for low-power wearable devices due to the need to store the entire training data in the
memory. GAN based methods have also been proposed for missing data recovery. In particular, the generative
adversarial imputation network (GAIN) proposed by Yoon et al. [37] modiies the general GANs to impute missing
data at runtime. To achieve this, GAIN takes the available data with missing samples and a missing vector to
denote the missing samples. Then, it uses the generator in GAIN to recover missing data. While these data
recovery methods are useful, they are generally suitable only for recovering isolated missing samples and not
long sequences of missing data due to sensor malfunction. Therefore, there is a need to develop approaches that
can recover longer sequences of missing data to enable reliable activity classiication.
The proposed SensorGAN approach precisely addresses the above challenges and enables recovery of long
sequences of missing data. SensorGAN leverages the fact that data from available sensors can be used to generate
data of the missing sensor. Then, the recovered sensor data are used along with the trained classiier to obtain
reliable activity classiication. Using SensorGAN ensures that the HAR algorithm does not need to train a classiier
with each sensor. The proposed SensorGAN approach is complementary to MotionTransormer [8], which aims to
transfer motion tracking models to new sensor locations where no labeled data are available. MotionTransformer
uses knowledge of labeled motion data in one location to generate sequences for another location. However,
the MotionTransformer framework is not validated for conditional data generation from one type of sensor to
another for activity recognition applications. In contrast, we demonstrate the proposed SensorGAN framework
with three publicly available activity datasets. Our experiments show that the data generated using SensorGAN
has accuracies that are within 10% of the baseline accuracy with minimal overhead.
3 HAR BACKGROUND
This section irst provides a brief overview of the main steps involved in state-of-the-art HAR approaches. Then,
we outline the changes to the HAR low with SensorGAN to enable robust HAR in the presence of missing sensor
data.
4 PROBLEM SETUP
We consider a HAR system with � sensors mounted on the user’s body. The data collected by the sensors is
fed into the segmentation algorithm that creates activity segments. Without loss of generality, we assume that
each activity segment contains � samples from each sensor. Consequently, the sensor data in each segment can
be represented with the � × � matrix X = {� 1, � 2, · · · �� } ∈ R� ×� . The sensor data X is input to a feature
generation function � to generate the activity features X� . The activity label in each window is denoted by � ∗ . The
feature data X� and � ∗ are then used in a supervised learning algorithm to train a classiier �� , where � denotes
the classiier parameters. At runtime, features generated from sensor data are fed to the classiier �� to obtain the
ˆ
activity prediction �.
Next, consider that � (< �) of the � sensors are unable to monitor the user activity in a given activity window
�. Since the activity recognition algorithm expects the data from all sensors, the missing sensor’s data in the
data matrix X will get substituted by zeros, another constant value, or noise. We denote the matrix with missing
sensor values as X� . Consequently, the features generated from the X� do not match the expected features for
an activity, leading to misclassiication by classiier �� . The misclassiications can have an adverse efect on user
health in case of critical activities, such as falls. Given this, our goal is to obtain a general sensor data recovery
function ��∗ that uses the data from available sensors and zero-illed missing sensors to recover missing sensor
data. Speciically, the recovery function ��∗ : R� ×� → R� ×� maps the data from � − � available sensors to all
the sensors used in HAR. The recovery function generates a matrix of size � × � that contains both available
and missing sensors. From this, we can extract the data for � missing sensors. The mapping function must ensure
that the generated data closely matches real-world sensor data for all activities and provides accurate activity
classiication. Note that in this paper we assume that the wearable system is able to detect presence of missing
data and our goal is to obtain the missing data recovery function using data of available sensors.
The general problem of obtaining the recovery function is challenging since the function has to potentially
handle 2� - 2 combinations of missing sensors. Two scenarios are excluded in the number of potential combinations
since we do not need sensor data recovery when all sensors are available and the system cannot recover any
data if all sensors are missing. We can handle the complexity of obtaining a single recovery function ��∗ by
designing individual recovery functions for each of the 2� - 2 combinations, however, this may lead to high
memory overhead for the wearable device.
Due to the complexity of a single recovery function ��∗ and the overhead of individual recovery functions for
�
2 - 2 combinations, we consider a subset of the problem where one sensor is missing at a time. More speciically,
our goal is to design a recovery function �� : R� ×� → R� ×� that maps the data from � − 1 available sensors to
all sensors, including the missing sensor. The data for missing sensor are then extracted from the generated data
matrix of size � × � . The input matrix to the recovery functions consists of both available sensors and zero-illed
missing sensor. The simpliied problem is acceptable for HAR applications since they typically employ less than
ive sensors [21, 30], which does not result in signiicant overhead. We leave the generalized function ��∗ as future
work while demonstrating the value of sensor data recovery on the smaller problem with one missing sensor.
Generator Network
�
Extract missing
10
Concatenate
Stretch (pF)
Missing
sensor
sensor 5
Acceleration (g)
2
0 0
0 0.5 1
-2
Bias Bias Time (s)
0 0.5 1
Time (s)
(a)
10
Discriminator Network
Stretch (pF)
5
S
0 Concatenate i
0 0.5 1
g Real /
Time (s)
m Generated
Acceleration (g)
2
o
0
i
-2
Bias Bias d
0 0.5 1
Time (s)
(b)
Fig. 2. Overview of the SensorGAN architecture
is used in the training process to ensure that the generator is able to accurately follow the missing sensor data.
The generator in SensorGAN takes two inputs: a latent vector � and the data from available sensors X� ∈ R� ×� .
The input sensor data matrix contains both available and missing sensors. The data for missing sensors are
substituted with zeros. These input data are irst concatenated and reshaped to form an input vector to the
generator. The input vector is then passed through a fully connected neural network to obtain the sensor values,
denoted by X̂� . We choose a fully connected neural network for the generator since our goal is to deploy the
generator on a low-power wearable device. As such, the lower number of computations in a fully connected
neural network when compared to convolutional or recurrent networks will ensure that the generator is energy
eicient. The output of the generator is a R� � matrix representing both available and missing sensors. Since
our goal is to recover data for missing sensors, we extract data for missing sensor using a mask M. The mask
speciies a zero wherever a sensor is available and contains a value of one for missing sensors. Recovered data for
the missing sensor is then concatenated with available sensors to form the full sensor data for a window. The
sensor data are then fed to the feature generation and classiication blocks to obtain activity classiication.
The discriminator architecture, shown in Figure 2(b), takes either observed values or generated data for a
given sensor. That is, the discriminator takes data of a single sensor as input at a time. The main goal of the
discriminator is to determine if the input sensor data is real or generated. Similar to the generator, we use a fully
connected neural network to implement the discriminator. The output of the discriminator is a number between
zero (generated) to one (real) that speciies the probability of the input being real or generated.
where � (·) denotes the probability outputs produced by the discriminator, X ∗ is the ground truth for the missing
sensor data, and G is the generator. It is computationally diicult to directly optimize for the objective function in
Equation 1. Therefore, most GAN approaches use an iterative process where the discriminator is optimized with
a ixed generator and the generator is optimized with a given discriminator. As part of this, a separate objective
function is deined for the discriminator and the generator, as follows.
Acceleration (g)
2
0 Cross-
Discriminator
-2 Entropy Loss
0 0.5 1 10
Time (s)
Stretch (pF)
5
Observed data
Missing
0
sensor 0 0.5 1
Time (s) MSE
� 10
Stretch (pF)
Acceleration (g)
2 Generator 5
Stat Features Loss
0 0
0 0.5 1
Time (s)
-2
0 0.5 1
Time (s)
Feature Generation Classifier
and Classification Loss
Apply gradients
The objective problem ensures that the discriminator correctly identiies observed data as real and generated data
as fake. In practice, the optimization in Equation 2 is converted to a minimization using binary cross entropy so
that standard stochastic optimization algorithms can be employed to train the discriminator.
5.5.1 Discriminator Loss. The most commonly used loss function in generator training quantiies the accuracy
of the discriminator on the generated data. That is, the generator is trained such that the discriminator is unable
to classify the data as fake, i.e., not real-world data. The discriminator loss function is expressed as:
The loss is calculated with a ixed discriminator. Minimizing �� leads to the discriminator predicting data from
the generator as real-world data, which means that the discriminator is unable to distinguish between real and
generated data.
5.5.2 Mean Squared Error Loss. The second objective of the generator in SensorGAN is to ensure that the values
of the recovered sensor data are as close to the real-world sensor data as possible. To achieve this, we introduce
the MSE between generated and observed sensor data as an additional loss. The MSE can be expressed as:
���� = E(X ∗ − X̂� ) 2 (4)
where X̂� is the generated data and E is the expectation operator. The MSE loss ensures that each data point
generated is close in magnitude to the ground truth data. That is, the generator data closely matches actual sensor
data when we minimize the MSE loss. As such, generated data can be examined by users or health experts to
obtain additional insights into user activities.
5.5.3 Classifier Loss. The data recovered by the generator is eventually used in the classiier �� to obtain the
activity classiication. Therefore, it is critical that the generated data leads to accurate classiications. To this end,
we include the classiier loss as part of generator training. Speciically, we use the categorical cross-entropy loss
for the MLP classiier, as shown below:
︁�
��� = − �� log(�� ) (5)
�=0
where � is the number of activities, �� is the activity label, and �� are activity probabilities at the output layer.
During each iteration of the generator training, we use the recovered data along with the data of available
sensors to obtain the feature vector. The feature vector is then fed to the classiier �� to classify the activities.
The classiication output is then used in Equation 5 to calculate the classiier loss. Using classiier loss in the
generator training ensures that the activity classiications using generated data are accurate.
5.5.4 Statistical Feature Loss. The inal consideration in the generator training is ensuring that the statistical
properties of the generated data are same as the observed sensor data. To this end, we include the mean squared
diference in the statistical properties of the two sensor signals as an additional loss. Speciically, we include six
statistical features in the loss function: {mean, variance, kurtosis, skewness, maximum, minimum}. Using these,
the statistical loss function can be written as:
����� = E(� � (X ∗ ) − � � ( X̂� )) 2 (6)
where � � is the function that calculates the statistical features as a function of the sensor data. Minimizing
the statistical feature loss ensures that data distribution of generated data matches actual data, thus aiding in
accurately recovering data patterns. This, in turn, leads to accurate feature generation and classiication as well.
Combining the four losses, we can write the inal loss for the generator training as:
L� = �� + �1���� + �2��� + �3����� (7)
where �1, �2 , and �3 are the weights of respective loss functions. We set these parameters based on a design space
exploration to achieve the lowest overall loss and highest accuracy.
we irst randomly select a missing sensor. The missing sensor values are set to zero and generate sensor data matrix
X� . Using this, the algorithm irst obtains a new discriminator by optimizing the loss function in Equation 2.
Then, we use the current generator to obtain the missing sensor data using X� . The generated data is then used
in conjunction with the ground truth data and activity classiier to obtain the four losses described in the previous
section. The combined loss is optimized to train a new generator �� . At the end of � iterations, the algorithm
returns the optimized generator and discriminator. Finally, the generator is deployed on the wearable device to
recover data at runtime to provide reliable activity classiication.
6 EXPERIMENTAL EVALUATION
6.1 Experimental Setup
6.1.1 Wearable Device. We use a wearable device based on the Odroid-XU3 development board [15] processor as
the main processing unit. Since each dataset used to evaluate SensorGAN has diferent set of sensors, we consider
that the processor present on the Odroid-XU3 development board is representative of the common processor
used to process and recover sensor data. The Expnos 54322 processor on the Odroid-XU3 board integrates four
high-performance ARM Cortex-A15 cores and four low-power ARM Cortex-A7 cores that are used to perform
segmentation, feature generation, and classiication. The Odroid-XU3 board also provides power sensors to
proile power consumption of programs running on the board. The processor is also used to recover missing data
using the SensorGAN generator. We also note that any low-power processor can be used to perform the activity
recognition and recover data using SensorGAN.
6.1.2 Evaluation Metrics. The primary goal of SensorGAN is to recover missing data such that it resembles
real-world sensor data and is able to provide accurate classiication. To this end, we use the MSE and classiication
accuracy to evaluate the quality of the data recovery by SensorGAN. Speciically, we calculate the MSE of the
recovered data with respect to the ground truth for each dataset. Next, to obtain the classiication accuracy, we
irst train an activity classiier with real-world observed sensor data. We use the trained classiier to recognize
activities with the recovered data. That is, instead of using the real-world sensor data as input to the classiier, we
use recovered data. The activities classiied with the recovered data are then used to obtain the classiication
accuracy with SensorGAN. Another goal of SensorGAN is to ensure that the generated data has statistical features
that are similar to the real-world sensor data. To analyze this, we compare the mean, variance, and skewness of the
observed and generated data. We also use the t-distributed stochastic neighbor embedding (t-SNE) [34] method
to visualize the data generated by SensorGAN and real-world observed sensor data. t-SNE is a dimensionality
reduction technique that aids in the visualization of high dimensional data by reducing the data to two or three
dimensions. To achieve this, t-SNE constructs a probability distribution such that similar points are nearby and
dissimilar points are far with high probability. If two distributions are close to each other, their samples will be
close in the t-SNE map while dissimilar distributions will have larger distances between samples. Overall, these
metrics allow us to evaluate the quality of data generated by the generator in SensorGAN.
6.1.3 Baseline Methods. We employ three baselines for evaluation of classiication accuracy with SensorGAN:
zero-illing, average-illing, and sensor suite speciic classiiers. Brief descriptions of each baseline are provided
below:
Zero-Filling: Most devices for wearable HAR use memory bufers on the processor to store incoming sensor data
before performing activity classiication. The memory bufers are typically initialized to zero for each activity
window. As such, we consider zero-illing of missing data as one of the baselines.
Average-Filling: One can also substitute missing sensor data with an average case of sensor data observations.
Speciically, we can store the average value of a sensor in an activity window by taking average of training data.
The average-illing case is used as a second baseline due to its simplicity and ease of implementation.
Sensor-Suite Speciic classiiers: A commonly used approach to handle missing data is to train individual
classiiers for each possible set of missing data scenario so that we can perform activity classiication with
available set of sensors. Therefore, we use it as a baseline for comparisons. At the same time, training multiple
classiiers sufers from two key limitations: 1) the number of required classiiers increases with sensors. For
instance, for a system with � potential sensors, we require 2� − 2 classiiers. 2) The system may need to load
individual classiier for each window if the set of missing sensors changes across windows. This leads to additional
runtime overhead for context switching for classiication.
6.2 Datasets
We use three publicly available activity datasets to evaluate the performance of SensorGAN. This section describes
the characteristics, features used for classiication, and missing data model for each dataset.
6.2.1 w-HAR [5]. The w-HAR dataset includes accelerometer and stretch sensor data for 22 users and eight
activities. The eight activities monitored by the w-HAR dataset are: {Jump, lie down, sit, stand, walk, stairs up,
stairs down, and transition}. The accelerometer is mounted on the user’s ankle while the stretch sensor is mounted
on the knee. The accelerometer is sampled at 250 Hz and the stretch sensor is sampled at 25 Hz. w-HAR employs
a variable-length segmentation technique that creates a new activity segment whenever the stretch sensor has a
local minimum. The variable length segments ensure that each segment contains a single activity, except for
segment where there is an activity transition. Overall, using variable-length segmentation, the w-HAR dataset
provides a total of 4740 activity windows.
We employ the feature set provided by w-HAR to train the classiiers. Speciically, the features from the
accelerometer include the discrete wavelet transform (DWT), mean, and variance. Since the stretch sensor is
repetitive in nature, the features for the stretch sensor include the fast Fourier transform (FFT) of the sensor data.
The minimum and maximum of the stretch sensor also provide useful information, therefore they are included as
additional features. We use this feature set provided in w-HAR to train the MLP classiier.
To model the missing data behavior in w-HAR, we consider that the data from the stretch sensor is missing. This
is a reasonable assumption in w-HAR because it is a discrete sensor unit that communicates to the accelerometer
and processor for activity recognition. The communication channels may experience packet misses, leading to
missing data. Therefore, we use the accelerometer data to recover the missing data from the stretch sensor.
6.2.2 Shoaib et al. [29]. The Shoaib dataset provides accelerometer data for 10 users performing seven activities:
{Biking, walking downstairs, jogging, sitting, stand, walking upstairs, and walk}. The dataset includes accelerometer
sensors at ive locations on the body: left pocket, right pocket, wrist, belt, and upper arm. Each accelerometer is
sampled at 50 Hz. The authors of the dataset use ixed length segments where each segment contains 200 samples.
We follow the same segmentation in evaluating SensorGAN and training the classiier.
The features generated for the Shoaib et al. dataset include the minimum, maximum, DWT, FFT and variance
of each accelerometer. Using the features, we train an activity classiier to recognize activities in the Shoaib et al.
dataset.
To model the missing data in the Shoaib et al. dataset we consider one of the ive sensors is unavailable at any
given time.
Then, we use available data from other sensors to recover missing data using SensorGAN. Making one sensor
missing at a time results in ive missing data scenarios for the Shoaib dataset.
6.2.3 PAMAP2 [28]. The PAMAP2 dataset is one of the most commonly used datasets for designing HAR
classiiers. The dataset provides data for nine users performing six activities: {lying, sitting, standing, walking,
running and cycling}. The data is collected with three accelerometers placed on the wrist of the dominant arm,
chest, and the dominant side’s ankle. The sampling rate of all three accelerometers is 100 Hz.
The authors of the PAMAP2 dataset recommend ixed length segments where each segment contains 512
samples. This is equivalent to a window length of three to ive seconds. For each segment, we generate a subset
of the features proposed by the PAMAP2 authors. Speciically, we obtain the mean, maximum, FFT, standard
deviation, absolute integral of each sensor in each window. These features are used to train the baseline activity
classiier for the PAMAP2 dataset.
To evaluate the efectiveness of the data generated by SensorGAN, we assume that the data from one of the
sensors are unavailable. Then, we use the available data from other sensors to recover the data for the missing
sensor. This results in three missing data scenarios for the PAMAP2 dataset.
Table 2. SensorGAN generator architecture for each dataset H* represents the hidden layer number
The input data from each sensor are normalized linearly to a range of -1 to 1. Next, we determine the number of
neurons in each hidden layer through a design space exploration. The goal of the design space exploration is to
obtain a generator with the highest performance while minimizing the size and computational cost. At the end of
the design space exploration we obtain the network structures shown in the third to ifth columns of Table 2.
Finally, the output layer provides the data recovered for each dataset. The number of outputs is governed by the
segment length and sampling rate of each dataset.
The discriminator in SensorGAN follows similar fully connected structure as the generator with some changes
in the number of inputs.
Speciically, the input for the discriminator consists of either observed values or generated data for a given
sensor. That is, the discriminator takes data of a single sensor as input at a time.
The output in the discriminator consists of a single neuron with the sigmoid activation function. The output of
the discriminator speciies probability of sensor data being either real or generated.
As described in Section 5.5, the generator training includes parameters �1 , �2 , and �3 as the weights given
to each loss function. We determine the values of these parameters via a design space exploration. The inal
values of �1 , �2 , and �3 are shown in the right side of Table 2. We note that the feature loss (�3 ) is not used for the
PAMAP2 dataset since the accuracy does not improve signiicantly with the feature loss.
SensorGAN Training: We implement the SensorGAN training low in Python using the PyTorch library [26].
We use 600, 150, and 350 epochs of training for w-HAR, Shoaib, and PAMAP2 datasets, respectively. All the
SensorGAN training is performed using a server that contains 32 Intel® Xeon® Gold 6226R cores with 192 GB of
memory.
15 15
15 15
Jump
Stretch
Stretch
Stretch
10 10
Stretch
15 15 15 15
Stretch
Stretch
10 10 10
Stretch
10
5 5 5 5
0 0 0 0
0 0.5 1 1.5 0 0.5 1 1.5 0 0.5 1 0 1 2 3
Time (s) Time (s) Time (s) Time (s)
Fig. 4. Comparison of the observed and generated data for each activity in the w-HAR dataset.
We see that the generated data closely matches real-world ground truth data. In fact, for most of the activities the
generated data overlaps with the observed data. This shows that the generator in SensorGAN is able to accurately
recover data for all activities. Table 3 summarizes MSE of generated data for all three datasets. Speciically, the
table provides average MSE loss for all missing data scenarios in each dataset. Observed data for the missing
sensor are used as the ground truth values in the MSE calculation. The MSE analysis allows us to analyze if the
generated data is able to follow observed sensor data.
The table shows that the generated data has an MSE of only 0.1 for the Shoaib et al. dataset. The MSE is slightly
higher for the w-HAR and PAMAP2 datasets. This is expected because of the higher range of data values for the
two datasets, as shown in the third column of the table. Overall, the data generated using SensorGAN closely
follows the real-world sensor data.
Next, we compare the statistical features of the generated data with the observed data. Speciically, we analyze
the distribution of the diference (∥� � (Original data) − � � (Generated data)∥) for the three statistical features,
namely, mean, variance, and skewness. The data distribution diference also uses real, observed sensor data as
ground truth values for evaluations. We evaluate the statistical features and their error since accurate generation of
data will lead to accurate feature generation for the classiier. This, in turn, leads to accurate activity classiication,
as we show later. We also analyze the t-SNE map for the original and the generated data. Figures 5ś8 show the
distribution of the statistical features for the three datasets. For each dataset, we see that the distribution peaks
at zero and reduces quickly. This means that the statistical features of the generated data closely match the
features of real-world data. Moreover, the t-SNE distribution of the generated data almost overlaps with the t-SNE
distribution of observed data, further highlighting the fact that the generated data closely matches real-world
data.
Fig. 5. Distribution of the diference between the statistical Fig. 6. Distribution of the diference between the statistical
features of the generated and the original data using (a) features of the generated and the original data using (a)
mean (b) variance, (c) skewness, and (d) t-SNE for the w- mean (b) variance, (c) skewness, and (d) t-SNE for the Shoaib
HAR dataset when the stretch sensor is missing. et al. when the right pocket sensor is missing.
Fig. 7. Distribution of the diference between the statistical Fig. 8. Distribution of the diference between the statisti-
features of the generated and the original data using (a) cal features of the generated and the original data using
mean (b) variance, (c) skewness, and (d) t-SNE for the Shoaib (a) mean (b) variance, (c) skewness, and (d) t-SNE for the
dataset when wrist sensor is missing. PAMAP2 dataset when the ankle sensor is missing.
Accuracy (%)
Accuracy (%)
Next, we analyze the confusion matrices of activity classiication with real-world observed data and generated
data. Table 4 and Table 5 show the confusion matrices for the w-HAR dataset with the original stretch sensor
data and generated data, respectively. The stretch sensor is considered missing in this scenario for accuracy
evaluations. We also obtain the confusion matrix when the missing data is illed with zeros and average illing as
points of comparison in Tables 6 and 7. The accuracy with zero-illed sensor values ofers a useful baseline because
the wearable device will typically observe zero data when sensor data is missing. Similarly, average-illing case
provides an additional baseline that may be employed to impute data. We see that using the original data leads to
high classiication accuracy for all activities. However, when we use the generated data for classiication, the
accuracy reduces for a few activities. Speciically, the number of correct classiications for sit, stand, and transition
are reduced. This is because sit and stand have similar patterns for the sensor data with minor diferences in
the magnitude. As a result, the generator is unable to accurately recover the data in all cases, especially when
the sit pattern of a user is close to the stand pattern of another user. In contrast, classiication with zero-illed
sensor data experiences signiicant drop in accuracy. For instance, the classiication has an accuracy of zero for
sit and majority of sitting activities are classiied as transition. This shows that the data generated by SensorGAN
enables signiicant accuracy gains when compared to the default zero-illed data. We observe similar results for
average-illing case where majority of sit activities are classiied as transition and several stand activities are
classiied as sit. Overall, the classiication accuracy for the w-HAR dataset is within 8% of the accuracy with no
missing data while the accuracy with zero-illed data is less than 77%, as shown in Figure 10.
We perform the confusion matrix analysis for the Shoaib et al. as well. Tables 8 and Table 9 show the confusion
matrices for the Shoaib dataset for actual data and for scenario when the wrist data is missing. Data from other
four sensors are used to recover the wrist data. Moreover, Tables 10 and 11 show the confusion matrices when
the missing data is illed with zeros and average values, respectively. Similar to the w-HAR dataset, we see that
the baseline classiier achieves high accuracy for all the activities. The high accuracy is maintained with the
generated data as well, except for stairs up and down activities. This is expected because stairs up and down
have similar patterns of sensor data and features, which can lead to misclassiications. In contrast, the zero-illed
sensor data experiences zero accuracy for multiple activities, showing the beneits of the proposed SensorGAN
approach. The average illed case also sufers from low accuracy for biking, walking, and downstairs activities.
Table 4. Confusion matrix for w-HAR with actual data Table 5. Confusion matrix for w-HAR with generated data
Lie Stairs Stairs Tran- Lie Stairs Stairs Tran-
Jump Down Sit Stand Walk Up Down sition Jump Down Sit Stand Walk Up Down sition
J 424 0 0 0 13 2 6 13 J 420 0 0 1 16 4 5 12
L 0 474 0 0 0 0 0 0 L 0 474 0 0 0 0 0 0
S 0 0 660 28 0 0 0 8 S 0 0 522 34 0 0 0 140
St 0 1 6 569 6 0 0 38 St 0 0 138 398 4 0 0 80
W 21 0 1 14 1904 1 28 38 W 24 0 2 11 1904 2 18 46
SU 6 0 0 0 0 101 2 0 SU 5 0 0 0 0 98 6 0
SD 7 0 0 0 14 16 62 0 SD 7 0 0 0 15 17 60 0
T 5 4 12 12 14 1 3 226 T 2 4 52 36 16 2 3 162
Table 6. Confusion matrix for w-HAR with zeros data for Table 7. Confusion matrix for w-HAR with average filling
missing sensor for missing sensor
Lie Stairs Stairs Tran- Lie Stairs Stairs Tran-
Jump Down Sit Stand Walk Up Down sition Jump Down Sit Stand Walk Up Down sition
J 411 1 0 0 33 1 5 7 J 420 0 0 1 13 6 5 13
L 0 473 0 1 0 0 0 0 L 0 474 0 0 0 0 0 0
S 0 0 1 49 1 0 0 645 S 0 0 102 42 1 0 0 551
St 0 2 1 524 11 0 0 82 St 0 1 131 401 0 0 0 87
W 18 0 1 6 1947 0 15 20 W 31 1 2 16 1871 1 21 64
SU 3 0 0 0 1 82 22 1 SU 5 0 0 0 0 100 4 0
SD 8 0 0 0 28 9 54 0 SD 6 0 0 0 15 17 61 0
T 7 4 0 61 39 1 4 161 T 3 4 18 45 14 3 3 187
The overall accuracy of classiication with the generated data is 95.23%, which is within 2% of the baseline 97.48%
accuracy, while the accuracy with zero-illed and average-illed data drops to 53% and 73%, respectively.
Finally, we compare the confusion matrices with the PAMAP2 dataset in Tables 12, 13 and 14, and 15, respectively.
The confusion matrices show the case when ankle sensor is missing in the PAMAP2 dataset. Following the
recommendation of the PAMAP2 authors, we combine sitting and standing into one activity because distinguishing
between the two requires a sensor on the hip. Similar to the other two datasets, the baseline classiier achieves
high accuracy for all activities while the zero-illed and average-data have low accuracy. With the generated
data, the accuracy reduces for the walking activity, while maintaining similar accuracies for other activities. The
accuracy for walking reduces due to high variability of sensor data during walking and the generator is unable to
accurately recover data. At the same time, we note that the generator is able to accurately recover data when the
other two sensors are missing.
6.5.1 Summary of Classification Accuracy. Figure 10 shows a comparison of accuracy for the three datasets when
considering all missing data scenarios. Speciically, the bars for w-HAR show the accuracy when stretch sensor is
missing. On the other hand, bars for Shoaib and PAMAP2 show the average classiication accuracy across all
one sensor missing cases. This amounts to ive cases for the Shoaib dataset and three cases for the PAMAP2
Table 9. Confusion matrix for the Shoaib et al. wrist missing sce-
Table 8. Confusion matrix for the Shoaib et al. with actual data
nario with generated data
Down Up
Biking Stairs Jogging Sitting Stand Stairs Walk Down Up
Biking Stairs Jogging Sitting Stand Stairs Walk
B 449 0 0 0 0 1 0
DS 0 412 1 0 2 23 12 B 425 0 0 25 0 0 0
J 0 0 440 0 0 0 10 DS 0 383 0 0 4 25 38
S 0 0 0 450 0 0 0 J 0 0 420 0 0 0 30
St 0 0 0 0 450 0 0 S 0 0 0 450 0 0 0
US 0 19 0 0 0 431 0 St 0 0 0 0 450 0 0
W 0 11 0 0 0 0 439 US 0 19 0 0 0 430 1
W 0 6 1 0 0 1 442
Table 10. Confusion matrix for the Shoaib et al. wrist missing Table 11. Confusion matrix for the Shoaib et al. wrist missing
scenario with zero-filling scenario with average-filling
Down Up Down Up
Biking Jogging Sitting Stand Walk Biking Jogging Sitting Stand Walk
Stairs Stairs Stairs Stairs
B 3 0 0 444 0 3 0 B 144 0 0 302 0 4 0
DS 0 87 2 0 0 4 357 DS 0 202 3 0 11 32 202
J 0 0 418 0 0 0 32 J 0 0 400 0 0 0 50
S 0 0 0 450 0 0 0 S 0 0 0 450 0 0 0
St 0 0 0 0 450 0 0 St 0 0 0 0 450 0 0
US 0 174 0 0 0 262 14 US 0 39 0 0 17 392 2
W 0 1 428 0 0 0 21 W 0 1 167 0 1 1 280
100
80
60
40
20
0
w-HAR Shoaib PAMAP2
Fig. 10. Comparison of classification accuracies all datasets
Table 12. PAMAP2 confusion matrix with Table 13. PAMAP2 confusion matrix with Table 14. PAMAP2 confusion matrix with
actual data generated data zeros data for missing sensor
Lie Lie Lie
Down Sit Walk Run Cycle Down Sit Walk Run Cycle Down Sit Walk Run Cycle
L 347 25 0 0 2 L 351 23 0 0 0 L 12 17 0 0 345
S 4 710 1 0 1 S 7 708 0 0 1 S 64 420 0 0 232
W 3 2 454 0 0 W 11 447 1 0 0 W 295 3 0 0 161
R 0 4 1 179 1 R 4 11 5 150 15 R 115 41 1 2 26
C 1 2 0 0 311 C 1 8 0 0 305 C 0 0 0 0 314
Table 15. PAMAP2 confusion matrix with average filling for missing sensor
Lie
Down Sit Walk Run Cycle
L 215 159 0 0 0
S 0 715 0 0 1
W 1 457 0 0 1
R 0 165 0 0 20
C 1 9 0 0 304
Actual SensorGAN
Accuracy (%)
dataset. The errors bars in the igure show one standard deviation from the mean for Shoaib and PAMAP2
datasets. We see that SensorGAN achieves average accuracy that is close to the actual accuracy for all three
datasets. In contrast, accuracy of zero-illed and average-illed cases are lower than SensorGAN. They also have
higher standard deviation when compared to SensorGAN, which means that the accuracy has higher variations
across missing data scenarios. Sensor-suite speciic classiier cases achieve better accuracy, however, they incur
additional context switching accuracy and are unable to recover raw data patterns. Overall, SensorGAN is able to
achieve average accuracy that is within 10% of the actual accuracy for all three datasets.
REFERENCES
[1] Sizhe An, Ganapati Bhat, Suat Gumussoy, and Umit Ogras. 2023. Transfer Learning for Human Activity Recognition Using Representa-
tional Analysis of Neural Networks. ACM Trans. Comput. Healthcare 4, 1, Article 5 (mar 2023), 21 pages. https://doi.org/10.1145/3563948
[2] Sizhe An, Yigit Tuncel, Toygun Basaklar, Gokul K Krishnakumar, Ganapati Bhat, and Umit Y Ogras. 2021. MGait: Model-Based Gait
Analysis Using Wearable Bend and Inertial Sensors. ACM Trans. Internet Things 3, 1 (2021), 1ś24.
[3] Muhammad Arif, Mohsin Bilal, Ahmed Kattan, and S Iqbal Ahamed. 2014. Better Physical Activity Classiication Using Smartphone
Acceleration Sensor. J. of Med. Syst. 38, 9 (2014), 95.
[4] Ling Bao and Stephen S Intille. 2004. Activity Recognition From User-Annotated Acceleration Data. In Int. Conf. on Pervasive Comput.
1ś17.
[5] Ganapati Bhat, Nicholas Tran, Holly Shill, and Umit Y Ogras. 2020. w-HAR: An Activity Recognition Dataset and Framework Using
Low-Power Wearable Devices. Sensors 20, 18 (2020), 5356.
[6] Alberto G Bonomi, Annelies HC Goris, Bin Yin, and Klaas R Westerterp. 2009. Detection of Type, Duration, and Intensity of Physical
Activity Using an Accelerometer. Medicine & Science in Sports & Exercise 41, 9 (2009), 1770ś1777.
[7] Judit Bort-Roig, Nicholas D Gilson, Anna Puig-Ribera, Ruth S Contreras, and Stewart G Trost. 2014. Measuring and Inluencing Physical
Activity With Smartphone Technology: A Systematic Review. Sports Medicine 44, 5 (2014), 671ś686.
[8] Changhao Chen, Yishu Miao, Chris Xiaoxuan Lu, Linhai Xie, Phil Blunsom, Andrew Markham, and Niki Trigoni. 2019. MotionTransformer:
Transferring Neural Inertial Tracking between Domains. In Proceedings of the AAAI Conference on Artiicial Intelligence, Vol. 33. 8009ś
8016.
[9] Antonia Creswell, Tom White, Vincent Dumoulin, Kai Arulkumaran, Biswa Sengupta, and Anil A Bharath. 2018. Generative adversarial
networks: An overview. IEEE Signal Processing Magazine 35, 1 (2018), 53ś65.
[10] Ton De Waal, Jeroen Pannekoek, and Sander Scholtus. 2011. Handbook of statistical data editing and imputation. Vol. 563. John Wiley &
Sons.
[11] Jakob Doppler, Gerald Holl, Alois Ferscha, Marquart Franz, Cornel Klein, Marcos dos Santos Rocha, and Andreas Zeidler. 2009. Variability
in Foot-Worn Sensor Placement for Activity Recognition. In 2009 International Symposium on Wearable Computers. IEEE, 143ś144.
[12] Alberto J Espay et al. 2016. Technology in Parkinson’s disease: Challenges and opportunities. Movt. Disorders 31, 9 (2016), 1272ś1282.
[13] Dawud Gordon, Hedda Rahel Schmidtke, Michael Beigl, and Georg Von Zengen. 2010. A novel micro-vibration sensor for activity
recognition: Potential and limitations. In International Symposium on Wearable Computers (ISWC) 2010. IEEE, 1ś8.
[14] Zijian Guo, Yiming Wan, and Hao Ye. 2019. A data imputation method for multivariate time series based on generative adversarial
network. Neurocomputing 360 (2019), 185ś197.
[15] Hardkernel. 2014. ODROID-XU3. https://www.hardkernel.com/shop/odroid-xu3/ Accessed 11/20/2022.
[16] Tahera Hossain, Md Ahad, Atiqur Rahman, and Sozo Inoue. 2020. A Method for Sensor-Based Activity Recognition in Missing Data
Scenario. Sensors 20, 14 (2020), 3811.
[17] Dina Hussein, Taha Belkhouja, Ganapati Bhat, and Janardhan Rao Doppa. 2022. Reliable Machine Learning for Wearable Activity
Monitoring: Novel Algorithms and Theoretical Guarantees. In Proceedings of the 41st IEEE/ACM International Conference on Computer-
Aided Design (ICCAD ’22). Association for Computing Machinery.
[18] Dina Hussein, Aaryan Jain, and Ganapati Bhat. 2022. Robust Human Activity Recognition Using Generative Adversarial Imputation
Networks. In 2022 Design, Automation & Test in Europe Conference & Exhibition (DATE). 84ś87.
[19] Kai Kunze and Paul Lukowicz. 2014. Sensor Placement Variations in Wearable Activity Recognition. IEEE Pervasive Computing 13, 4
(2014), 32ś41.
[20] Jennifer R Kwapisz, Gary M Weiss, and Samuel A Moore. 2011. Activity Recognition using Cell Phone Accelerometers. ACM SigKDD
Explorations Newsletter 12, 2 (2011), 74ś82.
[21] Oscar D Lara et al. 2012. A Survey on Human Activity Recognition Using Wearable Sensors. IEEE Commun. Surveys & Tut. 15, 3 (2012),
1192ś1209.
[22] Song-Mi Lee, Sang Min Yoon, and Heeryon Cho. 2017. Human activity recognition from accelerometer data using Convolutional Neural
Network. In 2017 IEEE International Conference on Big Data and Smart Computing (BigComp). IEEE, 131ś134.
[23] Shengzhong Liu, Shuochao Yao, Yifei Huang, Dongxin Liu, Huajie Shao, Yiran Zhao, Jinyang Li, Tianshi Wang, Ruijie Wang, Chaoqi
Yang, and Tarek Abdelzaher. 2020. Handling Missing Sensors in Topology-Aware IoT Applications with Gated Graph Neural Network.
Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies 4, 3 (2020), 1ś31.
[24] Walter Maetzler, Josefa Domingos, Karin Srulijes, Joaquim J Ferreira, and Bastiaan R Bloem. 2013. Quantitative wearable sensors for
objective assessment of Parkinson’s disease. Movement Disorders 28, 12 (2013), 1628ś1637.
[25] Abdulmajid Murad and Jae-Young Pyun. 2017. Deep Recurrent Neural Networks for Human Activity Recognition. Sensors 17, 11 (2017),
2556.
[26] Adam Paszke et al. 2019. Pytorch: An Imperative Style, High-Performance Deep Learning Library. Advances in neural information
processing systems 32 (2019).
[27] Ivan Miguel Pires, Faisal Hussain, Nuno M Garcia, and Eftim Zdravevski. 2020. Improving Human Activity Monitoring by Imputation of
Missing Sensory Data: Experimental Study. Future Internet 12, 9 (2020), 155.
[28] Attila Reiss and Didier Stricker. 2012. Introducing a New Benchmarked Dataset for Activity Monitoring. In 2012 16th International
Symposium on Wearable Computers. IEEE, 108ś109.
[29] Muhammad Shoaib et al. 2014. Fusion of Smartphone Motion Sensors for Physical Activity Recognition. Sensors 14, 6 (2014), 10146ś10176.
[30] Muhammad Shoaib, Stephan Bosch, Ozlem Durmaz Incel, Hans Scholten, and Paul J.M. Havinga. 2015. A Survey of Online Activity
Recognition Using Mobile Phones. Sensors 15, 1 (2015), 2059ś2085.
[31] Kaleb E Smith and Anthony O Smith. 2020. Conditional GAN for timeseries generation. arXiv preprint arXiv:2006.16477 (2020).
[32] Christina Strohrmann, Holger Harms, and Gerhard Troster. 2011. What Do Sensors Know about Your Running Performance?. In 2011
15th Annual International Symposium on Wearable Computers. IEEE, 101ś104.
[33] Amarnag Subramanya, Alvin Raj, Jef A Bilmes, and Dieter Fox. 2012. Recognizing Activities and Spatial Context Using Wearable
Sensors. arXiv preprint arXiv:1206.6869 (2012).
[34] Laurens Van Der Maaten. 2014. Accelerating t-SNE using Tree-Based Algorithms. The Journal of Machine Learning Research 15, 1 (2014),
3221ś3245.
[35] Aiguo Wang, Guilin Chen, Jing Yang, Shenghui Zhao, and Chih-Yung Chang. 2016. A Comparative Study on Human Activity Recognition
Using Inertial Sensors in a Smartphone. IEEE Sensors J. 16, 11 (2016), 4566ś4578.
[36] Zili Yi, Hao Zhang, Ping Tan, and Minglun Gong. 2017. DualGAN: Unsupervised Dual Learning for Image-To-Image Translation. In
Proceedings of the IEEE International Conference on Computer Vision. 2849ś2857.
[37] Jinsung Yoon, James Jordon, and Mihaela Schaar. 2018. GAIN: Missing Data Imputation using Generative Adversarial Nets. In International
Conference on Machine Learning. PMLR, 5689ś5698.
[38] Yinhe Zheng, Guanyi Chen, and Minlie Huang. 2020. Out-of-Domain Detection for Natural Language Understanding in Dialog Systems.
IEEE/ACM Transactions on Audio, Speech, and Language Processing 28 (2020), 1198ś1209.
[39] Muhammad Zubair, Kibong Song, and Changwoo Yoon. 2016. Human activity recognition using wearable accelerometer sensors. In
2016 IEEE International Conference on Consumer Electronics-Asia (ICCE-Asia). IEEE, 1ś5.