# SemiPFL: Personalized Semi-Supervised Federated Learning Framework for Edge
Intelligence

Arvin Tashakori, Wenwen Zhang, Z. Jane Wang, and Peyman Servati
Department of Electrical and Computer Engineering
University of British Columbia
Vancouver BC, Canada A. Tashakori is the corresponding author:
<EMAIL_ADDRESS>
###### Abstract

Recent advances in wearable devices and Internet-of-Things (IoT) have led to
massive growth in sensor data generated in edge devices. Labeling such massive
data for classification tasks has proven to be challenging. In addition, data
generated by different users bear various personal attributes and edge
heterogeneity, rendering it impractical to develop a global model that adapts
well to all users. Concerns over data privacy and communication costs also
prohibit centralized data accumulation and training. We propose SemiPFL that
supports edge users having no label or limited labeled datasets and a sizable
amount of unlabeled data that is insufficient to train a well-performing
model. In this work, edge users collaborate to train a Hyper-network in the
server, generating personalized autoencoders for each user. After receiving
updates from edge users, the server produces a set of base models for each
user, which the users locally aggregate them using their own labeled dataset.
We comprehensively evaluate our proposed framework on various public datasets
from a wide range of application scenarios, from wearable health to IoT, and
demonstrate that SemiPFL outperforms state-of-art federated learning
frameworks under the same assumptions regarding user performance, network
footprint, and computational consumption. We also show that the solution
performs well for users without label or having limited labeled datasets and
increasing performance for increased labeled data and number of users,
signifying the effectiveness of SemiPFL for handling data heterogeneity and
limited annotation. We also demonstrate the stability of SemiPFL for handling
user hardware resource heterogeneity in three real-time scenarios.

###### Index Terms:

Edge Computing, Edge Heterogeneity, Personalized Federated Learning, Federated
Learning, Edge Intelligence, Semi-Supervised Learning, Transfer Learning, Meta
Learning, Sensor Analytics.

##  I Introduction

Over the past years, the evolution of sensor and wearable technologies and the
Internet of Things (IoT) devices has led to a wealth of personalized time-
series multi-sensory data, tackling various real-life problems, including
human activity recognition [1, 2, 3], sleep stage identification [4] and fall
detection [5]. The success in these application domains relies on supervised
learning frameworks [6, 7, 8], where high-quality labeled data is necessary to
train classification models in a strictly controlled context. However,
acquiring a large amount of personalized labeled data in a centralized server
is cost-prohibitive, time-consuming, and impractical due to complexity and
privacy concerns [9, 10, 11]. On the other hand, users own devices with
different processing powers, which makes training on user devices impractical
for applications requiring extensive calculations [12]. In summary, these
problems have made it challenging to use an extensive amount of multi-sensor
time-series data for predictive analytics tasks for each edge user.

Addressing the above concerns motivates us to answer the following research
questions: Can we develop a framework to help users participate in cooperative
training without violating their privacy? Can it perform better than
supervised learning methods with a few labeled data points? What is the
influence of the number of available labeled instances on quality of training?
Can the framework provide personalized models adapted to individual users
instead of one global model? What is the impact of the number of users who are
collaborating? In case of required processing on the user side, what is the
effect of user hardware resource heterogeneity on the performance? And what is
the performance of the proposed system compared to other methods?

Federated learning can address the privacy concern regarding sharing of users’
data with a centralized server [10, 11, 13]. It has gained much attention in
recent years, with applications in detection of industrial anomalies [14, 15],
air quality sensing [16], traffic forecast [17][18], resource management in
wireless networks [19, 20, 21, 22], human-computer interaction [23], smart
ocean [24], COVID-19 detection [25, 26], medical imaging [27], clinical
decision systems [22, 28], and embedded intelligence [9, 29, 30, 31, 32, 33].
In federated learning frameworks, users collaboratively train a global model
while keeping their data isolated on the edge devices [34, 35, 36]. The first
method introduced by Google in 2016, FedAVG [37], is widely used as the
baseline [38, 33, 39]. In FedAVG, the server first sends a global model to
each user. Later, edge users update the model using their locally labeled data
and communicate the results back with the server. Finally, the server updates
the global model by averaging the received model parameters from the users.
Despite its simple framework, FedAVG demonstrated exceptional performances in
several scenarios and applications [34, 40, 37]. At the same time, the
performance of federated learning methods including FedAVG, degrades in
scenarios where edge users have heterogeneous attributes, such as a)
heterogeneity in computational power, which means users have different
hardware settings, resulting in various processing delays [41, 34, 42, 43], b)
heterogeneity in the distribution of data and labels [44, 45, 46, 47, 48, 43],
c) heterogeneity in the learning task [41, 34, 43], d) heterogeneity in
learning models [29, 43], and e) heterogeneity in the number of devices per
users [42]. To address this challenge, recent works aimed at developing a
personalized model for each user [32, 31],[42, 43, 49, 50]. An overview of
personalized federated learning models is illustrated in Fig. 1. In
personalized federated learning, users collaborate to develop personalized
models instead of generating a global model [51, 52, 53, 38, 33, 54, 55, 56].
However, these works primarily focus on image classification benchmarks such
as CIFAR10 [57], and CIFAR100 [58], and applications such as multi-sensor and
IoT classifications are left less unattended. Also, in most of these works the
main assumption is that sufficient labeled data exists at each user side,
which may be impractical.

Figure 1: Overview of the general structure of personalized federated
learning. The server communicates a personalized model to each user. Each user
locally updates the model using their sensory data, and return the fine-tuned
model back to the server.

Figure 2: Overview of the semi-supervised learning method used in this work.
First, we train an autoencoder on the whole labeled and unlabeled data. Then,
we use the encoder to transform the data to its latent representation, and we
use the labeled data to train a base classifier. The final model is the
trained encoder followed by the base classifier.

Data annotation is another big challenge to address. Current solutions mainly
employ supervised learning for sensor-based predictive analytic tasks. For
example, in activity recognition, supervised learning is used to deduce
activity categories from time-series sensory input data generated by edge
sensors [59, 60, 61]. Data annotation is required by an expert in the field.
In practice, we mostly have either no label or some labeled data leaving the
bulk of data unlabeled on the edge devices.

Although federated learning can protect user privacy, most of the existing
methods rely on high degree of annotated data. However, due to the
unpredictably variable characteristics of edge users and devices, achieving
labeled data at the edge makes the current solutions impractical. To address
these shortcomings, semi-supervised learning, which is defined between
supervised and unsupervised learning, is proposed to deal with the
insufficient labeled data problem [62]. In semi-supervised learning, we have a
small amount of labeled data and a large amount of unlabeled data. There have
been multiple attempts to unify federated learning with semi-supervised
learning [12, 33, 38],[9]. Zhao et al. consider users have a large amount of
unlabeled data, while the server has a set of labeled data [12]. Saeed et al.
developed a self-supervised method to learn valuable representations from
users’ unlabeled data [9]. None of these work investigates methods to solve
the data heterogeneity problem.

In this work, we aim to integrate semi-supervised learning with personalized
federated learning for multi-sensory time-series-based classification. We
assume that we have a set of labeled data from different distributions at the
server and a small set of labeled data, and a large set of unlabeled data at
the users’ side. The proposed framework contains three main steps: first, the
server learns to generate a personalized autoencoder using a Hyper-network for
each user. Second, the server selects samples close to each user distribution,
transforms its dataset using the corresponding user’s encoder, and trains a
set of base models that map the latent representation to output classes and
send them to that specific user. Finally, the user aggregates the received
models using its labeled datasets.

Our main contributions are as follows:

  1. 1.

We propose SemiPFL, a semi-supervised personalized federated learning
framework, for edge intelligence. SemiPFL applies to a wide range of
scenarios, from supervised learning settings to having no labeled data
available at the user side. To the best of our knowledge, our solutions is the
first attempt to integrate personalized federated learning and semi-supervised
learning for multi-sensory classifications.

  2. 2.

To our knowledge, this is the first work developing personalized models using
a Hyper-network for multi-sensory classification.

  3. 3.

To our knowledge, this is the first work that studies the effect of hardware
resource heterogeneity among users.

  4. 4.

The proposed method outperforms recognition accuracy compared to recent
publications using fully connected neural network architectures.

  5. 5.

We extensively evaluate the proposed framework on publicly available datasets
gathered from edge devices such as smartphones and wearable devices. We show
better performance of the proposed method as more users collaborate in the
framework and more labeled instances are available on the user side.

##  II Background and related work

IoT solutions face several challenges, including a) scarcity and heterogeneity
of computational and storage resources on edge devices [9, 12, 42], b)
heterogeneity of data on edge devices from distribution [33, 42], availability
of labeled data, and c) the requirement for having a smaller and less complex
model architecture [9, 33, 42]. The proposed SemiPFL aims at unifying semi-
supervised learning with personalized federated learning for multi-sensory
time-series edge inputs. In subsequent sections, we present the details of the
main building blocks of our method and related works.

TABLE I: Summary of notations used in this study.

$R$ | Number of training rounds
---|---
$K$ | Number of users
$S$ | Number of sensors
$W$ | Sliding window size
$M$ | Number of different samples available on server side
$T,T^{\prime}$ | Number of fine tuning epochs on user side
$h(.,.)$ | Hyper-network model
$\theta$ | Hyper-network parameters
$\\{\alpha_{j}\\}_{j=1}^{K}$ | User embedding vector
$D_{S}$ | Server data
$D_{j}$ | User j labeled data
$U_{j}$ | User j unlabeled data
$E_{j}$ | User j evaluation data
$\eta,\mu,\zeta$ | Learning rates
$\tau$ | Sample selection threshold
$\mathcal{L}^{a}(.,.)$ | Autoencoder loss function
$\mathcal{L}(.,.)$ | Supervised Learning loss function
$\mathcal{L}_{j}(.)$ | Local loss function for user j
$f_{r}^{b,j}(.)$ | Base model for user j in round r
$f_{r,m}^{b,j}(.)$ | m-th base model for user j in round r
$f_{r}^{a_{j}}(.)$ | Autoencoder model for user j in round r
$\chi_{r,m}^{b,j}$ | Averaging weight for m-th base model for user j in round r
$f_{j}(.)$ | Final classification model for user j
$\Omega(.,...,.)$ | Regularization term

###  II-A Semi-supervised learning

Semi-supervised learning is one division of machine learning that falls
between supervised and unsupervised learning [62], where generally we have a
few labeled instances and a large number of unlabeled instances, and the
number of labeled data points is insufficient to train a desirable supervised
model [62].

One major challenge in supervised learning frameworks is the availability of
labeled instances. Data annotation is usually time-consuming, expensive, and
not accessible at each edge point. SemiFL [30] addresses scenarios where users
have unlabeled instances and collaborate to generate a global model. The
authors assume that a set of labeled instances are available on the server-
side. FedSCN [63] proposes a self-supervised approach based on wavelet
transform (WT) to learn valuable representations from unlabeled sensor inputs.
However, both methods try to generate a global model for users, which does not
perform well in scenarios where data heterogeneity exists among users.

One popular approach to tackling semi-supervised learning is feature
extraction by training an autoencoder on unlabeled instances. Autoencoder, an
artificial neural network, learns data representation from unlabeled data. Its
objective is to transform the original data to its compressed representation
and reconstruct it back to its original form without losing valuable
information. An autoencoder $(f^{a}(.)=f^{a}_{dec}(f^{a}_{enc}(.)))$ contains
two sections, the encoder $f^{a}_{enc}(.)$, which maps instances to their
latent representation, and the decoder $f^{a}_{dec}(.)$, which reconstructs
the original data from its simplified representation. The learning objective
of the autoencoder is to minimize the following loss function [64]:

$\mathcal{L}^{a}(X,f^{a}(X))=\mathcal{L}^{a}(X,f^{a}_{dec}(f^{a}_{enc}(X)))$
(1)

where $\mathcal{L}^{a}(.,.)$ is the autoencoder loss function, and $X\in{\rm
I\\!R}^{S\times W}$ the input data, where $S$ is the number of sensors, and
$W$ the window width. This loss function penalizes the output of the
autoencoder for being dissimilar to input $X$ [64]. Training a classification
model under a semi-supervised learning using the autoencoder requires two
steps. In the first step, we train an autoencoder on all labeled and unlabeled
instances. Then using the encoder part of the trained autoencoder, we compress
the original data to its latent representation, which provides a compact
representation of original instances. Subsequently, we train a base classifier
using the transformed labeled data points. The final classifier will be the
encoder, followed by the base classifier[64, 30]. Fig. 2 gives an overview of
the proposed approach.

Figure 3: Overall architecture of the proposed SemiPFL. 1) The server selects
a user, generates a personalized autoencoder using the user embedding
$\alpha_{j}$ via a Hyper-network, and sends it to the user. 2) The user fine-
tunes the model using its unlabeled data and sends it back to the server. 3)
The server updates the user embedding document and Hyper-network using the
fine-tuned model. 4) The server encodes its labeled data using the encoding
part of the user autoencoder, and 5) trains a set of base models using
supervised learning and sends it to the user. 6) The user generates its base
model by aggregating them using labeled data.

###  II-B Personalized Federated learning

IoT devices such as smartphones and wearable devices generate a massive amount
of data every day. Traditional machine learning approaches require us to
accumulate user data in a centralized database to train supervised models.
However, this task is not practical due to several challenges such as privacy
and bandwidth limitations [40, 9, 65]. Moreover, the growing computational
power of edge devices makes them suitable for local computation and data
storage [12].

Federated learning seeks to provide the same collaborative training without
sharing data. In FedAVG [37], the server aggregates all user models without
particular non-iid data operations (Eqn. (2)). $f_{r}^{j}(.)$ means user-j
model parameters in the r-th round, K is the total number of users, and
$f_{r+1}^{S}(.)$ the global model parameters for round $r+1$ that will be sent
to all users at the beginning of round $r+1$. However, in IoT applications,
heterogeneity always exists among users, such as data heterogeneity or
hardware resource heterogeneity, making it challenging to train a global model
that performs adequately well for all users.

