# Dynamic Group Recommendation Based on the Attention Mechanism
## 2 Related Work  
### Group Division  
In group recommendation, since most data sets might not include user group information, or users form groups by random combination, in the research work related to the recommendation system, people propose different user clustering methods according to the user information in the data set. In the work of this paper we attempted to have higher similarity of users together to constitute a group. According to different clustering characteristics, clustering methods can be roughly divided into: Partition-based methods [8; 9], hierarchy-based methods [10; 11], density-based methods [12; 13], grid-based methods [14] and model-based methods [15]. The k-means [16] algorithm is the most commonly used clustering algorithm based on partition. The basic idea is to divide the data into k partitions and then iterative optimize each partition, and divide the samples according to the distance to the cluster represented by the nearest cluster center, and the cluster center is iterative updated. CBoost (cluster-based boosting algorithm) [17], which is an application of the k-means algorithm and uses the k-means algorithm to customize the initial weight value of each data point to deal with the clustering imbalance problem. This algorithm has the advantages of simple and efficient understanding, but the cluster center needs to be selected in advance and only spherical clusters can be found. The validity of the clustering results subject to the selection of the initial cluster center and cluster number. CURE (clustering using representatives) [18] algorithm is a representative clustering method based on hierarchical decomposition. It does not need to use a single center or object to represent a cluster, but selects a fixed number of representative points in the data space to jointly represent the corresponding cluster, to realize a cluster of arbitrary shape. However, the CURE algorithm has a great impact on the quality of data collection. Hierarchical agglomerative clustering (HAC) [19] is a bottom-up clustering algorithm. In the HAC algorithm, each data point is considered as a single cluster, and then the distance between all clusters is calculated to merge the clusters, until all clusters are synthesized into one cluster It has the advantage of being insensitive to the selection of distance metrics, but its efficiency is low. DBSCAN (density based spatial clustering of applications with noise) [20] is a typical density clustering algorithm, which defines the core object as the data containing the minimum number of data objects MinPts within the neighborhood radius eps, and generates clusters by constantly expanding the data objects reachable with the core object. The DBSCAN algorithm can cluster dense data sets of any shape and is not sensitive to noise data. However, the algorithm has the problems of not being able to reflect the changing density of data sets well, being sensitive to input parameters and has large time cost. In response to the above problems, many researchers have proposed different solutions. In June 2014, [PERSON] et al. published in Science a new density-based clustering algorithm. The density peak clustering (DPC) [21], which can automatically determine the number and center of clusters. The algorithm can quickly find the density peak point (class cluster center) of an arbitrary shape data set. The author thinks that the cluster centers have the characteristics of high local density and larger relative distance with other points with higher density. The DPC algorithm calculates the local density and relative distance of the point, and draws the decision graph (the image with the local density as the X axis and the relative distance as the Y axis). According to the decision graph, the clustering center is manually selected, and then the non-clustering center is merged to achieve the goal of clustering. The DPC algorithm is simple in principle, high in efficiency and suitable for the clustering analysis of large-scale data.