## 2 Related Work
### Recommendation Algorithms
#### 2.3.4 Recommendation Algorithm Based on GCN  
On the basis of GNNs, the convolution operation was extended to graphs, resulting in GCN. [PERSON] et al. designed a graph convolutional model based on spectral theory, which is the origin of the GCN method. In addition to GCN, there are many algorithms for node embedding learning on graphs, such as matrix factorization or random walks (e.g., Deepwalk, LINE, Node2 vec). However, GCN-based algorithms often outperform other algorithms in actual results, which has sparked interest in in-depth research on GCNs. Research on recommendation models based on GCNs is also becoming increasingly widespread and in-depth [25].  
In the past, graph learning was generally based on transductive learning, which directly learned the embedding of each node on a fixed graph, and each only considered the current data. This form of graph learning requires all nodes to be determined from the beginning, and once the nodes or structure of the graph have changed, it is necessary to relearn the entire graph again, through, for example, Neural Graph Collaborative Filtering (NGCF) [26] or a Light Graph Convolution Network (LightGCN) [27]. [PERSON] et al. designed Graph SAmple and aggreGatE (GraphSAGE) [28], which changed this situation. GraphSAGE aggregates the features of neighboring nodes after sampling, and it has good generalization ability. It can directly provide representation learning for newly added nodes based on their neighbor aggregation, without the need to iterate the entire network. GraphSAGE is divided into three parts: node sampling, aggregation of node neighbors, and learning from the aggregated information. GCNs and GraphSAGE treat neighboring nodes equally. When aggregating, they usually sum the features of all neighboring nodes (i.e., the output of the previous layer of the network) without considering the importance of information from different neighboring nodes to the current target node. Therefore, incorporating attention mechanisms into GCN-like algorithms is a natural idea. Graph Attention Networks (GAT) [29] propose to incorporate attention mechanisms into the neighbor information aggregation stage to achieve weighted aggregation of neighbor information based on its importance. Therefore, it can be regarded as an improved algorithm of GraphSAGE, and performs better than GraphSAGE in multiple tasks such as semi-supervised node classification and link prediction. In addition to using attention mechanisms, there are also many algorithms based on GCNs and their structures; alternatively, methods have been improved. For example, ImprovedSAGEGraph [30] is an improved algorithm based on GraphSAGE. This algorithm uses two layers of convolution to aggregate features, with the first layer having an activation function of Tanh and the second layer having an activation function of RELU6. The paper which proposed this algorithm simultaneously proposes a hybrid two-step with a clustering-based recommendation model. Due to the fact that traditional GCN methods require operation on the entire graph during the training process, the size of graph has a significant constraint on the efficiency of a traditional GCN. In order to use the GCN method in recommendation systems involving billions of nodes/items, the PinSAGE algorithm was designed. PinSAGE is a highly successful improved algorithm of a GCN, which has been successfully applied in the industrial field. The PinSAGE algorithm is closely related to the GraphSAGE algorithm, and the two have significant similarities. The difference lies in the fact that the PinSAGE algorithm uses importance sampling instead of uniform sampling, and the aggregation stage takes into account the weight of edges. The upper layer features are aggregated after passing through a fully connected layer instead of being directly aggregated.