$f_{r+1}^{S}(.)\leftarrow\frac{1}{K}\sum_{j=1}^{K}f_{r}^{j}(.)$ (2)

Recent literature focuses on personalized federated learning to address data
heterogeneity, generating personalized models for different users. FedBN [66]
assumes that each user keeps the local batch normalization while collaborating
to generate a global model. FedPer [67] tries to generate a personalized model
for each user by preserving some local layers. FedProx [39] is a generalized
version of FedAVG. It allows partial information aggregation and adds a
proximal term to FedAVG. Fedhealth [32] is the first personalized federated
learning method introduced for wearable healthcare devices through transfer
learning. In Fedhealth, users freeze the global model and fine-tune the last
layers using their labeled dataset. FedHealth 2 [31] measures users’
similarities with the pre-trained model and then aggregates all weighted
models while users keep their batch normalization layer. Flame [42] focuses on
a multi-device-environment (MDE), where each user can have multiple devices
with different processing power. They propose personalized federated learning
for scenarios where users can have sufficient labeled data on one of their
edge devices. In PfedHN [68], authors generate personalized models for users
using Hyper-networks. Hyper-networks are one of the widely used meta-learning
techniques that output the weights of another target network that performs the
learning task [68, 69]. The idea is that the output weights vary depending on
the input to the Hyper-network [68, 69]. Hyper-networks are widely used in
various machine learning domains, including language modeling, computer
vision, continual learning, hyper-parameter optimization, multi-objective
optimization, and decoding block codes [68, 69]. Hyper-networks are naturally
suitable for learning a diverse set of personalized models, as Hyper-networks
dynamically generate target networks conditioned on the input [68, 69].

In IoT applications, hardware heterogeneity is another major challenge that
requires users to have personalized models. However, in the literature, no
work has focused on the effect of differences in user processing power on the
overall performance of the method. In this work, we provide a baseline to
compare the effect of hardware resource heterogeneity on the overall
performance of federated learning algorithms, which we will discuss in section
IV.

##  III SemiPFL: Proposed framework

This section introduces SemiPFL, our personalized semi-supervised federated
learning framework for time-series multi-sensory data. SemiPFL consists of
three main steps: first, the server generates a personalized autoencoder using
a Hyper-network for each user. Second, the server selects samples close to
each user distribution, transforms its dataset using the corresponding user’s
encoder, and trains a set of base models that map latent representation to
classes and send it to that specific user. In the third and final step, the
user aggregates the received models using its labeled dataset. We will first
describe the problem formulation in subsequent sections and then discuss our
training pipeline.

###  III-A Problem description

In SemiPFL, similar to a semi-supervised learning scenario, we assume that
users have a small set of labeled and a large set of unlabeled datasets. We
also consider a set of labeled instances in the server. In other words, we
assume that we have $K$ users and each user $j$ has a small set of labeled
data $D_{j}$:

$D_{j}=\left\\{X_{j}^{i},Y_{j}^{i}\right\\}_{i=1}^{l_{j}}\forall
j\in{1,2,...,K}$ (3)

where $\left\\{X_{j}^{i},Y_{j}^{i}\right\\}$ are the i-th input and output
pairs for user j respectively. We also have a large unlabeled dataset for user
j, denoted as $U_{j}$:

$U_{j}=\left\\{\overline{X_{j}^{i}}\right\\}_{i=1}^{u_{j}}\forall
j\in{1,2,...,K}$ (4)

To evaluate our method, we define $E_{j}$ as user j-th evaluation dataset,
where $\left\\{\widehat{X_{j}^{i}},\widehat{Y_{j}^{i}}\right\\}$ are the i-th
input and output pairs for user j evaluation dataset, respectively:

$E_{j}=\left\\{\widehat{X_{j}^{i}},\widehat{Y_{j}^{i}}\right\\}_{i=1}^{e_{j}}\forall
j\in{1,2,...,K}$ (5)

Also, there is a high-resolution dataset from $M$ different distributions
available on the server-side:

$D_{S}=\left\\{D_{S_{m}}\right\\}_{m=1}^{M}=\left\\{\\{X_{S_{m}}^{i},Y_{S_{m}}^{i}\\}_{i=1}^{l_{S_{m}}}\right\\}_{m=1}^{M}$
(6)

The goal of traditional federated learning methods such as FedAVG is to find a
global model $f(.)$ through minimizing Eqn. (7):

Output : Personalized models:$\\{f_{j}(.)\\}_{j=1}^{K}$

for  _$r=0,1,\cdots,R-1$_ do

1.1- Server randomly select user $j\in[K]$;

1.2- ${f_{r}}^{a_{j}}(.)=h(\alpha_{j},\theta)$;

1.3- ${f^{\prime}}_{r}^{a_{j}}(.)\leftarrow f_{r}^{a_{j}}(.)$;

2- for  _$t\in[T]$_ do

2.1- User j sample mini-batch $\gamma\subset U_{j}\bigcup\\{X|(X,Y)\in
D_{j}\\}$;

2.2-
${f^{\prime}}_{r}^{a_{j}}(.)\leftarrow{f^{\prime}}_{r}^{a_{j}}(.)-\eta\nabla_{{f^{\prime}}_{r}^{a_{j}}(.)}\mathcal{L}^{a}_{j}(\gamma)$;

end for

3- Eqn. (12);

4- Eqn. (13);

5.1-
${D^{\prime}}^{j}_{S_{m}}\leftarrow\big{\\{}({f^{\prime}}_{r,enc}^{a_{j}}(X),Y)|(X,Y)\in
D_{S_{m}}\big{\\}}\forall m\in[M]$;

5.2- $\\{f_{r,m}^{b,j}(.)\\}_{m=1}^{M}\leftarrow\\{f^{b}(.)\\}_{m=1}^{M}$;

5.3- for  _$\\{t,m\\}\in[T\times M]$_ do

5.3.1- Server sample mini-batch $\gamma\subset{D^{\prime}}^{j}_{S_{m}}$;

5.3.2- $f_{r,m}^{b,j}(.)\leftarrow
f_{r,m}^{b,j}(.)-\eta\nabla_{f_{r,m}^{b,j}(.)}\mathcal{L}(\gamma)$;

end for

6.1 Freeze $\\{f_{r,m}^{b,j}(.)\\}_{m=1}^{M}$;

6.2 Initialize
$\left\\{\chi_{m}\right\\}{m=1}^{M}=\left\\{\frac{1}{M}\right\\}_{m=1}^{M}$;

6.2-
${f^{\prime}}_{r}^{b,j}(.)\leftarrow\sum_{m=1}^{M}\chi_{m}.f_{r,m}^{b,j}(.)$;

6.3-
${D^{\prime}}_{j}\leftarrow\Big{\\{}({f^{\prime}}_{r,enc}^{a_{j}}(X),Y)|(X,Y)\in
D_{j}\Big{\\}}$;

6.4- for  _$t\in[T^{\prime}]$_ do

6.4.1- User j sample mini-batch $\gamma\subset{D^{\prime}}_{j}$;

6.4.2-${f^{\prime}}_{r}^{b,j}(.)\leftarrow{f^{\prime}}_{r}^{b,j}(.)-\eta\nabla_{{f^{\prime}}_{r}^{b,j}(.)}\mathcal{L}_{j}(\gamma)$;

Subject to: $\sum_{m=1}^{M}\chi_{m}=1$;

end for

6.5-
$f_{j}(.)\leftarrow{f^{\prime}}_{r}^{b,j}({f^{\prime}}_{r,enc}^{a_{j}}(.))$ ;

end for

Algorithm 1 SemiPFL

$f(.)=\operatorname*{argmin}_{f(.)}\frac{1}{K}\sum_{j=1}^{K}\frac{1}{e_{j}}\sum_{i=1}^{e_{j}}{\color[rgb]{0,0,0}\mathcal{L}}\big{(}\widehat{Y_{j}^{i}},f(\widehat{X_{j}^{i}})\big{)}$
(7)

where $\mathcal{L}(.,.)$ denotes the loss function. In traditional models,
although we could find a model that minimizes the general loss (Eqn. (7)), due
to the domain shift between users, the general model would not perform
satisfactorily for all users. The goal of SemiPFL is to generate a set of
personalized models for each user. Particularly, our objective is to propose a
framework where the server provides a personalized model
$\left\\{f_{j}(.)\right\\}_{i=1}^{K}$ for each user. Based on [70], the
overall objective of personalized federated learning from the server’s
perspective can be formulated as Eqn. (8):

TABLE II: Summary of datasets used in this study.

Task | Dataset | Users | Trials | Dimensions | Output | Intra-subject CV | Inter-subject CV
---|---|---|---|---|---|---|---
F1 score | Kappa | F1 score | Kappa
Activity recognition | Mobiact [71] | 61 | 6 | 9 | 5 | 86.92 | 80.21 | 86.34 | 82.52
10 | 65.24 | 59.89 | 88.49 | 82.54
WISDM [72] | 51 | 1 | 6 | 6 | 83.21 | 80.32 | 93.87 | 92.31
HAR-UCI [73] | 30 | 1 | 6 | 6 | 83.54 | 80.73 | 98.76 | 98.51
HHAR [74] | 9 | 1 | 12 | 6 | 63.35 | 55.44 | 96.53 | 95.50
PAMAP2 [75, 76] | 8 | 1 | 39 | 10 | 77.67 | 76.49 | 99.99 | 99.99
Stress Detection | WESAD [77] | 15 | 1 | 7 | 3 | 78.87 | 70.60 | 91.03 | 87.44
Sleep stage scoring | Sleep-EDF [78, 74] | 20 | 1 | 7 | 5 | 51.97 | 48.78 | 82.32 | 76.77

TABLE III: Performance comparisons with other federated learning methods on
several datasets

Dataset | method | personalized | label in server | label in user | devic heterogeneity | model architecture | Metric | SemiPFL (FCNN)
---|---|---|---|---|---|---|---|---
HAR-UCI [73] | FedHAR [33] | Yes | No | Few | No | FCNN | F1 score | 92.32 | 95.29
WISDM [72] | FedAR [38] | Yes | No | Few | No | FCNN | F1 score | 65 | 89.05
Mobiact [71] (5 activities) | F1 score | 86 | 98.13
Mobiact [71] (10 activities) | FedSCN [9] | No | No | Few | No | CNN+Linear | F1 score | 90 | 93.98
Kappa | 87 | 86.94
HHAR [74] | F1 score | 80 | 88.35
Kappa | 76 | 86.51
WESAD [77] | F1 score | 82 | 88.03
Kappa | 70 | 84.46
Sleep-EDF [78, 74] | F1 score | 77 | 79.07
Kappa | 69 | 74.06
PAMAP2 [75, 76] | Fedhealth2 [31] | Yes | No | Yes | No | FCNN | F1 score | 81.14 | 91.03
FedAVG [37] | No | No | Yes | No | FCNN | F1 score | 67.58
FedBN [66] | Yes | No | Yes | No | FCNN | F1 score | 67.56
FedProx [39] | Yes | No | Yes | No | FCNN | F1 score | 67.52
FedPer[67] | Yes | No | Yes | No | FCNN | F1 score | 64.59
SemiFL[12] | No | Yes | No | No | LSTM + FCNN | F1 score | 82
Flame[42] | Yes | No | Yes | Yes | Deep ConvLSTM [79] | F1 score | 53

$\left\\{f_{j}(.)\right\\}_{j=1}^{K}=\operatorname*{argmin}_{\left\\{f_{j}(.)\right\\}_{j=1}^{K}}\frac{1}{K}\sum_{j=1}^{K}\mathcal{L}_{j}(f_{j}(E_{j}))+\Omega(f_{1},...,f_{K})$
(8)

where $\mathcal{L}_{j}(.)$ is user j’s local loss function (Eqn. (9)), and
$\Omega(.,...,.)$ denotes a regularization term that differentiates
personalized federated learning from separately training $K$ personalized
models. Therefore, our objective is to find personalized models for each user,
assuming that we have limited or no labeled data, large set of unlabeled data
available on the users’ side, and a set of publicly available labeled data on
the server side.

$\mathcal{L}_{j}(f_{j}(E_{j}))=\frac{1}{e_{j}}\sum_{i=1}^{e_{j}}\mathcal{L}\big{(}\widehat{Y_{j}^{i}},f_{j}(\widehat{X_{j}^{i}})\big{)}$
(9)

###  III-B Training pipeline

This section introduces SemiPFL, our novel personalized semi-supervised
federated learning framework. It consists of several steps that require
communication between the server and users. The overall system model can be
found in Fig. 3.

The server has a list of user embeddings $\\{\alpha_{j}\\}_{i=1}^{K}$ for
every user. At the first step, the server randomly selects one user in every
round and generates a personalized autoencoder model with its Hyper-network
model using user embedding $\alpha_{j}$, Hyper-network parameters $\theta$,
and sends it to the selected user (Eqn. (10)). The Hyper-network
implementation is the same as in [68].

$f_{r}^{a_{j}}(.)=h(\alpha_{j},\theta)$ (10)

In the second step, user updates the received autoencoder model using the
whole unlabeled and labeled dataset over $T$ epochs and sends the updated
autoencoder back to the server. In every epoch, user selects a mini-batch
$\gamma\subset U_{j}\bigcup\\{X|(X,Y)\in D_{j}\\}$, and update the received
autoencoder via Eqn. (11).

${f^{\prime}}_{r}^{a_{j}}(.)\leftarrow{f^{\prime}}_{r}^{a_{j}}(.)-\eta\nabla_{{f^{\prime}}_{r}^{a_{j}}(.)}\mathcal{L}^{a}_{j}(\gamma)$
(11)

In the third step, the server updates the Hyper-network parameters $\theta$
and the corresponding user embedding feature $\alpha_{j}$. This means that the
server calculates the difference between the sent and the received model
parameters and updates the Hyper-network parameter and user embedding as in
Eqn. (12)[68].

