
ERM (Empirical Risk Minimization) [1]}
The basic model training techniques without particular design for domain generalization. ERM shows a competitive performance in previous CV generalization tasks [2]}, [3]}. Multiple architectures with ERM are implemented: a) ERM-1D-CNN: one-dimensional CNN that treats the data as a time-series of length 28; b) ERM-2D-CNN: two-dimensional CNN that treats the data as an one-channel image; c) ERM-LSTM: another architecture to model time-series data; d) ERM-Transformer: a transformer-based architecture for modeling sequence data.

Mixup (ERM-Mixup) [4]}
A data augmentation technique that performs linear interpolation between two instances with a weight sampled from a Beta distribution.
1D-CNN is used as the architecture as it is robust to feature positions in the feature matrix. Same for the rest algorithms.

IRM (Invariant Risk Minimization) [5]}
A representation learning paradigm to estimate invariant correlations across multiple distributions and learn a data representation such that the optimal classifier can match all training distributions.

DANN (Domain-Adversarial Neural Network) [6]}
Another representation learning technique that adversarially trains the generator and discriminator. The discriminator is trained to distinguish different domains, while the generator is trained to fool the discriminator to learn domain-invariant feature representations. Two setups are tested, one treating each dataset as a domain (DANN-D (Dataset as Domain)), and one treating each person as a domain (DANN-P (Person as Domain)).

CSD (Common Specific Decomposition) [7]}
A feature disentanglement-based representation learning technique from the multi-component analysis perspective, which extracts the domain-shared and domain-specific features using separate network parameters. Similar to DANN, it can support CSD-D and CSD-P.

MLDG (Meta-Learning for Domain Generalization) [8]}
One of the first methods using meta-learning strategy for domain generalization. MLDG splits the data of the training domains into meta-train and meta-test to simulate the domain shift to learn general features. It supports MLDG-D, and MLDG-P.

MASF (Model-Agnostic Learning of Semantic Features) [9]}
A learning strategy that combines meta-learning and feature disentanglement. After simulating domain shift by domain split, MASF further regularizes the semantic structure of the feature space by introducing a global loss (to preserve relationships between classes) and a local loss (to promote domain-independent class clustering). It supports MASF-D, and MASF-P.

Siamese Network [10]}
A metric-learning based strategy to find a better pair-wise distance metric. It aims to decrease the distance between positive pairs and increase the distance between negative pairs.

Reorder [11]}
A recently proposed method to leverage the continuity of behavior trajectory [11]}.
It designed a pretext task which shuffles the temporal order of the feature matrix. Then a model is trained to reconstruct the original sequence, jointly optimized with the main classification task over different domains, as shown in Fig.REF . By capturing the continuity of daily behaviors, the model could learn to extract representations that are generalizable across individuals.
Overall, the model can be trained via the following objective function:
\(\operatornamewithlimits{argmin}_{\theta _f,\theta _c,\theta _r} \sum _{i=1}^{S} \left(\sum _{j=1}^{N_i} \mathcal {L}_c(h(x_j^i|\theta _f,\theta _c), y_j^i) + \sum _{j=1}^{\beta N_i} \alpha \mathcal {L}_r(h(z_j^i|\theta _f,\theta _r), p_j^i)\right)\) 
where both \(\mathcal {L}_c\)  and \(\mathcal {L}_r\)  are cross-entropy losses. \(S\)  is the total number of training domains, and \(N_i\)  is the size of a domain \(i\) . \(\alpha \)  is used to control the weight of the reordering task while \(\beta \)  is used to control the size of reordering data.
\(x\)  is the input matrix, \(y\)  is the classification label, \(z\)  is the feature matrix \(x\)  after the reordering, and \(p\)  is the permutation index (from 1 to 200 among the 200 pre-determined permutation set).
\(x_j^i, y_j^i, z_j^i, p_j^i\)  are specific instances in each domain \(i\)  with index \(j\) .
We picked the number of segmentation as \(n=10\)  \((\lceil 28/3 \rceil )\)  since \(28!\)  or \(14!\)  (\(28/2\) ) is too computationally expensive.

<FIGURE>