## 4 Methodology
### Representation Model Construction  
The high-order feature aggregations and transfer principle of graph convolutional neural network are as follows. The information aggregation process of two-layer GCN is shown in Figure 2(b). Specifically, we take the user node \(u_{2}\) in the Figure 2(a) as an example. First, it finds the locations \(l_{1}\), \(l_{3}\), and \(l_{4}\) that user \(u_{2}\) has directly interacted with. Then, according to the graph structure, it finds the users who have interacted with these locations, respectively, i.e., \(l_{1}\)-(\(u_{1},u_{2}\)), \(l_{3}\)-(\(u_{2},u_{3}\)), \(l_{4}\)-(\(u_{2},u_{3}\)). Starting from the 0 th layer, the users' node characteristics are transferred to location nodes in the 1 st layer with theirs characteristics aggregated, which helps to generate high-order features of the locations. After that, new location features are transferred to the user node \(u_{2}\) in the 2 nd layer and aggregated with the user's own feature \(\mathbf{x}_{u_{2}}\), generating new feature of user \(u_{2}\). In this way, the key information associated with the target user is gathered layer-by-layer, capturing the user's implicit interests as well as the location characteristics. In our proposed model, we construct the graph \(G=(\mathcal{V},\mathcal{E},\mathbf{X})\) as mentioned above, where \(\mathcal{V}\) is the set of nodes in the graph, including user nodes and location nodes. \(\mathcal{E}\) is the set of graph edges. \(\mathbf{X}\) is the node's attribute matrix. Each row of \(\mathcal{X}\) represents the latent attributes of a node. The attribute matrix of users is \(\mathbf{X}_{u}\) and the attribute matrix of locations is \(\mathbf{X}_{l}\), then the nodes' attribute matrix \(\mathbf{X}\) of the graph \(G\) can be written as:  
\[\mathbf{X}= \begin{bmatrix}\mathbf{X}_{u}\\ \mathbf{X}_{l}\end{bmatrix} . \tag{7}\]  
Suppose the interaction matrix between users and locations is \(\mathbf{F}\in\mathbf{R}^{N_{l}\times N_{L}}\), where \(F_{ul}\) stands for the user \(u\)'s preferences for location \(l\), then the adjacency matrix \(\mathbf{A}\) of the graph \(G\) is  
\[\mathbf{A}= \begin{bmatrix}\mathbf{F}&\mathbf{0}\\ \mathbf{0}&\mathbf{F}^{T}\end{bmatrix} . \tag{8}\]  
Denote the layer number of attributed graph convolutional network as \(k\), then the principle of information aggregation for each node in the \(k\)th layer of our model is  
\[ \begin{split}&\mathbf{\theta}_{u}^{(k)}=f\bigg{(}\theta_{u}^{(k-1)},\Big{\{}\mathbf{\theta}_{v}^{(k-1)}\Big{\}}_{v\in\mathcal{N}(u)}\bigg{)}\\ &=\sigma\Bigg{(}\sum_{v\in\{\mathcal{N}(u)\cup u\}}\frac{1}{\sqrt{ d_{u}d_{v}}}\theta_{v}^{(k-1)}W^{k}\Bigg{)},\end{split}  \tag{9}\]  
where \(\mathbf{\theta}_{u}^{(k)}\) stands for the representation vector of node \(u\) in the \(k\)th layer. \(\mathcal{N}(u)\) is the set of neighbor nodes of user \(u\), \(d_{u}\), and \(d_{v}\) stand for the degree of node \(u\) and node \(v\), respectively. \(\sigma\) is activation function, and we use \(ReLU\) function here. \(W^{k}\) is the weight matrix of \(k\)th layer. The initial representation of each node \(\mathbf{\theta}_{v}^{(0)}\) is its attribute vector \(\mathbf{x}_{v}\). It can be seen from the (9) that high-order features of each node is obtained by the aggregation of attributes from its neighbors from the lower layer and itself. Suppose \(\Theta^{(k)}=\Big{(}\mathbf{\theta}_{1}^{(k)},\mathbf{\theta}_{2}^{(k)},\dots,\mathbf{ \theta}_{|\mathcal{V}|}^{(k)}\Big{)}\), then we rewrite the input of model as  
\[\mathbf{\Theta}^{(0)}=\mathbf{X}. \tag{10}\]  
Then (9) is rewritten as:  
\[\mathbf{\Theta}^{(k)}=\sigma\bigg{(}\mathbf{D}^{-\frac{1}{2}}\tilde{\mathbf{A}}\mathbf{D}^{- \frac{1}{2}}\mathbf{\Theta}^{(k-1)}\mathbf{W}^{(k)}\bigg{)}, \tag{11}\]where \(\hat{\mathbf{A}}=\mathbf{A}+\mathbf{I}\), \(\mathbf{I}\) is identity matrix. \(\hat{\mathbf{D}}\) is diagonal matrix, \(D_{ii}=\sum_{j}\hat{A}_{ij}\). In our research, the activation function will not be applied in \(k\)th layer [49].