$\begin{matrix}\Delta
f_{r}^{a_{j}}(.)\leftarrow{f^{\prime}}_{r}^{a_{j}}(.)-f_{r}^{a_{j}}(.)\\\ \\\
\theta\leftarrow\theta-\mu\nabla_{\theta}(f_{r}^{a_{j}}(.))^{T}\Delta
f_{r}^{a_{j}}(.)\\\ \\\
\alpha_{j}\leftarrow\alpha_{j}-\zeta\nabla_{\alpha_{j}}\theta^{T}\nabla_{\theta}(f_{r}^{a_{j}}(.))^{T}\Delta
f_{r}^{a_{j}}(.)\end{matrix}$ (12)

In the fourth step, the server generates a set of $M$ personalized classifiers
for user $j$. The server owns a labeled data set from $M(\ll K)$ different
distributions. For each of those $M$ datasets, the user first selects samples
more similar to the user $j$ dataset. In order to do that, the server checks
the distance between its data values and the reconstructed values using user
$j$ fine-tuned autoencoder model through calculating an autoencoder loss
function (Eqn. (13)):

(a) Scenario 1

(b) Scenario 2

(c) Scenario 3

Figure 4: Overview of experimental evaluation scenarios. (a) Scenario 1, in
which all users have system 1 hardware resources. (b) Scenario 2, in which
half of users have system 1 hardware configurations, while the rest of users
have system 2 hardware configurations. (c) Scenario 3, in which half of users
have system 1 hardware configurations, while the rest of users have system 3
hardware configurations. TABLE IV: Hardware resources comparison between
system 1, system 2, and system 3.

Feature | System 1 | System 2 | system 3
---|---|---|---
Board | Raspberry Pi 4 Model B - 8GB | Raspberry Pi 4 Model B - 4GB | Raspberry Pi 4 Model B - 2GB
CPU | Quad-core Cortex-A72 (ARM v8) 64-bit SoC 1.5 GHz
RAM | 8GB LPDDR4-3200 SDRAM | 4GB LPDDR4-3200 SDRAM | 2GB LPDDR4-3200 SDRAM
Storage | SanDisk 128GB microSDXC Card
OS | Raspberrypi OS 64-bit

$D^{j}_{S_{m}}\leftarrow\Big{\\{}(X,Y)|\mathcal{L}^{a}(X,{f^{\prime}}_{r}^{a_{j}}(X))<\tau,(X,Y)\subset
D_{S_{m}}\Big{\\}}$ (13)

In the fifth step, server encodes its samples using the encoder part of user
$j$ autoencoder (Eqn. (14)):

${D^{\prime}}^{j}_{S_{m}}\leftarrow\Big{\\{}({f^{\prime}}_{r,enc}^{a_{j}}(X),Y)|(X,Y)\in
D_{S_{m}}\Big{\\}}$ (14)

Server trains a set of base models using selected samples from each of $M$
available datasets $\\{f^{b,j}_{r,m}(.)\\}_{m=1}^{M}$ and sends them to the
corresponding user. The user initializes a set of weights for each of these
base models and forms an initial personalized base model (Eqn. (15)):

$\begin{matrix}\left\\{\chi_{m}\right\\}_{m=1}^{M}=\left\\{\frac{1}{M}\right\\}_{m=1}^{M}\\\
\\\ {f^{\prime}}_{r}^{b,j}(.)\leftarrow\sum_{m=1}^{M}\chi_{m}\cdot
f_{r,m}^{b,j}(.)\end{matrix}$ (15)

In the sixth step, The user encodes its labeled instances using its fine-tuned
autoencoder that was calculated earlier, freezes base model parameters in Eqn.
(15), and optimizes model weights via Eqn. (16) using its labeled dataset:

$\begin{matrix}\\{\chi_{m}\\}_{m=1}^{M}=\operatorname*{argmin}_{\\{\chi_{m}\\}_{m=1}^{M}}\frac{1}{l_{j}}\sum_{i=1}^{l_{j}}\mathcal{L}_{j}\left(Y_{j}^{i},{f^{\prime}}_{r}^{b,j}(X_{j}^{i})\right)\\\
\\\ \text{Subject to:}\sum_{m=1}^{M}\chi_{m}=1\end{matrix}$ (16)

A summary of the SemiPFL algorithm can be found at algorithm 1.

TABLE V: Mobiact dataset: Performance evaluation of SemiPFL for the different
number of users and number of available labeled data per class at the user
side.

(a) 5 activities - scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 5-0-0 | 10-0-0 | 15-0-0 | 20-0-0 | 25-0-0 | 30-0-0 | 35-0-0 | 40-0-0 | 45-0-0 | 50-0-0
0 | F1 score | 92.47(3.06) | 92.51(1.87) | 92.67(1.37) | 93.00(1.05) | 93.31(0.81) | 93.78(0.62) | 94.33(0.46) | 94.98(0.29) | 95.73(0.21) | 96.62(0.09)
Kappa | 86.49(3.31) | 86.59(2.02) | 86.72(1.48) | 87.00(1.13) | 87.34(0.87) | 87.76(0.67) | 88.33(0.50) | 89.00(0.31) | 89.74(0.23) | 90.69(0.12)
10 | F1 score | 94.59(2.57) | 94.64(1.57) | 94.75(1.15) | 95.03(0.88) | 95.41(0.68) | 95.89(0.52) | 96.39(0.39) | 97.12(0.24) | 97.86(0.18) | 98.71(0.08)
Kappa | 88.55(2.96) | 88.64(1.80) | 88.78(1.32) | 89.01(1.01) | 89.43(0.78) | 89.85(0.60) | 90.40(0.45) | 91.06(0.28) | 91.87(0.21) | 92.74(0.11)
20 | F1 score | 95.22(2.18) | 95.28(1.33) | 95.38(0.97) | 95.65(0.74) | 96.04(0.57) | 96.52(0.44) | 97.02(0.33) | 97.75(0.20) | 98.49(0.15) | 99.34(0.07)
Kappa | 89.17(2.47) | 89.27(1.51) | 89.40(1.10) | 89.63(0.84) | 90.06(0.65) | 90.48(0.50) | 91.03(0.37) | 91.69(0.23) | 92.50(0.17) | 93.37(0.09)
40 | F1 score | 95.75(1.88) | 95.81(1.15) | 95.91(0.84) | 96.18(0.64) | 96.57(0.49) | 97.05(0.38) | 97.55(0.28) | 98.28(0.18) | 99.02(0.13) | 99.87(0.06)
Kappa | 89.70(2.03) | 89.80(1.24) | 89.93(0.91) | 90.16(0.69) | 90.60(0.53) | 91.01(0.41) | 91.56(0.31) | 92.22(0.19) | 93.04(0.14) | 93.90(0.07)

(b) 5 activities - scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-2-0 | 5-5-0 | 8-7-0 | 10-10-0 | 13-12-0 | 15-15-0 | 18-17-0 | 20-20-0 | 23-22-0 | 25-25-0
0 | F1 score | 90.33(3.07) | 90.57(1.93) | 90.73(1.53) | 91.12(1.25) | 91.52(0.87) | 91.63(0.69) | 91.77(0.51) | 92.86(0.34) | 92.96(0.32) | 94.60(0.12)
Kappa | 84.19(3.52) | 84.21(2.34) | 84.32(1.53) | 85.53(1.32) | 85.70(0.93) | 85.76(0.71) | 86.23(0.61) | 87.51(0.34) | 87.74(0.25) | 88.69(0.15)
10 | F1 score | 93.47(2.63) | 93.59(1.64) | 93.73(1.23) | 94.12(0.91) | 94.50(0.72) | 94.88(0.53) | 95.41(0.41) | 96.32(0.30) | 96.81(0.21) | 97.78(0.11)
Kappa | 87.05(2.96) | 87.12(1.80) | 87.34(1.32) | 87.61(1.01) | 87.92(0.78) | 88.23(0.60) | 88.29(0.45) | 89.06(0.28) | 89.27(0.21) | 90.74(0.11)
20 | F1 score | 94.93(2.20) | 94.98(1.34) | 95.03(0.98) | 95.21(0.76) | 95.80(0.61) | 96.21(0.47) | 96.02(0.37) | 97.34(0.25) | 98.37(0.18) | 99.05(0.09)
Kappa | 88.97(2.47) | 89.03(1.51) | 89.12(1.10) | 89.32(0.84) | 89.86(0.65) | 90.23(0.50) | 90.88(0.37) | 91.47(0.23) | 92.43(0.17) | 93.21(0.09)
40 | F1 score | 95.65(1.87) | 95.77(1.16) | 95.87(0.85) | 96.12(0.64) | 96.49(0.49) | 97.00(0.39) | 97.48(0.27) | 98.23(0.19) | 98.93(0.15) | 99.82(0.07)
Kappa | 89.68(2.03) | 89.78(1.24) | 89.91(0.91) | 90.14(0.69) | 90.57(0.55) | 90.98(0.41) | 91.52(0.31) | 92.19(0.19) | 92.94(0.14) | 93.82(0.06)

(c) 5 activities - scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-0-2 | 5-0-5 | 8-0-7 | 10-0-10 | 13-0-12 | 15-0-15 | 18-0-17 | 20-0-20 | 23-0-22 | 25-0-25
0 | F1 score | 90.01(3.27) | 90.22(1.95) | 90.42(1.57) | 91.01(1.27) | 91.32(0.88) | 91.54(0.70) | 91.53(0.52) | 92.61(0.34) | 92.66(0.33) | 94.32(0.12)
Kappa | 83.98(3.52) | 84.02(2.34) | 84.12(1.53) | 85.24(1.32) | 85.61(0.93) | 85.67(0.71) | 86.10(0.61) | 87.42(0.34) | 87.59(0.25) | 88.58(0.15)
10 | F1 score | 93.24(2.93) | 93.33(1.94) | 93.69(1.55) | 94.01(0.98) | 94.34(0.75) | 94.53(0.54) | 95.24(0.42) | 96.13(0.31) | 96.66(0.21) | 97.52(0.11)
Kappa | 86.92(3.23) | 87.07(3.03) | 87.28(1.55) | 87.54(1.21) | 87.82(0.82) | 88.03(0.62) | 88.19(0.46) | 88.97(0.29) | 89.21(0.22) | 90.68(0.11)
20 | F1 score | 94.82(2.30) | 94.87(1.38) | 94.95(0.99) | 95.11(0.77) | 95.69(0.61) | 96.11(0.47) | 95.92(0.37) | 97.25(0.25) | 98.24(0.19) | 98.99(0.11)
Kappa | 88.89(2.59) | 88.97(1.59) | 89.01(1.17) | 89.27(0.89) | 89.82(0.69) | 90.15(0.53) | 90.78(0.39) | 91.41(0.24) | 92.38(0.19) | 93.12(0.09)
40 | F1 score | 95.61(1.93) | 95.72(1.17) | 95.83(0.89) | 96.07(0.68) | 96.42(0.49) | 96.96(0.40) | 97.42(0.27) | 98.20(0.20) | 98.91(0.15) | 99.80(0.07)
Kappa | 89.59(2.03) | 89.74(1.24) | 89.88(0.91) | 90.10(0.69) | 90.51(0.55) | 90.92(0.41) | 91.46(0.31) | 92.11(0.19) | 92.85(0.14) | 93.80(0.06)

(d) 10 activities - scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 5-0-0 | 10-0-0 | 15-0-0 | 20-0-0 | 25-0-0 | 30-0-0 | 35-0-0 | 40-0-0 | 45-0-0 | 50-0-0
0 | F1 score | 88.55(4.14) | 88.60(2.52) | 88.75(1.85) | 89.01(1.41) | 89.37(1.09) | 89.83(0.84) | 90.39(0.62) | 91.06(0.39) | 91.83(0.29) | 92.70(0.15)
Kappa | 82.49(2.77) | 82.51(1.71) | 82.67(1.26) | 82.95(1.11) | 83.34(0.71) | 83.79(0.55) | 84.30(0.45) | 85.06(0.29) | 85.73(0.22) | 86.67(0.09)
10 | F1 score | 90.38(3.69) | 90.43(2.25) | 90.58(1.65) | 90.84(1.26) | 91.20(0.97) | 91.66(0.75) | 92.22(0.56) | 92.89(0.35) | 93.65(0.26) | 94.52(0.13)
Kappa | 84.30(2.70) | 84.37(1.47) | 84.50(1.13) | 84.76(0.83) | 85.17(0.67) | 85.60(0.60) | 86.13(0.40) | 86.80(0.23) | 87.62(0.17) | 88.49(0.08)
20 | F1 score | 90.99(3.09) | 91.04(1.88) | 91.19(1.38) | 91.45(1.05) | 91.81(0.81) | 92.27(0.62) | 92.83(0.47) | 93.49(0.29) | 94.26(0.21) | 95.13(0.11)
Kappa | 84.91(2.21) | 84.99(1.48) | 85.11(0.97) | 85.37(0.81) | 85.78(0.55) | 86.21(0.50) | 86.73(0.32) | 87.41(0.24) | 88.23(0.16) | 89.09(0.07)
40 | F1 score | 91.51(2.54) | 91.56(1.55) | 91.71(1.13) | 91.97(0.87) | 92.33(0.67) | 92.79(0.51) | 93.35(0.38) | 94.02(0.24) | 94.78(0.18) | 95.65(0.09)
Kappa | 85.43(2.16) | 85.51(1.21) | 85.63(0.92) | 85.89(0.74) | 86.30(0.53) | 86.73(0.44) | 87.26(0.33) | 87.92(0.19) | 88.76(0.13) | 89.62(0.06)

(e) 10 activities - scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-2-0 | 5-5-0 | 8-7-0 | 10-10-0 | 13-12-0 | 15-15-0 | 18-17-0 | 20-20-0 | 23-22-0 | 25-25-0
0 | F1 score | 86.63(4.47) | 86.73(2.43) | 86.79(1.70) | 87.12(1.53) | 87.43(1.13) | 87.91(0.92) | 88.24(0.69) | 89.13(0.42) | 89.95(0.33) | 90.87(0.17)
Kappa | 80.57(2.84) | 80.64(1.78) | 80.72(1.31) | 83.03(1.17) | 81.47(0.79) | 81.93(0.61) | 82.41(0.52) | 83.17(0.37) | 83.84(0.29) | 84.81(0.11)
10 | F1 score | 89.43(3.71) | 89.54(2.27) | 89.61(1.66) | 89.72(1.28) | 90.11(0.99) | 90.57(0.77) | 91.31(0.58) | 91.92(0.36) | 92.70(0.28) | 93.49(0.14)
Kappa | 83.41(2.72) | 83.45(1.49) | 83.52(1.15) | 83.83(0.85) | 84.22(0.69) | 84.74(0.62) | 85.02(0.42) | 85.92(0.25) | 86.62(0.19) | 87.54(0.09)
20 | F1 score | 90.34(3.09) | 90.53(1.88) | 90.78(1.38) | 90.02(1.05) | 91.27(0.81) | 91.78(0.62) | 92.31(0.47) | 93.01(0.29) | 93.73(0.21) | 94.63(0.11)
Kappa | 84.44(2.21) | 84.52(1.48) | 84.67(0.97) | 84.91(0.81) | 85.32(0.55) | 85.82(0.50) | 86.24(0.32) | 87.12(0.24) | 88.77(0.16) | 88.63(0.07)
40 | F1 score | 91.45(2.60) | 91.51(1.51) | 91.68(1.16) | 91.91(0.89) | 92.27(0.69) | 92.70(0.53) | 93.28(0.40) | 93.98(0.26) | 94.71(0.19) | 95.59(0.10)
Kappa | 85.37(2.21) | 85.47(1.25) | 85.58(0.93) | 85.82(0.76) | 86.21(0.55) | 86.68(0.45) | 87.21(0.35) | 87.87(0.21) | 88.70(0.15) | 89.59(0.07)

(f) 10 activities - scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-0-2 | 5-0-5 | 8-0-7 | 10-0-10 | 13-0-12 | 15-0-15 | 18-0-17 | 20-0-20 | 23-0-22 | 25-0-25
0 | F1 score | 86.32(4.64) | 86.44(2.57) | 86.51(1.81) | 86.86(1.62) | 87.12(1.20) | 87.62(0.99) | 88.01(0.75) | 88.89(0.49) | 89.64(0.36) | 90.71(0.20)
Kappa | 80.24(2.91) | 80.30(1.85) | 80.43(1.54) | 82.74(1.20) | 81.12(0.99) | 81.64(0.82) | 82.12(0.71) | 82.87(0.54) | 83.54(0.42) | 84.53(0.27)
10 | F1 score | 89.27(3.80) | 89.36(2.35) | 89.43(1.71) | 89.54(1.35) | 89.91(1.09) | 90.34(0.92) | 91.13(0.62) | 91.69(0.40) | 92.52(0.36) | 93.28(0.23)
Kappa | 83.20(2.93) | 83.26(1.62) | 83.33(1.34) | 83.67(0.93) | 84.01(0.79) | 84.52(0.72) | 84.82(0.55) | 85.76(0.30) | 86.41(0.23) | 87.31(0.10)
20 | F1 score | 90.26(3.11) | 90.42(1.91) | 90.66(1.41) | 89.92(1.10) | 91.13(0.89) | 91.70(0.66) | 92.22(0.55) | 93.92(0.33) | 93.64(0.24) | 94.54(0.12)
Kappa | 84.32(2.23) | 84.44(1.49) | 84.58(0.97) | 84.80(0.82) | 85.22(0.55) | 85.73(0.51) | 86.11(0.33) | 87.02(0.24) | 88.68(0.17) | 88.57(0.08)
40 | F1 score | 91.41(2.60) | 91.46(1.51) | 91.62(1.17) | 91.88(0.90) | 92.24(0.69) | 92.65(0.54) | 93.23(0.40) | 93.95(0.26) | 94.68(0.19) | 95.52(0.11)
Kappa | 85.32(2.22) | 85.43(1.25) | 85.52(0.93) | 85.79(0.77) | 86.17(0.55) | 86.63(0.45) | 87.17(0.36) | 87.82(0.21) | 88.66(0.15) | 89.52(0.07)

TABLE VI: WISDM dataset: Performance evaluation of SemiPFL for the different
number of users and number of available labeled data per class at the user
side.

(a) scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 5-0-0 | 10-0-0 | 15-0-0 | 20-0-0 | 25-0-0 | 30-0-0 | 35-0-0 | 40-0-0 | 45-0-0
0 | F1 score | 83.88(3.17) | 83.93(1.65) | 84.08(1.30) | 84.34(1.02) | 84.70(0.87) | 85.16(0.56) | 85.72(0.44) | 86.39(0.28) | 87.16(0.19)
Kappa | 80.58(3.68) | 80.66(2.24) | 80.84(1.64) | 81.07(1.26) | 81.47(0.97) | 81.92(0.74) | 82.41(0.56) | 83.17(0.34) | 83.93(0.26)
10 | F1 score | 86.39(2.73) | 86.44(1.56) | 86.59(1.11) | 86.85(0.85) | 87.21(0.71) | 87.67(0.54) | 88.23(0.38) | 88.90(0.25) | 89.66(0.17)
Kappa | 83.15(3.28) | 83.17(2.00) | 83.32(1.47) | 83.61(1.12) | 83.95(0.86) | 84.37(0.66) | 84.94(0.50) | 85.63(0.31) | 86.40(0.23)
20 | F1 score | 87.04(2.61) | 87.09(1.37) | 87.24(1.12) | 87.50(0.73) | 87.86(0.67) | 88.32(0.48) | 88.88(0.33) | 89.55(0.22) | 90.31(0.16)
Kappa | 83.80(2.74) | 83.82(1.67) | 83.97(1.23) | 84.26(0.94) | 84.60(0.72) | 85.02(0.56) | 85.59(0.41) | 86.28(0.26) | 87.05(0.19)
40 | F1 score | 87.58(1.99) | 87.63(1.28) | 87.78(0.82) | 88.04(0.61) | 88.40(0.50) | 88.86(0.41) | 89.42(0.30) | 90.09(0.18) | 90.86(0.15)
Kappa | 84.35(2.26) | 84.36(1.38) | 84.51(1.01) | 84.81(0.77) | 85.14(0.59) | 85.56(0.46) | 86.14(0.34) | 86.82(0.21) | 87.59(0.16)

(b) scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-2-0 | 5-5-0 | 8-7-0 | 10-10-0 | 13-12-0 | 15-15-0 | 18-17-0 | 20-20-0 | 23-22-0
0 | F1 score | 81.83(3.24) | 81.93(1.73) | 82.12(1.42) | 82.41(1.14) | 82.78(0.97) | 83.20(0.63) | 83.68(0.53) | 84.41(0.30) | 85.21(0.22)
Kappa | 78.63(3.76) | 78.72(2.31) | 78.85(1.69) | 79.17(1.32) | 79.44(1.03) | 77.96(0.79) | 80.44(0.61) | 82.23(0.39) | 81.90(0.30)
10 | F1 score | 85.41(2.79) | 85.47(1.62) | 85.63(1.18) | 85.84(0.89) | 86.34(0.76) | 86.72(0.57) | 87.32(0.41) | 87.95(0.27) | 88.52(0.18)
Kappa | 82.11(3.34) | 82.23(2.08) | 82.36(1.53) | 82.68(1.17) | 83.01(0.89) | 83.44(0.69) | 83.92(0.54) | 84.59(0.34) | 85.47(0.25)
20 | F1 score | 86.52(2.68) | 86.62(1.41) | 86.79(1.14) | 86.94(0.75) | 87.33(0.69) | 87.82(0.49) | 88.42(0.34) | 89.01(0.23) | 89.87(0.16)
Kappa | 83.32(2.76) | 83.54(1.69) | 83.67(1.25) | 83.81(0.96) | 84.12(0.74) | 84.53(0.58) | 85.07(0.42) | 85.79(0.27) | 86.53(0.19)
40 | F1 score | 87.42(2.02) | 87.52(1.31) | 87.63(0.84) | 87.94(0.63) | 88.34(0.52) | 88.80(0.43) | 89.34(0.31) | 90.00(0.19) | 90.81(0.15)
Kappa | 84.29(2.31) | 84.31(1.41) | 84.47(1.04) | 84.72(0.79) | 85.08(0.61) | 85.49(0.46) | 86.01(0.35) | 86.77(0.22) | 87.51(0.16)

(c) scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-0-2 | 5-0-5 | 8-0-7 | 10-0-10 | 13-0-12 | 15-0-15 | 18-0-17 | 20-0-20 | 23-0-22
0 | F1 score | 81.41(3.36) | 81.61(1.84) | 81.82(1.55) | 82.13(1.23) | 82.34(1.06) | 82.92(0.71) | 83.34(0.62) | 84.12(0.41) | 85.01(0.32)
Kappa | 78.33(3.89) | 78.44(2.44) | 78.57(1.73) | 78.91(1.37) | 79.12(1.13) | 79.68(0.85) | 80.12(0.73) | 82.00(0.44) | 81.62(0.41)
10 | F1 score | 85.22(2.84) | 85.28(1.66) | 85.42(1.23) | 85.66(0.90) | 86.12(0.76) | 86.54(0.58) | 87.13(0.42) | 87.77(0.30) | 88.35(0.20)
Kappa | 81.95(3.38) | 82.04(2.11) | 82.11(1.56) | 82.46(1.19) | 82.86(0.92) | 83.27(0.71) | 83.77(0.54) | 84.42(0.34) | 85.23(0.27)
20 | F1 score | 86.41(2.69) | 86.53(1.41) | 86.67(1.17) | 86.83(0.77) | 87.20(0.69) | 87.71(0.52) | 88.32(0.38) | 88.83(0.23) | 89.74(0.17)
Kappa | 83.24(2.79) | 83.44(1.69) | 83.53(1.25) | 83.73(0.98) | 83.97(0.76) | 84.42(0.60) | 84.93(0.42) | 85.67(0.27) | 86.47(0.21)
40 | F1 score | 87.39(2.04) | 87.49(1.32) | 87.61(0.84) | 87.91(0.63) | 88.32(0.52) | 88.78(0.43) | 89.30(0.32) | 89.97(0.19) | 90.77(0.16)
Kappa | 84.25(2.34) | 84.27(1.43) | 84.45(1.06) | 84.71(0.79) | 85.06(0.61) | 85.47(0.48) | 86.00(0.35) | 86.75(0.22) | 87.49(0.17)

TABLE VII: HAR-UCI dataset: Performance evaluation of SemiPFL for the
different number of users and number of available labeled data per class at
the user side.

(a) scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-0-0 | 6-0-0 | 9-0-0 | 12-0-0 | 15-0-0 | 18-0-0 | 21-0-0 | 24-0-0
0 | F1 score | 84.65(3.33) | 84.72(1.93) | 84.83(1.37) | 85.10(1.09) | 85.45(0.84) | 85.98(0.68) | 86.49(0.46) | 87.15(0.29)
Kappa | 81.63(2.80) | 81.69(1.71) | 81.85(1.29) | 82.07(1.12) | 82.51(0.72) | 82.93(0.59) | 83.49(0.45) | 84.16(0.30)
10 | F1 score | 93.47(2.60) | 93.53(1.61) | 93.68(1.14) | 93.99(0.87) | 94.35(0.74) | 94.81(0.50) | 95.40(0.40) | 95.98(0.26)
Kappa | 90.49(2.71) | 90.54(1.69) | 90.74(1.23) | 91.02(0.83) | 91.35(0.64) | 91.83(0.53) | 92.40(0.43) | 92.99(0.26)
20 | F1 score | 94.17(2.15) | 94.23(1.52) | 94.38(1.11) | 94.68(0.87) | 95.04(0.60) | 95.50(0.48) | 96.09(0.36) | 96.68(0.21)
Kappa | 91.19(2.38) | 91.23(1.35) | 91.43(1.10) | 91.72(0.86) | 92.04(0.60) | 92.52(0.54) | 93.09(0.34) | 93.68(0.25)
40 | F1 score | 94.73(1.91) | 94.78(1.09) | 94.94(0.89) | 95.24(0.61) | 95.60(0.54) | 96.06(0.38) | 96.65(0.30) | 97.24(0.19)
Kappa | 91.75(1.80) | 91.79(1.09) | 91.99(0.80) | 92.28(0.68) | 92.60(0.48) | 93.08(0.37) | 93.65(0.32) | 94.24(0.18)

(b) scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 2-1-0 | 3-3-0 | 5-4-0 | 6-6-0 | 8-7-0 | 9-9-0 | 11-10-0 | 12-12-0
0 | F1 score | 82.73(3.33) | 82.82(1.93) | 82.90(1.37) | 83.03(1.09) | 83.51(0.84) | 83.92(0.68) | 84.52(0.46) | 85.12(0.29)
Kappa | 79.67(2.80) | 79.73(1.71) | 79.83(1.29) | 80.12(1.12) | 80.43(0.72) | 80.97(0.59) | 81.44(0.45) | 82.10(0.30)
10 | F1 score | 92.52(2.60) | 92.60(1.61) | 92.74(1.14) | 93.02(0.87) | 93.41(0.74) | 93.85(0.50) | 94.49(0.40) | 95.07(0.26)
Kappa | 89.52(2.71) | 89.61(1.69) | 89.82(1.23) | 89.94(0.83) | 90.36(0.64) | 90.87(0.53) | 91.48(0.43) | 92.01(0.26)
20 | F1 score | 93.73(2.21) | 93.84(1.59) | 93.91(1.18) | 94.12(0.91) | 94.53(0.65) | 95.00(0.52) | 95.49(0.41) | 96.21(0.25)
Kappa | 90.72(2.50) | 90.85(1.49) | 90.97(1.15) | 91.31(0.90) | 91.58(0.60) | 92.01(0.59) | 92.62(0.38) | 93.17(0.29)
40 | F1 score | 94.67(1.95) | 94.73(1.12) | 94.89(0.91) | 95.19(0.64) | 95.53(0.56) | 95.98(0.40) | 96.59(0.32) | 97.17(0.21)
Kappa | 91.68(1.82) | 91.71(1.12) | 91.90(0.82) | 92.21(0.68) | 92.53(0.49) | 93.02(0.37) | 93.61(0.34) | 94.17(0.20)

(c) scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 2-0-1 | 3-0-3 | 5-0-4 | 6-0-6 | 8-0-7 | 9-0-9 | 11-0-10 | 12-0-12
0 | F1 score | 82.42(3.54) | 82.54(2.07) | 82.61(1.51) | 82.72(1.21) | 83.19(0.97) | 83.64(0.79) | 84.25(0.57) | 84.81(0.41)
Kappa | 79.34(2.89) | 79.46(1.82) | 79.54(1.41) | 79.82(1.33) | 80.12(0.83) | 80.74(0.71) | 81.07(0.51) | 81.86(0.41)
10 | F1 score | 92.40(2.67) | 92.50(1.68) | 92.53(1.19) | 92.88(0.93) | 93.27(0.81) | 93.62(0.58) | 94.21(0.47) | 94.83(0.31)
Kappa | 89.31(2.79) | 89.42(1.73) | 89.63(1.29) | 89.66(0.89) | 90.17(0.69) | 90.65(0.59) | 91.23(0.49) | 91.82(0.29)
20 | F1 score | 93.61(2.23) | 93.72(1.61) | 93.80(1.20) | 94.01(0.93) | 94.44(0.67) | 94.89(0.54) | 95.39(0.43) | 96.10(0.27)
Kappa | 90.59(2.53) | 90.73(1.51) | 90.82(1.17) | 91.20(0.92) | 91.41(0.62) | 91.93(0.61) | 92.53(0.41) | 93.08(0.31)
40 | F1 score | 94.63(1.97) | 94.70(1.12) | 94.86(0.95) | 95.17(0.65) | 95.49(0.56) | 95.93(0.41) | 96.52(0.32) | 97.10(0.21)
Kappa | 91.62(1.89) | 91.67(1.17) | 91.88(0.83) | 92.17(0.69) | 92.49(0.49) | 92.97(0.38) | 93.54(0.35) | 94.11(0.21)

TABLE VIII: HHAR dataset: Performance evaluation of SemiPFL for the different
number of users and number of available labeled data per class at the user
side.

(a) scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-0 | 2-0-0 | 3-0-0 | 4-0-0 | 5-0-0 | 6-0-0
0 | F1 score | 86.18(2.73) | 86.23(1.85) | 86.38(1.22) | 86.64(1.11) | 87.00(0.82) | 87.46(0.63)
Kappa | 84.28(3.31) | 84.40(1.86) | 84.50(1.22) | 84.71(0.97) | 85.14(0.77) | 85.60(0.61)
10 | F1 score | 87.54(2.78) | 87.59(1.48) | 87.74(1.22) | 88.00(0.86) | 88.36(0.69) | 88.82(0.57)
Kappa | 85.64(2.79) | 85.70(1.66) | 85.83(1.21) | 86.07(0.90) | 86.45(0.66) | 86.98(0.52)
20 | F1 score | 88.09(2.25) | 88.15(1.33) | 88.30(1.05) | 88.55(0.81) | 88.91(0.60) | 89.37(0.46)
Kappa | 86.20(2.18) | 86.24(1.31) | 86.39(1.16) | 86.63(0.80) | 87.00(0.66) | 87.54(0.43)
40 | F1 score | 88.59(1.99) | 88.64(1.16) | 88.79(0.79) | 89.05(0.66) | 89.41(0.55) | 89.87(0.42)
Kappa | 86.69(1.92) | 86.73(1.26) | 86.88(0.84) | 87.12(0.65) | 87.49(0.49) | 88.03(0.43)

(b) scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-0 | 1-1-0 | 2-1-0 | 2-2-0 | 3-2-0 | 3-3-0
0 | F1 score | 84.21(2.73) | 84.33(1.85) | 84.49(1.22) | 84.72(1.11) | 85.12(0.82) | 85.52(0.63)
Kappa | 82.34(3.31) | 82.51(1.86) | 82.62(1.22) | 82.78(0.97) | 83.27(0.77) | 83.72(0.61)
10 | F1 score | 86.57(2.78) | 86.62(1.48) | 86.81(1.22) | 87.08(0.86) | 87.42(0.69) | 87.93(0.57)
Kappa | 84.71(2.79) | 84.82(1.66) | 84.91(1.21) | 85.12(0.90) | 85.54(0.66) | 86.01(0.52)
20 | F1 score | 87.53(2.25) | 87.69(1.33) | 87.86(1.05) | 88.03(0.81) | 88.43(0.60) | 88.80(0.46)
Kappa | 85.73(2.18) | 85.77(1.31) | 85.93(1.16) | 86.17(0.80) | 86.61(0.66) | 87.02(0.43)
40 | F1 score | 88.53(1.99) | 88.59(1.16) | 88.71(0.79) | 89.01(0.66) | 89.38(0.55) | 89.82(0.42)
Kappa | 86.65(1.92) | 86.68(1.26) | 86.84(0.84) | 87.08(0.65) | 87.41(0.49) | 87.98(0.43)

(c) scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-0 | 1-0-1 | 2-0-1 | 2-0-2 | 3-0-2 | 3-0-3
0 | F1 score | 83.91(2.81) | 84.01(1.95) | 84.12(1.41) | 84.41(1.30) | 84.80(0.93) | 85.23(0.77)
Kappa | 82.01(3.39) | 82.22(1.93) | 82.33(1.29) | 82.49(1.03) | 83.00(0.83) | 83.41(0.65)
10 | F1 score | 86.35(2.81) | 86.42(1.50) | 86.63(1.23) | 86.81(0.87) | 87.21(0.70) | 87.71(0.58)
Kappa | 84.52(2.81) | 84.63(1.68) | 84.73(1.23) | 84.97(0.91) | 85.41(0.66) | 85.82(0.53)
20 | F1 score | 87.44(2.25) | 87.53(1.33) | 87.72(1.06) | 87.97(0.82) | 88.35(0.60) | 88.69(0.46)
Kappa | 85.62(2.18) | 85.69(1.31) | 85.81(1.17) | 86.03(0.81) | 86.51(0.66) | 88.91(0.43)
40 | F1 score | 88.48(1.99) | 88.51(1.16) | 88.63(0.80) | 88.98(0.67) | 89.31(0.55) | 89.76(0.42)
Kappa | 86.60(1.92) | 86.62(1.26) | 86.79(0.86) | 86.99(0.66) | 87.35(0.49) | 87.92(0.43)

TABLE IX: PAMAP2 dataset: Performance evaluation of SemiPFL for the different
number of users and number of available labeled data per class at the user
side.

(a) scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-0 | 2-0-0 | 3-0-0 | 4-0-0 | 5-0-0 | 6-0-0
0 | F1 score | 88.90(3.23) | 88.95(2.01) | 89.10(1.31) | 89.36(0.96) | 89.72(0.76) | 90.18(0.57)
Kappa | 87.57(2.70) | 87.65(1.70) | 87.81(1.30) | 88.06(0.97) | 88.45(0.77) | 88.90(0.58)
10 | F1 score | 90.21(2.98) | 90.26(1.50) | 90.41(1.13) | 90.67(0.86) | 91.03(0.68) | 91.49(0.51)
Kappa | 88.94(2.81) | 89.00(1.63) | 89.13(1.19) | 89.41(0.83) | 89.75(0.75) | 90.22(0.49)
20 | F1 score | 90.75(2.11) | 90.81(1.47) | 90.96(0.99) | 91.22(0.82) | 91.57(0.64) | 92.03(0.49)
Kappa | 89.50(2.21) | 89.55(1.39) | 89.68(1.04) | 89.96(0.89) | 90.30(0.65) | 90.77(0.44)
40 | F1 score | 91.24(1.87) | 91.30(1.33) | 91.45(0.96) | 91.71(0.73) | 92.06(0.47) | 92.52(0.36)
Kappa | 89.99(2.01) | 90.05(1.16) | 90.17(0.95) | 90.46(0.64) | 90.79(0.57) | 91.26(0.45)

(b) scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-0 | 1-1-0 | 2-1-0 | 2-2-0 | 3-2-0 | 3-3-0
0 | F1 score | 86.94(3.23) | 86.98(2.01) | 87.17(1.31) | 87.44(0.96) | 87.81(0.76) | 88.21(0.57)
Kappa | 85.62(2.70) | 85.72(1.70) | 85.92(1.30) | 86.12(0.97) | 86.53(0.77) | 86.98(0.58)
10 | F1 score | 89.23(2.98) | 89.37(1.50) | 89.46(1.13) | 89.73(0.86) | 90.12(0.68) | 91.49(0.51)
Kappa | 88.02(2.81) | 88.15(1.63) | 88.20(1.19) | 88.49(0.83) | 88.81(0.75) | 89.32(0.49)
20 | F1 score | 90.27(2.11) | 90.34(1.47) | 90.47(0.99) | 90.91(0.82) | 91.03(0.64) | 91.54(0.49)
Kappa | 89.02(2.21) | 89.12(1.39) | 89.23(1.04) | 89.49(0.89) | 89.79(0.65) | 90.24(0.44)
40 | F1 score | 91.19(1.87) | 91.27(1.33) | 91.41(0.96) | 91.67(0.73) | 92.01(0.47) | 92.48(0.36)
Kappa | 89.96(2.01) | 90.01(1.16) | 90.12(0.95) | 90.39(0.64) | 90.72(0.57) | 91.19(0.45)

(c) scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-0 | 1-0-1 | 2-0-1 | 2-0-2 | 3-0-2 | 3-0-3
0 | F1 score | 86.62(3.54) | 86.69(2.33) | 86.82(1.52) | 87.11(1.02) | 87.54(0.86) | 88.00(0.63)
Kappa | 85.31(2.78) | 85.42(1.77) | 85.66(1.36) | 85.88(1.05) | 86.24(0.83) | 86.70(0.63)
10 | F1 score | 89.01(3.00) | 89.13(1.55) | 89.29(1.16) | 89.57(0.89) | 89.92(0.70) | 91.29(0.55)
Kappa | 87.81(2.85) | 88.01(1.67) | 88.05(1.20) | 88.23(0.89) | 88.63(0.78) | 89.13(0.54)
20 | F1 score | 90.15(2.15) | 90.22(1.49) | 90.33(1.02) | 90.80(0.84) | 90.91(0.66) | 91.43(0.50)
Kappa | 88.91(2.23) | 89.01(1.41) | 89.11(1.08) | 89.38(0.91) | 89.68(0.71) | 90.13(0.45)
40 | F1 score | 91.15(1.89) | 91.23(1.35) | 91.37(0.98) | 91.61(0.75) | 91.98(0.47) | 92.45(0.36)
Kappa | 89.91(2.05) | 89.92(1.19) | 90.01(0.98) | 90.33(0.66) | 90.68(0.59) | 91.12(0.45)

TABLE X: WESAD dataset: Performance evaluation of SemiPFL for the different
number of users and number of available labeled data per class at the user
side.

(a) scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 2-0-0 | 4-0-0 | 6-0-0 | 8-0-0 | 10-0-0 | 12-0-0
0 | F1 score | 84.71(3.12) | 84.81(1.76) | 84.88(1.39) | 85.16(1.12) | 85.55(0.85) | 86.01(0.67)
Kappa | 80.65(3.35) | 80.72(2.01) | 80.85(1.41) | 81.10(1.01) | 81.52(0.73) | 81.97(0.67)
10 | F1 score | 87.72(2.87) | 87.72(1.79) | 87.86(1.33) | 88.18(1.04) | 88.55(0.74) | 88.73(0.56)
Kappa | 83.87(2.50) | 83.91(1.66) | 84.06(1.19) | 84.29(0.84) | 84.64(0.68) | 85.11(0.54)
20 | F1 score | 88.39(2.47) | 88.38(1.51) | 88.53(0.99) | 88.84(0.90) | 89.22(0.59) | 89.68(0.46)
Kappa | 84.55(2.26) | 84.58(1.53) | 84.73(0.96) | 84.96(0.84) | 85.31(0.70) | 85.78(0.50)
40 | F1 score | 88.94(2.15) | 88.93(1.27) | 89.08(0.82) | 89.39(0.68) | 89.77(0.54) | 90.23(0.45)
Kappa | 85.10(1.80) | 85.13(1.15) | 85.28(0.88) | 85.51(0.63) | 85.86(0.57) | 86.33(0.38)

(b) scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-1-0 | 2-2-0 | 3-3-0 | 4-4-0 | 5-5-0 | 6-6-0
0 | F1 score | 82.77(3.12) | 82.89(1.76) | 82.93(1.39) | 83.21(1.12) | 83.59(0.85) | 84.05(0.67)
Kappa | 78.63(3.35) | 78.79(2.01) | 79.92(1.41) | 79.11(1.01) | 79.59(0.73) | 80.02(0.67)
10 | F1 score | 86.69(2.87) | 86.74(1.79) | 86.91(1.33) | 87.21(1.04) | 87.64(0.74) | 87.69(0.56)
Kappa | 82.85(2.50) | 82.88(1.66) | 83.11(1.19) | 83.31(0.84) | 83.66(0.68) | 84.09(0.54)
20 | F1 score | 87.91(2.47) | 87.97(1.51) | 87.04(0.99) | 88.41(0.90) | 88.76(0.59) | 89.13(0.46)
Kappa | 84.02(2.26) | 84.06(1.53) | 84.12(0.96) | 84.42(0.84) | 84.86(0.70) | 85.24(0.50)
40 | F1 score | 88.88(2.15) | 88.91(1.27) | 89.00(0.82) | 89.31(0.68) | 89.64(0.54) | 90.10(0.45)
Kappa | 84.98(1.80) | 85.02(1.15) | 85.19(0.88) | 85.39(0.63) | 85.79(0.57) | 86.28(0.38)

(c) scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 1-0-1 | 2-0-2 | 3-0-3 | 4-0-4 | 5-0-5 | 6-0-6
0 | F1 score | 82.48(3.42) | 82.57(1.95) | 82.66(1.71) | 82.95(1.52) | 83.24(1.17) | 83.75(0.98)
Kappa | 78.35(3.52) | 78.44(2.51) | 79.68(1.82) | 78.88(1.51) | 79.23(1.03) | 79.71(0.98)
10 | F1 score | 86.23(3.03) | 86.29(1.92) | 86.58(1.53) | 86.82(1.30) | 87.27(0.86) | 87.32(0.63)
Kappa | 82.51(2.78) | 82.72(1.83) | 82.88(1.49) | 82.95(0.94) | 83.31(0.79) | 83.72(0.63)
20 | F1 score | 87.73(2.49) | 87.79(1.53) | 86.82(1.03) | 88.21(0.92) | 88.55(0.61) | 88.91(0.48)
Kappa | 83.83(2.29) | 83.89(1.58) | 83.93(0.99) | 84.20(0.88) | 84.59(0.75) | 85.01(0.54)
40 | F1 score | 88.81(2.16) | 88.83(1.28) | 88.89(0.83) | 89.21(0.68) | 89.53(0.54) | 89.98(0.46)
Kappa | 84.91(1.82) | 84.92(1.17) | 85.09(0.89) | 85.25(0.64) | 85.69(0.58) | 86.17(0.38)

TABLE XI: SleepEDF dataset: Performance evaluation of SemiPFL for the
different number of users and number of available labeled data per class at
the user side.

(a) scenario 1

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 3-0-0 | 6-0-0 | 9-0-0 | 12-0-0 | 15-0-0 | 18-0-0
0 | F1 score | 61.64(3.16) | 61.72(1.87) | 61.82(1.48) | 62.09(1.01) | 62.53(0.86) | 62.92(0.65)
Kappa | 56.62(3.25) | 56.71(1.97) | 56.84(1.27) | 57.14(1.01) | 57.45(0.86) | 57.94(0.65)
10 | F1 score | 76.56(2.64) | 76.61(1.69) | 76.76(1.26) | 76.95(0.88) | 77.39(0.66) | 77.82(0.50)
Kappa | 71.54(2.75) | 71.57(1.66) | 71.77(1.35) | 72.03(0.72) | 72.35(0.54) | 72.81(0.40)
20 | F1 score | 77.25(2.40) | 77.30(1.36) | 77.46(1.13) | 77.65(0.89) | 78.08(0.60) | 78.51(0.49)
Kappa | 72.23(2.29) | 72.26(1.29) | 72.46(1.03) | 72.73(0.89) | 73.05(0.68) | 73.50(0.47)
40 | F1 score | 77.81(1.37) | 77.86(1.36) | 78.02(0.96) | 78.21(0.73) | 78.64(0.54) | 79.07(0.43)
Kappa | 72.79(2.03) | 72.82(1.48) | 73.02(1.03) | 73.29(0.81) | 73.61(0.53) | 74.06(0.46)

(b) scenario 2

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 2-1-0 | 3-3-0 | 5-4-0 | 6-6-0 | 8-7-0 | 9-9-0
0 | F1 score | 59.77(3.28) | 59.89(1.89) | 89.91(1.48) | 60.13(1.11) | 60.63(0.98) | 60.98(0.73)
Kappa | 54.71(3.11) | 54.84(2.07) | 54.93(1.34) | 55.19(1.13) | 54.57(0.98) | 56.03(0.79)
10 | F1 score | 75.61(2.70) | 75.68(1.73) | 75.86(1.31) | 76.02(0.93) | 76.45(0.70) | 76.92(0.58)
Kappa | 70.62(2.84) | 70.77(1.71) | 70.83(1.41) | 71.12(0.79) | 71.41(0.60) | 71.79(0.51)
20 | F1 score | 76.77(2.45) | 76.85(1.42) | 76.96(1.17) | 77.11(0.92) | 77.65(0.63) | 78.03(0.54)
Kappa | 71.77(2.33) | 71.89(1.34) | 71.03(1.11) | 72.57(0.94) | 72.60(0.73) | 72.98(0.52)
40 | F1 score | 77.62(1.39) | 77.67(1.40) | 77.91(1.00) | 78.07(0.79) | 78.59(0.58) | 78.98(0.48)
Kappa | 72.77(2.08) | 72.71(1.53) | 72.97(1.09) | 73.17(0.87) | 73.52(0.57) | 73.99(0.49)

(c) scenario 3

Number of labeled | Metric | Number of system 1 users - number of system 2 users - number of system 3 users
---|---|---
instances per class | Average(Std) | 2-0-1 | 3-0-3 | 5-0-4 | 6-0-6 | 8-0-7 | 9-0-9
0 | F1 score | 59.42(3.41) | 59.61(1.92) | 89.62(1.52) | 59.82(1.15) | 60.35(1.03) | 60.66(0.79)
Kappa | 54.37(3.19) | 54.53(2.15) | 54.62(1.41) | 54.89(1.19) | 54.23(1.03) | 55.72(0.84)
10 | F1 score | 75.43(2.73) | 75.48(1.75) | 75.66(1.34) | 75.80(0.95) | 76.28(0.73) | 76.74(0.59)
Kappa | 70.42(2.86) | 70.53(1.73) | 70.65(1.43) | 70.97(0.81) | 71.23(0.62) | 71.61(0.53)
20 | F1 score | 76.65(2.46) | 76.74(1.43) | 76.83(1.18) | 76.99(0.93) | 77.54(0.65) | 77.90(0.55)
Kappa | 71.69(2.35) | 71.82(1.37) | 70.98(1.14) | 72.43(0.96) | 72.52(0.77) | 72.83(0.54)
40 | F1 score | 77.55(1.41) | 77.61(1.41) | 77.86(1.01) | 78.01(0.79) | 78.52(0.59) | 78.96(0.48)
Kappa | 72.72(2.10) | 72.67(1.53) | 72.91(1.10) | 73.12(0.88) | 73.48(0.59) | 73.92(0.49)

##  IV Experimental evaluation

In this section, we evaluate the effectiveness of our method using sets of
available activity recognition , stress detection, and sleep stage scoring
datasets. A summary of datasets can be found in table II.

In order to evaluate SemiPFL in real-time, we designed a set of experiments
using Raspberry pi 4 boards. We considered the Raspberry pi as the user
communicating over a LAN with a PC as the server. In our experiments, we
considered three scenarios: a) all users have system 1 processing power (Fig.
4 a), b) about half of the users are considered with system 1 processing power
and the rest with system 2 hardware specs (Fig. 4 b), and c) we assume around
half of the users have system 1 hardware, and the rest are considered with
system 3 processing power (Fig. 4 c). A comparison between system 1, system 2,
and system 3 hardware resources can be found in Table IV. To provide a fair
comparison, each type of users receive the same processing time.

In this chapter, first, we cite datasets used in this study with their
corresponding processing. Second, we explain our experimental setup. Third, we
compare SemiPFL with other related federated learning frameworks. Fourth, we
explain the impact of the number of available labeled instances, fifth, we
evaluate the impact of the number of users collaborating during training, and
finally, we study the effect of user hardware heterogeneity on the overall
performance.

###  IV-A Dataset and prepossessing

We employed five available human action recognition , one stress detection ,
and one sleep stage scoring datasets to evaluate our method. A summary of
datasets can be found in table II. In this study, we used the following
datasets:

####  IV-A1 Mobiact[71]

Mobiact includes accelerometer, gyroscope, and orientation data gathered from
smartphones in participants’ pockets. Twenty activities are recorded, such as
standing, walking, jogging, and jumping. In Mobiact, 61 subjects with six
trials for each subject are recorded. To compare our results with FehHAR
IFedAR [38] and FedSCN [9], We evaluated our algorithm based on two different
sets of outputs, five activities: standing, walking, sitting, jumping, and
jogging, and ten activities: standing, car-step in, sitting on a chair, car-
step out, jogging, jumping, Stand to sit, stairs down, walking, and stairs up.

####  IV-A2 WISDM [72]

WISDM dataset contains accelerometer and gyroscope data from smartphones and
smartwatches separately, summarizing 18 different activities collected from 51
subjects. In our experiment, to compare our results with FedAR [38], we only
considered the following daily activities: walking, jogging, stairs, standing,
sitting.

####  IV-A3 HAR-UCI [73]

HAR-UCI contains activity data collected from thirty participants doing six
activities: walking, walking upstairs, walking downstairs, sitting, standing,
and lying while users are wearing a smartphone on the waist, which records
3-axial acceleration and 3-axial angular velocity at a constant rate of 50Hz.

####  IV-A4 HHAR [74]

HHAR is the most widely-used benchmark for human activity recognition
algorithms. Data is collected by smartphones and smartwatches separately,
including 3-dimensional accelerometer and gyroscope data from 9 users. Six
daily activities (biking, sitting, standing, walking, stair up, and stair
down) are collected using different devices.

####  IV-A5 PAMAP2 [75, 76]

PAMAP2 contains data with 52 dimensions from 3 synchronized IMUs on the chest,
dominant side’s ankle, and over the wrist on the dominant arm separately. A
total of 24 activities are recorded from 8 subjects. We eventually selected
ten activities from all eight subjects with 39-dimensional data to address
missing data and an imbalance class problem.

####  IV-A6 WESAD [77]

WESAD features physiological data and motion modalities. Fifteen different
subjects’ data are recorded from wearable sensors on both wrist and chest.
WESAD contains three outputs: normal, amusement, and stress.

####  IV-A7 Sleep-EDF [78, 74]

Sleep-EDF is a sleep-scoring dataset containing data collected from 20
subjects. It consists of different modalities such as containing
Electroencephalogram (EEG), Electrooculogram (EOG), Electromyography (EMG)
collected from subjects’ chin, event markers, respiration, and body
temperature. Data are manually scored by sleep analysis experts to 5 classes
(wake, N1, N2, N3, and rapid eye movement).

###  IV-B Experimental setup

In the past years, many researchers tried to introduce metrics to evaluate
performance in federated learning settings[80]. To evaluate our method, we
calculated federated average F1 score and Kappa score for all users (Eqn.
(17)), where $E_{j}$ is the evaluation dataset for user $j$, and $f_{j}$ is
the personalized model for user j, and $K^{\prime}$ is the total number of
available users during training. We run each scenario ten times with different
seed values to calculate each performance metric’s average and standard
deviation values. It is important to note that evaluation data is not used
during the training phase. Also, since the server randomly selects users, we
eliminated those who did not participate in the training session from the
final evaluation.

$\begin{matrix}{F1}_{total}=\sum_{j=1}^{K^{\prime}}F1(E_{j},f_{j})\\\ \\\
{Kappa}_{total}=\sum_{j=1}^{K^{\prime}}Kappa(E_{j},f_{j})\end{matrix}$ (17)

We randomly selected a set of users for each dataset to be considered server
datasets. We kept the same users for our complete analysis to have consistent
results. For Mobiact, HAR-UCI, WISDM, HHAR, PAMAP, WESAD, and Sleep-EDF we
selected six, six, six, three, two, three, and two users datasets,
respectively, as server instances. We selected our hyperparameters using grid
search. For the model architecture, we used four linear layers in the
autoencoder (two layers for encoder and two layers for decoder). For the base
model, we use two linear layers. After each linear layer, we added a ReLU
layer as an activation function and a dropout layer (dropout=$0.2$).

We use Adam optimizer with the learning rate of $0.001$. The batch size for
training was 128. For threshold value, we selected $\tau=0.05$. We created our
data tensor from datasets using a sliding window with length $W=30$. We also
normalize and balance class distributions before use.

For all datasets, we considered 30% of the data as an evaluation dataset and
used the rest for training. We considered 20% of the remaining data points as
labeled datasets and the rest as unlabeled data points. We randomly added ,
10, , 20, , , and 40 labeled datapoints per class, respectively, to our setup
and started the training from scratch. We reported all the results at $r=200$
rounds. We also choose $T=T^{\prime}=10$. For the Hyper-network, we borrowed
the structure from pFedHN [68] and updated the architecture so that it outputs
our autoencoder parameters.

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

Figure 5: Comparison of SemiPFL and other methods in terms of the average F1
score over different communication rounds for Mobiact ((a) 5 activities, (b)
10 activities), (c) WISDM, (d) HAR-UCI, (e) HHAR, (f) PAMP2, (g) WESAD, and
(h) Sleep-EDF datasets. Figure 6: Comparison of SemiPFL and FedAVG in terms of
inference time for Mobiact (5 activities, 10 activities), WISDM, HAR-UCI,
HHAR, PAMP2, WESAD, and Sleep-EDF datasets.

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

Figure 7: Comparison of the network footprint between SemiPFL, FedAR, FedHAR,
SemiFL, and FedAVG for Mobiact ((a) 5 activities, (b) 10 activities), (c)
WISDM, (d) HAR-UCI, (e) HHAR, (f) PAMP2, (g) WESAD, and (h) Sleep-EDF
datasets.

###  IV-C Comparison with other methods

####  IV-C1 Comparison in terms of overall performance

Table III demonstrates a comparison amongst our method and the most related
studies investigating the effectiveness of federated learning frameworks for
embedded edge intelligence. Here, we have classified these methods based on
their objectives: personlized, label in server, label in user, and the model
type. In order to be able to accurately compare our results with selected
methods, we chose similar pre-processing steps.

Most of these works focus on federated learning, where users collaborate to
generate a global model. These methods are not performing well, having lower
average Kappa or F1 scores (as seen in Table III). While SemiPFL use FCNN
which is simpler and faster to train than the more complex architectures such
as CNN and LSTM, it outperforms them all in terms of respective average F1 and
Kappa values. SemiPFL performs better than recent semi-personalized work [67,
39, 66, 33, 38, 31], and earlier federated learning methods [12, 37, 9]. It
also has a more relaxed attribute regarding the need for labeled data on the
user side.

####  IV-C2 Comparison in terms of convergence speed

Fig. 5 demonstrates a comparison of SemiPFL with other methods in average
F1-score over communication rounds, using Mobiact 5 activities (Fig. 5 a),
Mobiact 10 activities (Fig. 5 b), WISDM (Fig. 5 c), HAR-UCI (Fig. 5 d), HHAR
(Fig. 5 e), PAMP2 (Fig. 5 f), WESAD (Fig. 5 g), and Sleep-EDF (Fig. 5 h)
datasets. The center lines in plots correspond to average values, and the
shaded area represents the standard deviation, calculated over 10 different
trials. In all datasets, FedAR (blue line) and FedHAR (black line) converge
slightly faster than SemiPFL (red line) initially. However, SemiPFL in the
same context converges to a higher average F1-score. This can result from
having one user communicating with the central server at a time. In both FedAR
and FedHAR, every round, a set of users collaborate with the central server.
SemiFL (green line) and FedAVG (brown line) have slower or lower convergence
values compared to SemiPFL, FedAR, and FedHAR in the average F1-score.

####  IV-C3 Comparison in terms of inference time

Fig. 6 reports a comparison between SemiPFL and FedAVG regarding inference
time tested on Raspberry Pi 4 with system 1 specs using Mobiact 5 activities,
Mobiact 10 activities, WISDM, HAR-UCI, HHAR, PAMP2, WESAD, and Sleep-EDF
datasets (A summary can be found in Fig. 6). Similar to [30], which uses
autoencoder to train a global model for users, the processing time of SemiPFL
is significantly lower ($p<0.001$) than FedAVG. The reason is that in SemiPFL,
users first encode their dataset into smaller representations. Despite the
fact that the autoencoder adds up to the user’s processing time, the encoder
transforms the user dataset into a smaller representation, which requires
smaller models compared to methods such as FedAVG.

####  IV-C4 Comparison in terms of network footprint

Similar to [81], we have compared the network footprint between SemiPFL, FedAR
[38], FedHAR [33], SemiFL [30], and FedAVG[37], based on the average F1-score
for all users using Mobiact 5 activities (Fig. 7 a), Mobiact 10 activities
(Fig. 7 b), WISDM (Fig. 7 c), HAR-UCI (Fig. 7 d), HHAR (Fig. 7 e), PAMP2 (Fig.
7 f), WESAD (Fig. 7 g), and Sleep-EDF (Fig. 7 h) datasets. Based on the
results, SemiPFL (blue bar) has less network footprint than FedAR (cyan bar),
FedHAR (black bar), SemiFL (red bar), and FedAVG (green bar) in terms of the
same average F1 score. One of the main reasons is that in our method, only one
user communicates with the server every communication round, making
transmission cost more efficient.

###  IV-D Impact of number of available labeled instances

SemiPFL covers a wide range of scenarios from no labeled data to fully
supervised setting, unlike other previous publications. This design has lent
itself to investigate the effect of increased available labeling by
incrementally adding to the labeled instances per class and measuring the
improvements in average Kappa and F1 scores as shown in Tables V(a), V(d),
VI(a), VII(a),  VIII(a), IX(a), X(a), and XI(a). We also see the same trend in
V(b), V(c), V(e), V(f), VI(b), VI(c), VII(b), VII(c), VIII(b), VIII(c), IX(b),
IX(c), X(b), X(c), XI(b), and XI(c), where hardware heterogeneity exists among
half of users. Having some labeled datasets on the server side in the SemiPFL
design enables us to achieve high scores even without any user labels and
increasing the performance as the number of labeled data increases. This trend
has been observed in this study for different datasets, while in some
instances it highlights the possibility to have an optimum number of labeled
instances as the performance metrics saturate beyond certain number of labeled
datasets.

###  IV-E Impact of number of users collaborating during training

To investigate the impact of the number of users collaborating during the
training process, we randomly selected five users for Mobiact and WISDM, and
then added five more users each time and started training SemiPFL from
scratch. For PAMAP2 and HHAR, we randomly selected one user, and added one
more user in each training and testing of SemiPFL. For HAR-UCI  and Sleep-EDF
datasets, we randomly selected three users, and then added three more users
every time. For WESAD, we randomly selected two users, and then added two more
users every time. The results for the performance metrics average Kappa and F1
scores as the different number of users are added to SemiPFL is also reported
in Tables V(a), V(d), VI(a), VII(a),  VIII(a), IX(a), ,X(a), and XI(a). We
also see the same trend in V(b), V(c), V(e), V(f), VI(b), VI(c), VII(b),
VII(c), VIII(b), VIII(c), IX(b), IX(c), X(b), X(c), XI(b), and XI(c), where
hardware heterogeneity exists among half of users. Unlike previous
publications, we observe that due to the sophisticated personalized
representation of SemiPFL adding more users increase the performance scores
and not necessarily decrease the performance due to the edge data
heterogeneity. This is an important outcome as it demonstrates the possibility
for collaborative learning from edge nodes for the entire SemiPFL model.

###  IV-F Impact of user hardware resource heterogeneity

Tables V(f), VI(c), VII(c), VIII(c), IX(c), X(c), and XI(c) present our
experimental results for scenarios 1, 2, and 3. Tables V(a), V(d), VI(a),
VII(a), VIII(a), IX(a), X(a), and XI(a) present the overall performance in
terms of the F1-score and Kappa score for scenario 1, where all users have the
same processing specs. Tables V(b), V(e), VI(b), VII(b), VIII(b), IX(b), X(b),
and XI(b), demonstrate the effect of increasing labeled data for users, and
the effect of increasing active users during training when we have scenario 2
user hardware heterogeneity. Tables V(c), V(f), VI(c), VII(c), VIII(c), IX(c),
X(c), and XI(c), show the overall performance of scenario 3, when the number
of labeled data increases, and the number of active users increases. One
visible trend is that scenario 1 performance is generally always higher than
scenario 2, and scenario 2 is always higher than scenario 3 in terms of the
average F1-score and Kappa score. However, based on our results, all three
scenarios converge to nearly the same values in the reported performance
measure as the number of users increases and the number of labeled data
increases. We can conclude that our method shows good performance stability
when hardware resource heterogeneity exists in scenarios 2, and 3. To our
knowledge, this work is the first attempt to quantify such effects, and it is
of interest to explore further study of such variations.

##  V Conclusion

This paper introduces SemiPFL, a novel personalized semi-supervised learning
method focusing on edge intelligence. Our approach trains a Hyper-network that
generates a personalized autoencoder to enable learning from user data
representation. Furthermore, based on the user autoencoder and the sets of the
available dataset in server-side from different distributions, the server
generates a group of base models to the corresponding user. Finally, the user
fine-tunes the weighted average of such base models to generate a personalized
base model. We extensively evaluated the proposed method in three different
real-time experimental scenarios on five publicly available human action
recognition, one stress detection, and one sleep-stage scoring datasets
collected from wearable devices. Our method outperforms personalized models
and available federated learning frameworks under the same assumptions in
terms of average F1 and Kappa scores. We also compare SemiPFL and other
related methods in terms of convergence speed, inference time, and network
footprint. In all three categories, SemiPFL demonstrates superior results
compared to related methods. We also studied the effect of user hardware
heterogeneity in three scenarios and demonstrated stable performance in the
presence of such variations. However, this work is the first attempt to
quantify such effects and unlock new avenues for further study of such
variations. While SemiPFL can perform well for cases without labeled data at
the edge, the performance increases with increasing labeled data and saturates
signifying an optimum number of labeled data for a given edge node. In
addition, we demonstrated that SemiPFL performance increases with increasing
number of users unlike other publications highlighting the possibility to
incorporate edge data heterogeneity in SemiPFL platform. By leveraging semi-
supervised learning, our framework prohibitively reduces the need for
annotating data.

## References

  * [1] Siamak Yousefi, Hirokazu Narui, Sankalp Dayal, Stefano Ermon, and Shahrokh Valaee.  A survey on behavior recognition using wifi channel state information.  IEEE Communications Magazine, 55(10):98–104, 2017.
  * [2] Liming Chen, Jesse Hoey, Chris D Nugent, Diane J Cook, and Zhiwen Yu.  Sensor-based activity recognition.  IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), 42(6):790–808, 2012.
  * [3] Nishkam Ravi, Nikhil Dandekar, Preetham Mysore, and Michael L Littman.  Activity recognition from accelerometer data.  In Aaai, volume 5, pages 1541–1546. Pittsburgh, PA, 2005.
  * [4] Akara Supratak, Hao Dong, Chao Wu, and Yike Guo.  Deepsleepnet: A model for automatic sleep stage scoring based on raw single-channel eeg.  IEEE Transactions on Neural Systems and Rehabilitation Engineering, 25(11):1998–2008, 2017.
  * [5] Muhammad Mubashir, Ling Shao, and Luke Seed.  A survey on fall detection: Principles and approaches.  Neurocomputing, 100:144–152, 2013.
  * [6] Eunju Kim, Sumi Helal, and Diane Cook.  Human activity recognition and pattern discovery.  IEEE pervasive computing, 9(1):48–53, 2009.
  * [7] Jindong Wang, Yiqiang Chen, Shuji Hao, Xiaohui Peng, and Lisha Hu.  Deep learning for sensor-based activity recognition: A survey.  Pattern Recognition Letters, 119:3–11, 2019.
  * [8] Oscar D Lara and Miguel A Labrador.  A survey on human activity recognition using wearable sensors.  IEEE communications surveys & tutorials, 15(3):1192–1209, 2012\.
  * [9] Aaqib Saeed, Flora D. Salim, Tanir Ozcelebi, and Johan Lukkien.  Federated Self-Supervised Learning of Multisensor Representations for Embedded Intelligence.  IEEE Internet of Things Journal, 8(2):1030–1040, 2021.
  * [10] Dinh C Nguyen, Ming Ding, Pubudu N Pathirana, Aruna Seneviratne, Jun Li, and H Vincent Poor.  Federated learning for internet of things: A comprehensive survey.  IEEE Communications Surveys & Tutorials, 23(3):1622–1658, 2021\.
  * [11] Mohamed Amine Ferrag, Othmane Friha, Leandros Maglaras, Helge Janicke, and Lei Shu.  Federated deep learning for cyber security in the internet of things: Concepts, applications, and experimental analysis.  IEEE Access, 9:138509–138542, 2021.
  * [12] Yuchen Zhao, Hanyang Liu, Honglin Li, Payam Barnaghi, and Hamed Haddadi.  Semi-supervised federated learning for activity recognition.  arXiv preprint arXiv:2011.00851, 2020.
  * [13] Ahmed Imteaj, Urmish Thakker, Shiqiang Wang, Jian Li, and M Hadi Amini.  A survey on federated learning for resource-constrained iot devices.  IEEE Internet of Things Journal, 9(1):1–24, 2021.
  * [14] Yi Liu, Sahil Garg, Jiangtian Nie, Yang Zhang, Zehui Xiong, Jiawen Kang, and M Shamim Hossain.  Deep anomaly detection for time-series data in industrial iot: A communication-efficient on-device federated learning approach.  IEEE Internet of Things Journal, 8(8):6348–6358, 2020.
  * [15] Weishan Zhang, Qinghua Lu, Qiuyu Yu, Zhaotong Li, Yue Liu, Sin Kit Lo, Shiping Chen, Xiwei Xu, and Liming Zhu.  Blockchain-based federated learning for device failure detection in industrial iot.  IEEE Internet of Things Journal, 8(7):5926–5937, 2020.
  * [16] Yi Liu, Jiangtian Nie, Xuandi Li, Syed Hassan Ahmed, Wei Yang Bryan Lim, and Chunyan Miao.  Federated learning in the sky: Aerial-ground air quality sensing framework with uav swarms.  IEEE Internet of Things Journal, 8(12):9827–9837, 2020.
  * [17] Yi Liu, James J. Q. Yu, Jiawen Kang, Dusit Niyato, and Shuyu Zhang.  Privacy-preserving traffic flow prediction: A federated learning approach.  IEEE Internet of Things Journal, 7(8):7751–7763, 2020.
  * [18] Jiaming Pei, Kaiyang Zhong, Mian Ahmad Jan, and Jinhai Li.  Personalized federated learning framework for network traffic anomaly detection.  Computer Networks, 209:108906, 2022.
  * [19] Shuai Yu, Xu Chen, Zhi Zhou, Xiaowen Gong, and Di Wu.  When deep reinforcement learning meets federated learning: Intelligent multitimescale resource management for multiaccess edge computing in 5g ultradense network.  IEEE Internet of Things Journal, 8(4):2238–2251, 2020.
  * [20] Rituparna Saha, Sudip Misra, and Pallav Kumar Deb.  Fogfl: Fog-assisted federated learning for resource-constrained iot devices.  IEEE Internet of Things Journal, 8(10):8456–8463, 2020.
  * [21] Van-Dinh Nguyen, Shree Krishna Sharma, Thang X Vu, Symeon Chatzinotas, and Björn Ottersten.  Efficient federated learning algorithm for resource allocation in wireless iot networks.  IEEE Internet of Things Journal, 8(5):3394–3409, 2020.
  * [22] Zeyue Xue, Pan Zhou, Zichuan Xu, Xiumin Wang, Yulai Xie, Xiaofeng Ding, and Shiping Wen.  A resource-constrained and privacy-preserving edge-computing-enabled clinical decision system: A federated reinforcement learning approach.  IEEE Internet of Things Journal, 8(11):9122–9138, 2021.
  * [23] Prateek Chhikara, Prabhjot Singh, Rajkumar Tekchandani, Neeraj Kumar, and Mohsen Guizani.  Federated learning meets human emotions: A decentralized framework for human–computer interaction for iot applications.  IEEE Internet of Things Journal, 8(8):6949–6962, 2020.
  * [24] Dohyun Kwon, Joohyung Jeon, Soohyun Park, Joongheon Kim, and Sungrae Cho.  Multiagent ddpg-based deep learning for smart ocean federated learning iot networks.  IEEE Internet of Things Journal, 7(10):9895–9903, 2020.
  * [25] Weishan Zhang, Tao Zhou, Qinghua Lu, Xiao Wang, Chunsheng Zhu, Haoyun Sun, Zhipeng Wang, Sin Kit Lo, and Fei-Yue Wang.  Dynamic-fusion-based federated learning for covid-19 detection.  IEEE Internet of Things Journal, 8(21):15884–15891, 2021.
  * [26] Ittai Dayan, Holger R Roth, Aoxiao Zhong, Ahmed Harouni, Amilcare Gentili, Anas Z Abidin, Andrew Liu, Anthony Beardsworth Costa, Bradford J Wood, Chien-Sung Tsai, et al.  Federated learning for predicting clinical outcomes in patients with covid-19.  Nature medicine, 27(10):1735–1743, 2021.
  * [27] Georgios A Kaissis, Marcus R Makowski, Daniel Rückert, and Rickmer F Braren.  Secure, privacy-preserving and federated machine learning in medical imaging.  Nature Machine Intelligence, 2(6):305–311, 2020.
  * [28] Wei Yang Bryan Lim, Sahil Garg, Zehui Xiong, Dusit Niyato, Cyril Leung, Chunyan Miao, and Mohsen Guizani.  Dynamic contract design for federated learning in smart healthcare applications.  IEEE Internet of Things Journal, 8(23):16853–16862, 2020.
  * [29] Chi Ian Tang, Ignacio Perez-Pozuelo, Dimitris Spathis, Soren Brage, Nick Wareham, and Cecilia Mascolo.  SelfHAR: Improving Human Activity Recognition through Self-training with Unlabeled Data.  Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 5(1), 3 2021.
  * [30] Yuchen Zhao, Hanyang Liu, Honglin Li, Payam Barnaghi, and Hamed Haddadi.  Semi-supervised Federated Learning for Activity Recognition.  ACM Transactions on Intelligent Systems and Technology, 1(1):1–21, 2020.
  * [31] Yiqiang Chen, Wang Lu, Jindong Wang, and Xin Qin.  Fedhealth 2: Weighted federated transfer learning via batch normalization for personalized healthcare.  arXiv preprint arXiv:2106.01009, 2021.
  * [32] Yiqiang Chen, Xin Qin, Jindong Wang, Chaohui Yu, and Wen Gao.  Fedhealth: A federated transfer learning framework for wearable healthcare.  IEEE Intelligent Systems, 35(4):83–93, 2020.
  * [33] Hongzheng Yu, Zekai Chen, Xiao Zhang, Xu Chen, Fuzhen Zhuang, Hui Xiong, and Xiuzhen Cheng.  Fedhar: Semi-supervised online learning for personalized federated human activity recognition.  IEEE Transactions on Mobile Computing, 2021.
  * [34] Wei Yang Bryan Lim, Nguyen Cong Luong, Dinh Thai Hoang, Yutao Jiao, Ying-Chang Liang, Qiang Yang, Dusit Niyato, and Chunyan Miao.  Federated learning in mobile edge networks: A comprehensive survey.  IEEE Communications Surveys & Tutorials, 22(3):2031–2063, 2020\.
  * [35] Keith Bonawitz, Hubert Eichner, Wolfgang Grieskamp, Dzmitry Huba, Alex Ingerman, Vladimir Ivanov, Chloé Kiddon, Jakub Konečný, Stefano Mazzocchi, Brendan McMahan, Timon Van Overveldt, David Petrou, Daniel Ramage, and Jason Roselander.  Towards federated learning at scale: System design.  In A. Talwalkar, V. Smith, and M. Zaharia, editors, Proceedings of Machine Learning and Systems, volume 1, pages 374–388, 2019.
  * [36] Jie Xu, Benjamin S Glicksberg, Chang Su, Peter Walker, Jiang Bian, and Fei Wang.  Federated learning for healthcare informatics.  Journal of Healthcare Informatics Research, 5(1):1–19, 2021.
  * [37] H. Brendan McMahan, Eider Moore, Daniel Ramage, Seth Hampson, and Blaise Agüera y Arcas.  Communication-efficient learning of deep networks from decentralized data, 2017.
  * [38] Riccardo Presotto, Gabriele Civitarese, and Claudio Bettini.  Semi-supervised and personalized federated activity recognition based on active learning and label propagation.  Personal and Ubiquitous Computing, 26(5):1281–1298, 2022.
  * [39] Tian Li, Anit Kumar Sahu, Manzil Zaheer, Maziar Sanjabi, Ameet Talwalkar, and Virginia Smith.  Federated optimization in heterogeneous networks.  Proceedings of Machine Learning and Systems, 2:429–450, 2020.
  * [40] Mohammed Aledhari, Rehma Razzak, Reza M. Parizi, and Fahad Saeed.  Federated Learning: A Survey on Enabling Technologies, Protocols, and Applications.  IEEE Access, 8:140699–140725, 2020.
  * [41] Bouziane Brik, Adlen Ksentini, and Maha Bouaziz.  Federated learning for uavs-enabled wireless networks: Use cases, challenges, and open problems.  IEEE Access, 8:53841–53849, 2020.
  * [42] Hyunsung Cho, Akhil Mathur, and Fahim Kawsar.  Flame: Federated learning across multi-device environments.  arXiv preprint arXiv:2202.08922, 2022.
  * [43] Alysa Ziying Tan, Han Yu, Lizhen Cui, and Qiang Yang.  Towards personalized federated learning.  IEEE Transactions on Neural Networks and Learning Systems, 2022\.
  * [44] Xin-Chun Li and De-Chuan Zhan.  Fedrs: Federated learning with restricted softmax for label distribution non-iid data.  In Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining, pages 995–1005, 2021.
  * [45] Jie Zhang, Zhiqi Li, Bo Li, Jianghe Xu, Shuang Wu, Shouhong Ding, and Chao Wu.  Federated learning with label distribution skew via logits calibration.  In International Conference on Machine Learning, pages 26311–26329. PMLR, 2022.
  * [46] Zonghang Li, Yihong He, Hongfang Yu, Jiawen Kang, Xiaoping Li, Zenglin Xu, and Dusit Niyato.  Data heterogeneity-robust federated learning via group client selection in industrial iot.  IEEE Internet of Things Journal, 2022.
  * [47] Wenke Huang, Mang Ye, and Bo Du.  Learn from others and be yourself in heterogeneous federated learning.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10143–10153, 2022.
  * [48] Matias Mendieta, Taojiannan Yang, Pu Wang, Minwoo Lee, Zhengming Ding, and Chen Chen.  Local learning matters: Rethinking data heterogeneity in federated learning.  In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 8397–8406, 2022.
  * [49] Qiong Wu, Kaiwen He, and Xu Chen.  Personalized federated learning for intelligent iot applications: A cloud-edge based framework.  IEEE Open Journal of the Computer Society, 1:35–44, 2020.
  * [50] Rui Hu, Yuanxiong Guo, Hongning Li, Qingqi Pei, and Yanmin Gong.  Personalized federated learning with differential privacy.  IEEE Internet of Things Journal, 7(10):9530–9539, 2020.
  * [51] Alireza Fallah, Aryan Mokhtari, and Asuman Ozdaglar.  Personalized federated learning with theoretical guarantees: A model-agnostic meta-learning approach.  Advances in Neural Information Processing Systems, 33:3557–3568, 2020.
  * [52] Aviv Shamsian, Aviv Navon, Ethan Fetaya, and Gal Chechik.  Personalized federated learning using hypernetworks.  In International Conference on Machine Learning, pages 9489–9502. PMLR, 2021.
  * [53] Canh T Dinh, Nguyen Tran, and Josh Nguyen.  Personalized federated learning with moreau envelopes.  Advances in Neural Information Processing Systems, 33:21394–21405, 2020.
  * [54] Idan Achituve, Aviv Shamsian, Aviv Navon, Gal Chechik, and Ethan Fetaya.  Personalized federated learning with gaussian processes.  Advances in Neural Information Processing Systems, 34, 2021.
  * [55] Alireza Fallah, Aryan Mokhtari, and Asuman Ozdaglar.  Personalized federated learning: A meta-learning approach.  arXiv, pages 1–29, 2020.
  * [56] Tian Li, Shengyuan Hu, Ahmad Beirami, and Virginia Smith.  Ditto: Fair and robust federated learning through personalization.  In International Conference on Machine Learning, pages 6357–6368. PMLR, 2021.
  * [57] Alex Krizhevsky, Vinod Nair, and Geoffrey Hinton.  Cifar-10 (canadian institute for advanced research).
  * [58] 2009 Krizhevsky.  Cifar100.
  * [59] Jianbo Yang, Minh Nhut Nguyen, Phyo Phyo San, Xiao Li Li, and Shonali Krishnaswamy.  Deep convolutional neural networks on multichannel time series for human activity recognition.  In Twenty-fourth international joint conference on artificial intelligence, 2015.
  * [60] Charissa Ann Ronao and Sung-Bae Cho.  Human activity recognition with smartphone sensors using deep learning neural networks.  Expert systems with applications, 59:235–244, 2016.
  * [61] Nils Y Hammerla, Shane Halloran, and Thomas Plötz.  Deep, convolutional, and recurrent models for human activity recognition using wearables.  arXiv preprint arXiv:1604.08880, 2016.
  * [62] Jesper E Van Engelen and Holger H Hoos.  A survey on semi-supervised learning.  Machine Learning, 109(2):373–440, 2020.
  * [63] Aaqib Saeed, Flora D. Salim, Tanir Ozcelebi, and Johan Lukkien.  Federated Self-Supervised Learning of Multisensor Representations for Embedded Intelligence.  IEEE Internet of Things Journal, 8(2):1030–1040, 2021.
  * [64] Ian Goodfellow, Yoshua Bengio, and Aaron Courville.  Deep learning.  MIT press, 2016.
  * [65] Peter Kairouz, H Brendan McMahan, Brendan Avent, Aurélien Bellet, Mehdi Bennis, Arjun Nitin Bhagoji, Kallista Bonawitz, Zachary Charles, Graham Cormode, Rachel Cummings, et al.  Advances and open problems in federated learning.  Foundations and Trends® in Machine Learning, 14(1–2):1–210, 2021.
  * [66] Xiaoxiao Li, Meirui Jiang, Xiaofei Zhang, Michael Kamp, and Qi Dou.  Fedbn: Federated learning on non-iid features via local batch normalization.  arXiv preprint arXiv:2102.07623, 2021.
  * [67] Manoj Ghuhan Arivazhagan, Vinay Aggarwal, Aaditya Kumar Singh, and Sunav Choudhary.  Federated learning with personalization layers.  arXiv preprint arXiv:1912.00818, 2019.
  * [68] Aviv Shamsian, Aviv Navon, Ethan Fetaya, and Gal Chechik.  Personalized federated learning using hypernetworks.  In International Conference on Machine Learning, pages 9489–9502. PMLR, 2021.
  * [69] David Ha, Andrew Dai, and Quoc V Le.  Hypernetworks.  arXiv preprint arXiv:1609.09106, 2016.
  * [70] Jie Ding, Eric Tramel, Anit Kumar Sahu, Shuang Wu, Salman Avestimehr, and Tao Zhang.  Federated learning challenges and opportunities: An outlook.  In ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 8752–8756. IEEE, 2022.
  * [71] Charikleia Chatzaki, Matthew Pediaditis, George Vavoulas, and Manolis Tsiknakis.  Human daily activity and fall recognition using a smartphone’s acceleration sensor.  In Carsten Röcker, John O’Donoghue, Martina Ziefle, Markus Helfert, and William Molloy, editors, Information and Communication Technologies for Ageing Well and e-Health, pages 100–118, Cham, 2017. Springer International Publishing.
  * [72] Gary M Weiss, Kenichi Yoneda, and Thaier Hayajneh.  Smartphone and smartwatch-based biometrics using activities of daily living.  IEEE Access, 7:133190–133202, 2019.
  * [73] Davide Anguita, Alessandro Ghio, Luca Oneto, Xavier Parra Perez, and Jorge Luis Reyes Ortiz.  A public domain dataset for human activity recognition using smartphones.  In Proceedings of the 21th international European symposium on artificial neural networks, computational intelligence and machine learning, pages 437–442, 2013.
  * [74] Allan Stisen, Henrik Blunck, Sourav Bhattacharya, Thor Siiger Prentow, Mikkel Baun Kjærgaard, Anind Dey, Tobias Sonne, and Mads Møller Jensen.  Smart devices are different: Assessing and mitigatingmobile sensing heterogeneities for activity recognition.  In Proceedings of the 13th ACM conference on embedded networked sensor systems, pages 127–140, 2015.
  * [75] Attila Reiss and Didier Stricker.  Introducing a new benchmarked dataset for activity monitoring.  In 2012 16th international symposium on wearable computers, pages 108–109. IEEE, 2012.
  * [76] Attila Reiss and Didier Stricker.  Creating and benchmarking a new dataset for physical activity monitoring.  In Proceedings of the 5th International Conference on PErvasive Technologies Related to Assistive Environments, pages 1–8, 2012.
  * [77] Philip Schmidt, Attila Reiss, Robert Duerichen, Claus Marberger, and Kristof Van Laerhoven.  Introducing wesad, a multimodal dataset for wearable stress and affect detection.  In Proceedings of the 20th ACM international conference on multimodal interaction, pages 400–408, 2018.
  * [78] Ary L Goldberger, Luis AN Amaral, Leon Glass, Jeffrey M Hausdorff, Plamen Ch Ivanov, Roger G Mark, Joseph E Mietus, George B Moody, Chung-Kang Peng, and H Eugene Stanley.  Physiobank, physiotoolkit, and physionet: components of a new research resource for complex physiologic signals.  circulation, 101(23):e215–e220, 2000.
  * [79] Mst Alema Khatun, Mohammad Abu Yousuf, Sabbir Ahmed, Md Zia Uddin, Salem A Alyami, Samer Al-Ashhab, Hanan F Akhdar, Asaduzzaman Khan, Akm Azad, and Mohammad Ali Moni.  Deep cnn-lstm with self-attention model for human activity recognition using wearable sensor.  IEEE Journal of Translational Engineering in Health and Medicine, 10:1–16, 2022.
  * [80] Siddharth Divi, Yi-Shan Lin, Habiba Farrukh, and Z Berkay Celik.  New metrics to evaluate the performance and fairness of personalized federated learning.  arXiv preprint arXiv:2107.13173, 2021.
  * [81] WANG Luping, WANG Wei, and LI Bo.  Cmfl: Mitigating communication overhead for federated learning.  In 2019 IEEE 39th international conference on distributed computing systems (ICDCS), pages 954–964. IEEE, 2019.