A graph anonymization method for weighted social network privacy protection
By combining member fuzzy clustering and simulated annealing, optimal clustering of social networks is performed, constructing a 1-degree anonymity graph and generalizing edge weights. This solves the problems of privacy protection and data distortion in weighted social networks, achieving effective privacy protection and data availability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- LIAONING UNIVERSITY OF TECHNOLOGY
- Filing Date
- 2022-04-19
- Publication Date
- 2026-06-30
AI Technical Summary
Existing technologies struggle to effectively protect user privacy during social network data dissemination, especially in weighted social networks, where traditional methods result in severe data distortion and are unable to effectively defend against background knowledge attacks.
We employ a combination of member fuzzy clustering and simulated annealing to perform optimal clustering of nodes, construct a 1-degree anonymous graph, and defend against background knowledge attacks by generalizing edge weights, thereby reducing the amount of edge changes during graph reconstruction.
This approach achieves performance advantages in protecting user privacy while reducing the amount of edge changes during graph reconstruction, thus improving data availability and privacy protection.
Smart Images

Figure CN114692205B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of privacy protection technology, and more specifically, to a graph anonymization method for protecting the privacy of weighted social networks. Background Technology
[0002] With the continuous development of online social networks, users are increasingly connected, generating massive amounts of social network data, such as phone calls, WeChat chats, Weibo hashtags, and emails. These datasets contain a wealth of important privacy information, including user relationship data, attribute data, and edge weight data. While analyzing this data can improve user service quality, it can also be exploited by attackers, compromising user privacy and security. Typically, social network data needs to be anonymized before publication and analysis. The most common method is to remove node attribute identifiers while retaining other information to prevent direct identification of user privacy. However, attackers can still use background knowledge, such as the number of a user's friends and interests, to perform structure recognition and link attacks. To balance the usability and privacy of the data, facilitating companies' use of social network data for profit while protecting user privacy, a suitable social network privacy protection method is crucial.
[0003] Currently, there are many types of social networks. To adapt to the diversity of different types of social networks to be protected and the types of attacks, researchers have proposed a variety of solutions. Liu et al. were the first to introduce [a new approach / method]. The concept of a degree-anonymous graph means that for each node, there are at least... Each node has the same degree as this node, which can effectively resist identity leakage caused by the degree of the node; Zou et al. proposed a method that uses all the structural information around a node as quasi-identifier information. The self-similar model ensures that published data is not vulnerable to attacks from any subgraph; Mortazavi et al. added enough edges to the graph to satisfy ( The graph anonymization requires privacy requirements, and then additional edges are removed while maintaining privacy requirements, making the model efficient and feasible. Zhang Yuxuan et al. used a graph reconstruction method to limit the node degree within a threshold and used a differential privacy histogram publishing mechanism to publish the data. However, this method overemphasizes privacy protection and deletes a large number of edges when reconstructing the graph, resulting in serious distortion of the published data.
[0004] In recent years, differential privacy has been gradually applied to the privacy protection of social network data. Wang et al. proposed a probabilistic generative model, privateSBM, to synthesize and publish weighted social networks. However, privateSBM is based on variational Bayesian expectation and maximization, and differential privacy can only be achieved when the EM algorithm reaches the global optimum, which makes the model impractical in the real world.
[0005] Although many articles have applied clustering anonymization methods to process social network data, none of them have regarded clustering anonymization as the optimal goal. When using anonymized graphs generated by traditional clustering methods, a large number of edges and nodes need to be added or removed, resulting in serious data distortion. At the same time, most existing methods do not pay attention to the privacy protection of weighted networks. Summary of the Invention
[0006] The purpose of this invention is to design and develop a graph anonymization method for weighted social network privacy protection, through... By combining member fuzzy clustering and simulated annealing, optimal clustering of nodes is achieved. While achieving anonymity, it effectively reduces the amount of edge changes during graph reconstruction. Furthermore, by utilizing edge weight generalization, it ensures that at least [number missing] edges exist within the same cluster. Each node effectively defends against background knowledge attacks.
[0007] The technical solution provided by this invention is as follows:
[0008] A graph anonymization method for weighted social network privacy protection includes the following steps:
[0009] Step 1: Process the graph data conduct The optimal partition sequence is obtained by member fuzzy clustering and simulated annealing;
[0010] in, It is an undirected weighted graph. For a set of nodes, Let be the set of edges. Let be the set of edge weights. Let be the number of nodes, and It is an integer;
[0011] Step 2: Construct the optimal degree partition sequence. - Anonymous image;
[0012] Step 3, regarding the above - Obtain weighted edge generalization of anonymous graph. Anonymous image;
[0013] in, The number of nodes with the same edge weight, and It is an integer.
[0014] Preferably, the Membership-based fuzzy clustering includes:
[0015] The set of data points for graph data After dividing, obtain A set of fuzzy clusters is obtained, and the clusters are minimized to achieve the objective function value. .
[0016] Preferably, the objective function value satisfies:
[0017] ;
[0018] In the formula, The objective function value, For fuzzy parameters, and , For set With the Membership degree of each cluster center , The numerical value representing the degree of a node is compared to the degree value of the cluster center. The absolute value of the error, The degree of the nodes in the graph data.
[0019] Preferably, the membership matrix satisfies:
[0020] ;
[0021] In the formula, This is the membership matrix of the data points. , , .
[0022] Preferably, the simulated annealing includes:
[0023] cluster As the initial solution for simulated annealing, a neighborhood solution is randomly generated during the iteration process. The objective function value is used for evaluation. A neighborhood solution that is better than the original solution is accepted with a probability of 1, and a worse solution is accepted with a probability of acceptance. The new solution is used to replace the optimal solution until the given number of iterations is met, and the optimal solution is output to perform the optimality partitioning sequence.
[0024] Preferably, the acceptance probability satisfies:
[0025] ;
[0026] In the formula, To accept probability, The objective function value of the optimal solution. The objective function value of the new solution. These are the iteration parameters.
[0027] Preferably, the iteration parameters satisfy:
[0028] ;
[0029] initial temperature Cooling coefficient Maximum number of iterations Number of iterations at the same temperature .
[0030] Preferably, the The methods for removing edges from --degree anonymous graphs include:
[0031] If node Edges need to be deleted, including their neighboring nodes. To add an edge, select one that is not connected to the node. Connected neighboring nodes Delete edge Add edge ,node The degree decreases by 1, and the node The degree of one node increases by 1, but the degrees of other nodes remain unchanged;
[0032] If node Edges need to be deleted, including their neighboring nodes. If you need to delete edges, then simply delete the edges. ;
[0033] If node Edges need to be deleted, including their neighboring nodes. If no changes are needed, then find the node. neighboring nodes ,and An edge needs to be added if an edge already exists. Then delete the edge. .
[0034] Preferably, the - Ways to add edges to an anonymous graph include:
[0035] If node An edge needs to be added, its neighboring nodes If no changes are needed, then find the node. neighboring nodes ,and An edge needs to be added if no edge exists. Then add edges ;
[0036] If node An edge needs to be added, its neighboring nodes If you need to delete an edge, find the node. neighboring nodes ,and No changes are needed if no edge exists. Then add edges Delete edge ;
[0037] If node An edge needs to be added, its neighboring nodes If you need to add edges, simply add the edges. .
[0038] Preferably, step three specifically includes:
[0039] For each cluster The weight matrix of the nodes in the cluster is obtained, the weight sequence of each node is sorted in descending order, and the cluster is divided into groups based on the mutual information between the degree sequences. There are groups, such that each group has at least [number of groups]. Each member is compared, and if... Then the user and The weighting ratio between users and Nodes with larger weights will have their edge weights adjusted. and Projecting all values into a single region generalizes to:
[0040] ;
[0041] In the formula, This is the proportionality coefficient.
[0042] The beneficial effects of this invention are as follows:
[0043] This invention designs and develops a graph anonymization method for weighted social network privacy protection, combining... Membership-based fuzzy clustering and simulated annealing are used to achieve optimal clustering of nodes using an improved clustering algorithm. While achieving anonymity, it effectively reduces the amount of edge changes during graph reconstruction; to prevent background knowledge attacks, the edge weights of nodes in the same cluster are generalized to ensure that the nodes in the cluster satisfy... In addition to achieving privacy protection, diversity also offers significant performance advantages in the anonymization and publishing of graph clusters. Attached Figure Description
[0044] Figure 1 This is the original diagram described in this invention.
[0045] Figure 2 The weightless method described in this invention - Anonymous image.
[0046] Figure 3 This refers to the 2-degree-2-diversity anonymous graph that achieves privacy protection as described in this invention.
[0047] Figure 4 This is a schematic diagram illustrating the process of generating a new solution using the simulated annealing algorithm described in this invention.
[0048] Figure 5 This is a schematic diagram illustrating the real relationships between users as described in this invention.
[0049] Figure 6 This is a schematic diagram illustrating the user relationships after adding false edges as described in this invention.
[0050] Figure 7 Users in the same cluster as described in this invention A schematic diagram of the node degree.
[0051] Figure 8 Users in the same cluster as described in this invention A schematic diagram of the node degree.
[0052] Figure 9 For the user described in this invention A schematic diagram of the generalization process for edges with large weight differences.
[0053] Figure 10 For the user described in this invention A schematic diagram of the generalization process for edges with large weight differences.
[0054] Figure 11 This is a schematic diagram of the first type of edge deletion according to the present invention.
[0055] Figure 12 This is a schematic diagram of the second type of edge deletion according to the present invention.
[0056] Figure 13 This is a schematic diagram illustrating the third type of edge deletion described in this invention.
[0057] Figure 14 This is a schematic diagram of the first type of edge-addition case of the present invention.
[0058] Figure 15 This is a schematic diagram of the second type of edge-addition case according to the present invention.
[0059] Figure 16 This is a schematic diagram of the third type of edge-addition case described in this invention.
[0060] Figure 17 The degree variation of the four methods described in this invention on the fiend dataset. Follow A diagram illustrating the pattern of change.
[0061] Figure 18 The degree variation of the four methods described in this invention on the p-hat1500-3 dataset. Follow A diagram illustrating the pattern of change.
[0062] Figure 19 The degree variation of the four methods described in this invention on the soc-wiki-elec dataset. Follow A diagram illustrating the pattern of change.
[0063] Figure 20 The present invention describes four methods for normalizing mutual information (NMI) on the Fiend dataset under different conditions. A diagram illustrating the change in value.
[0064] Figure 21 This invention describes four methods for normalized mutual information (NMI) on the p-hat1500-3 dataset under different... A diagram illustrating the change in value.
[0065] Figure 22 This invention describes four methods for normalized mutual information (NMI) on the soc-wiki-elec dataset under different... A diagram illustrating the change in value.
[0066] Figure 23 The four clustering methods described in this invention have different clustering errors on the Fiend dataset. A diagram illustrating the change in value.
[0067] Figure 24 The four clustering methods described in this invention have different clustering errors on the p-hat1500-3 dataset. A diagram illustrating the change in value.
[0068] Figure 25 The four clustering methods described in this invention have different clustering errors on the soc-wiki-elec dataset. A diagram illustrating the change in value.
[0069] Figure 26 The edge retention rate of the four methods described in this invention after graph reconstruction on the p-hat1500-3 dataset varies. A diagram illustrating the trend of value changes.
[0070] Figure 27 The efficiency of graph information after edge assignment in the four methods described in this invention varies. A diagram illustrating the trend of value changes. Detailed Implementation
[0071] The present invention will now be described in further detail so that those skilled in the art can implement it based on the description.
[0072] This invention provides a graph anonymization method for protecting the privacy of weighted social networks. First, it uses Algorithm 1 to obtain the optimal degree partitioning sequence. Then, it uses Algorithm 2 to construct a graph anonymization method by adding and deleting edges from the obtained degree sequence. - Degree of anonymity graph, finally implemented by generalizing some edges using Algorithm 3. Anonymous images, such as Figure 1 The image shown is the original image. Figure 2 As shown, this is without considering weights. - Degree of anonymity, such as Figure 3 As shown, this is an anonymized graph with 2 degrees of diversity to achieve privacy protection.
[0073] Specifically, the steps include the following:
[0074] Step 1, based on Optimal degree sequence partitioning using K-members Fuzzy C-means (KFCM) and Simulated Annealing (SA) algorithms:
[0075] Graph models of social networks can be represented using various methods, such as simple graphs, directed graphs, and weighted graphs, each corresponding to a specific type of social network. Node attributes are equivalent to identifier attributes, directly identifying users and allowing for direct anonymity when publishing data. In weighted graphs, edge weights are sensitive user attributes with significant research value, but they are also frequently vulnerable to background knowledge attacks, making them a key area for privacy protection.
[0076] Undirected weighted graphs are used in this invention. In a social network model, edge connections represent the existence of relationships between users, and edge weights represent the closeness of those relationships. This can be achieved using... express.
[0077] In the weighted graph middle, For a set of nodes, Let be the set of edges. Let be the set of edge weights. For undirected weighted graphs The number of nodes, For undirected weighted graphs The number of sides, Represented as Specifically, it represents real-world user entities, and each edge Represents a pair of users Relationships between people, such as friends, colleagues, and relatives, on each side Each has a weight This represents the level of intimacy between the users, such as the number of emails exchanged or the frequency of chats.
[0078] Image data Degree of the middle node This is very important information. Graph data can be stored using an adjacency matrix. In the matrix, 0 elements represent no connection, and non-zero elements represent direct connections between two nodes. Counting the number of non-zero elements in each row yields the degree of each node. In some cases, a node can be uniquely identified based on its degree. To protect data privacy, this invention utilizes... Anonymity guarantees at least All nodes have the same degree.
[0079] This invention uses the fuzzy c-means clustering algorithm (FCM) to calculate the degree of membership of each node to the cluster center, where the degree of the node is represented by data points.
[0080] right The set of node degrees After dividing, we get A set of fuzzy clusters is obtained, and the objective function is minimized. The formula for calculating the objective function is:
[0081] ;
[0082] In the formula, The objective function value, For fuzzy parameters, and , For set With the Membership degree of each cluster center , The numerical value representing the degree of a node is compared to the degree value of the cluster center. The absolute value of the error, The degree of the nodes in the graph data.
[0083] This degree of membership is represented by a numerical value, the membership matrix. The iterative formula is:
[0084] ;
[0085] In the formula, This is the membership matrix of the data points. , , .
[0086] Each cluster is generated by fuzzy clustering. middle, , Membership fuzzy clustering requires that for all , That is, in each cluster, there are at least 10 data points, which provides Anonymous graphs provide the theoretical basis.
[0087] The algorithm of this invention first uses FCM to obtain the final clustering result. For clusters with fewer than 100 nodes The process of merging or adding elements to clusters requires determining the number of nodes in the corresponding cluster. This involves comparing the initial number of nodes with the number of elements after applying the FCM method. If there are few nodes, adding elements can easily disrupt the balance of other clusters; if there are many nodes, merging two clusters can produce significant errors, ultimately resulting in a new cluster. And each cluster has at least one Each element.
[0088] Will As the initial solution for the SA (Self-Assessment), the initial solution is then assigned to the optimal solution. After setting parameters according to requirements, iteration is performed. In each iteration, a neighborhood solution is generated according to the defined method. This solution is evaluated using an objective function. A better neighborhood solution than the original solution is accepted with a probability of 1, while a worse solution is accepted with a certain probability. The new solution is then used to replace the optimal solution. The acceptance probability is typically calculated using the Metropolis criterion.
[0089] ;
[0090] In the formula, For the probability of receiving, The objective function value of the optimal solution. The objective function value of the new solution. These are iteration parameters;
[0091] Wherein, the iteration parameters satisfy:
[0092] ;
[0093] In the formula, It is related to the number of iterations (temperature). The relevant parameters decrease as the number of iterations increases, including the initial temperature. Cooling coefficient Maximum number of iterations Number of iterations at the same temperature .
[0094] Select a new optimal solution and save it. Iterate continuously until the condition is met and output the optimal solution as the optimal partition.
[0095] New ways of generating Figure 4 ,at this time The specific steps are shown in Algorithm 1:
[0096] Algorithm 1: Optimal Degree Sequence Partitioning Algorithm Based on KFCSA
[0097] Input: Original image degree sequence Anonymous parameters The maximum number of perturbations, maxG, represents the number of temperature iterations.
[0098] Output: Optimal degree sequence partition
[0099] / / Use fuzzy clustering function to obtain the membership matrix of the sequence
[0100] Step 1. U Fcm(D)
[0101] Step 2. maxU max(U) / / Maximum membership degree of each element
[0102] Step3. for i=1 to length(U[1:]):
[0103] Step 4. find(U[1:]==maxU)
[0104] Step 5. For x=1 to length(c):
[0105] Step 6. while length(c{x} <k)
[0106] And length((c{x}>0))
[0107] Step 7. if length ((c{x}) <round(k / 2))
[0108] / / Find the cluster m that is close to c{x}
[0109] Step 8. m c{i+1} or c{i-1}
[0110] Step 9. m [c{x},m] / / Merge clusters
[0111] Step 10. c{x} [] / / Current cluster is empty
[0112] Step 11. If length(c{x})>=round(k / 2) and
[0113] length(m)>=2 k-length(m)
[0114] Step12. for j=1 :k-length(c{i}):
[0115] Step 13. m c{i+1} or c{i-1}
[0116] Step 14. c{x} [m(end),c(x)] or
[0117] c{x}=[c{x},m(1)]
[0118] / / Use the median instead of the cluster value
[0119] Step 15.
[0120] Step 16. pre_way = / / Use the obtained clusters as a simulation
[0121] Initial solution for annealing
[0122] Step 17. For iter in maxG:
[0123] Step 18. For i=1 to Lk;
[0124] / / Generate sequences that meet clustering requirements
[0125] Step 19. new_way get_new_sequence(U,preway)
[0126] Step 20. pre-way best_way(new_way,pre_way)
[0127] Step 21. Output the optimal degree sequence partition. pre_way
[0128] Step 2: Construct the optimal degree sequence partition. -Anonymous image:
[0129] -Graph anonymity model by Anonymous models and The diverse models work together to protect the privacy of nodes and edge weights in the weighted graph. and It is an integer given by the user, such as Figure 3 It is a (2,2) degree anonymity model.
[0130] In the figure In, for node degree Clusters with degrees are obtained after clustering. In each cluster In the middle, if each node has at least one other node Each node has the same degree, that is The degree sequence satisfies -anonymous.
[0131] Vertex degree is a technique used by attackers to exploit background knowledge. If a user's degree differs from other users, it can easily reveal the user's existence and edge relationships. Figure 5 As shown, if an attacker knows that user x has three friends and user y has only one friend, they can directly identify users x and y. Figure 6 As shown, a false edge is added between user y and user z, representing that user y and user z are also friends. At this time, user x and z have 3 friends at the same time, and user y and user w have 2 friends at the same time. Therefore, the attacker cannot accurately identify the user's identity.
[0132] In weighted social networks, in addition to protecting edge relationships, it is also necessary to protect the privacy of edge weights. - Weighted graph with degree of anonymity In the middle, each cluster after degree clustering All nodes in the middle have the same degree, but even if the nodes and In the same cluster In the meantime, it may also be vulnerable to background knowledge attacks, such as... Figure 7 and Figure 8 As shown, the user and Each user has 4 friends (degrees), and they are in the same cluster. If an attacker knows that one of the users has a very close friend, they can easily deduce that this user is a node. .
[0133] Use edge weights of nodes in the same cluster The diversity model assigns weights to edges with larger differences between two nodes. To generalize, The edge weights of each node are indistinguishable, such as Figure 9 and Figure 10 As shown, for nodes and The edges with larger differences in corresponding edge values and Generalize using the weight values, and take = = This makes it difficult for attackers to determine the edge weights. and Accurately identifying the target node is crucial for preventing the re-identification of users.
[0134] Using diagrams degree clustering A new degree sequence is obtained After that, it is necessary to Modify the original graph by adding or deleting edges to create a reconstructed graph ready for publication or use. The degree sequence satisfies the new degree sequence The specific steps for constructing an anonymous graph are shown in Calculation 2:
[0135] Algorithm 2: Constructing an anonymous graph
[0136] Input: Original image Optimal degree clustering The decreasing degree sequence , Corresponding node marker .
[0137] Output: Anonymous image.
[0138] / / Get the difference in node degree before and after.
[0139] Step 1. value = - d
[0140] Step 2. For i in value:
[0141] Step 3. If value(i) < 0:
[0142] / / index1 is the neighbor node of m1 that needs to have its edge reduced.
[0143] Step 4. ①for m1 in index1:
[0144] Step 5. If V(i) and m1 have a common edge.
[0145] Step 6. remove_edge(V(i),m1)
[0146] / / index2 is the m2 neighbor node that needs to have its edge added.
[0147] Step 7. ②For m2 in index2:
[0148] Step 8. If V(i) and m2 have a common neighbor.
[0149] Step9. remove_edge(V(i), neighbor)
[0150] Step10. add_edge(neighbor,m2,0)
[0151] / / index3 is the m3 neighbor node that needs to have its edge added.
[0152] Step 11. ③For m3 in index3:
[0153] / / conindex3 is the n0 neighbor node whose edge needs to be deleted.
[0154] Step 12. For n0 in conindex:
[0155] Step 13. If V(i) and n0 do not share a common edge:
[0156] Step 14. add_edge(V(i),n0,0)
[0157] Step 15. If value(i) > 0:
[0158] Step 16. Return the successfully constructed anonymous graph.
[0159] To minimize changes to the original network's node topology attributes such as shortest path and node centrality, when modifying a node's degree by adding or deleting edges, we should utilize the node's neighboring nodes as much as possible.
[0160] In Algorithm 2, a new degree sequence after anonymity is first constructed based on the values before and after the degree change. Divided into three categories, The degree of the node for which an edge needs to be added. Given the degree of the node whose edge needs to be deleted, we need to process the nodes corresponding to these two degrees separately.
[0161] against There are three ways to delete edges, such as Figure 11-13 As shown, node Edges need to be deleted if their neighboring nodes We need to add an edge; in this case, we choose an edge that is not connected to the node. Connected neighboring nodes Delete edge Add edge ,node The degree decreases by 1, and the node If the degree of a node increases by 1, the degrees of other nodes remain unchanged; if the neighboring nodes... If you need to delete edges, then simply delete the edges. If neighboring nodes If no changes are needed, then find the node. Neighbor nodes ,and An edge needs to be added if an edge already exists. Then delete the edge. .
[0162] against There are also three ways to increase the number of edges, such as Figure 14-16 As shown, the specific steps will not be repeated. The above six methods for adding and deleting edges consider all possible scenarios. It is important to note that after each addition or deletion, the obtained edge data needs to be analyzed. Update the anonymous graph to avoid duplicate operations.
[0163] Step 3, regarding the above - Obtain weighted edge generalization of anonymous graph. Anonymous image:
[0164] In each cluster First, the weight matrix of the nodes in the cluster is obtained. The weight sequence of each node is sorted in descending order, and then divided into groups based on the mutual information between the degree sequences. There are groups, ensuring that each group has at least one... Each member is compared; if... , This is the proportionality coefficient; if Define user and The weighting ratio between users and Nodes with larger weights will have their edge weights adjusted. and Projecting all values into a single region generalizes to:
[0165] ;
[0166] In the subsequent generalization process, if the edge weights appear in the form of region values, that is... , Similarly, using the generalization method described above, we obtain... The specific implementation of edge weight generalization is shown in Algorithm 3:
[0167] Algorithm 3 Weighted Edge Generalization
[0168] Input: Anonymous graph Optimal degree clustering Anonymization
[0169] Parameter L, .
[0170] Output: Partial weight generalization Anonymous image.
[0171] Step 1. For iterm in :
[0172] Step 2. Construct the matrix all_matrix and store it in each cluster.
[0173] Weight of nodes in iterm
[0174] Step 3. Find the optimal match and... indivual
[0175] Nodes are divided into Group
[0176] Step 4. Iterate through each group using the `for xiterm in group: / / ` method.
[0177] Step 5. Rank the weights of each node in the group according to the smallest difference.
[0178] / / part_matrix is the weight matrix of a single group
[0179] Step6. for iterm in part_matrix
[0180] Step 7. If not the same in one term:
[0181] Step 8. yiterm [min(yiterm), max(yiterm)]
[0182] Example
[0183] The datasets used in this embodiment come from the network data warehouse http: / / networkrepository.com. soc-wiki-elec is a real dataset, while friend and p-hat1500-3 are synthetic datasets. These three datasets have significantly different structural characteristics, representing three types of social networks. Table 1 shows some graph attributes of these three datasets. For undirected weighted graphs The number of nodes, For undirected weighted graphs The number of sides, This represents the maximum degree of a node in the graph. This represents the minimum degree of a node in the graph. This represents the average degree of the nodes in the graph.
[0184] Table 1. Structural properties of the dataset
[0185]
[0186] The experimental environment consisted of an Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz, 8GB of RAM, and a Windows 2010 (64-bit) operating system. The program was implemented using MATLAB / Python and compiled with MATLAB 2016 and PyCharm 2017. Considering... The selection of initial points in the fuzzy clustering results of members is highly random, so we take the average of 10 clustering results.
[0187] (1) Verify the merits and demerits of clustering algorithms:
[0188] Change in degree:
[0189] The degree of change can be used to measure clustering error; the smaller the error, the better. The summation of the moderate changes yields the change in degree before and after anonymization. :
[0190] ;
[0191] In the formula, Original image The degree sequence of the nodes in the middle. For node degree Anonymous image after anonymization degree sequence, It is the first The sum of the changes in degree of all nodes in a cluster before and after anonymization, satisfying:
[0192] ;
[0193] In the formula, to achieve node degree anonymization, the degree of each node in the cluster is the median of the degrees of all nodes. A unified representation, satisfying:
[0194] .
[0195] Normalized mutual information :
[0196] It can be viewed as the degree of similarity between two random variables, and is often used as an indicator to measure the effectiveness of clustering. Its calculation formula is as follows:
[0197] ;
[0198] In the formula, It is data Information entropy, mutual information express and The joint probability distribution.
[0199] Clustering error :
[0200] It is the ratio of the average intra-cluster distance to the average inter-cluster distance, used to measure the magnitude of clustering error. The larger the value, the greater the clustering error.
[0201] For the picture degree sequence according to Clustering with de-anonymity yields the optimal clustering. , It is a node The cluster center, and They are clusters and Cluster centers For clusters Number of , The relation is:
[0202] .
[0203] like Figure 17-19 As shown, the degree variation is presented for three datasets: fiend, p-hat1500-3, and soc-wiki-elec. Follow The pattern of change. As can be seen from the graph, with... As the value increases, the degree change of each data point gradually increases. This is because... Increasing the value leads to an increase in the number of nodes in the cluster, requiring more nodes to be anonymized within a cluster, thus increasing the anonymization cost. Figure 18 and Figure 19 The number of edges in the dataset used They are in the same order of magnitude, but Figure 19 middle (Greedy) and The dynamic programming error is significantly larger because the dataset soc-wiki-elec has a low density and the node degree values are relatively scattered. The cluster center point selected by the algorithm is the average degree of the cluster nodes. The more scattered points there are in the cluster, the greater the information loss.
[0204] like Figure 20-22 As shown, the Normalized Mutual Information (NMI) is presented under different... The change in value, as As the value increases, the change in the degree sequence increases, the error increases, and the NMI decreases, such as... Figure 21 As shown, the NMI values obtained by the four methods are very close. This is because although the degree variation is large, the average degree of the dataset p-hat1500-3 is relatively small. It is also very large, but the total change in degree accounts for a very small percentage and has little impact on NMI.
[0205] like Figure 23-25 As shown, clustering error varies across different regions. Under the given value, the changes in clustering error of the four methods on three datasets can be observed. It can be seen that the curves corresponding to the four methods all change with... The value increases, but the upward trend of KFCM and KFCMSA methods is more gradual, and the two curves almost overlap. Since these two algorithms are of the same type, the difference in the results is very small. The error curves generated by Greedy and dynamic programming methods increase linearly, and the division of degree sequences is not ideal. Figure 23-25 The changing trend of the middle curve and Figure 17-19 The basic principles are the same, indicating that the change in degree is the main factor affecting clustering error.
[0206] (2) Assess the information availability of the published data:
[0207] Edge retention rate :
[0208] This is the original image. The set of edges in the image consists of real edges. This is the anonymized reconstruction graph to be released. The edge set consists of real edges and false edges. In the edge set of the reconstructed graph, real edges account for a certain percentage of the mixed edges. The ratio is the edge retention rate. That is:
[0209] .
[0210] efficiency of edge weights :
[0211] Efficiency of edge weights in anonymous graphs The following formula is used to derive:
[0212] ;
[0213] ;
[0214] In the formula, The efficiency is the result of generalizing the weights of a single edge. These are the edge weights before weight generalization. Use intervals for the generalized edge weights. The deviation rate, .
[0215] graph efficiency :
[0216] The effectiveness of the graph The retention rate of real edges is composed of the retention rate of real edges and the effectiveness of edge weights in a certain proportion. The effectiveness of edge weights In this embodiment, Weight , Weight , The efficiency of the edge The calculation is as follows:
[0217] .
[0218] like Figure 26 As shown, the edge retention rates of four methods after graph reconstruction are compared. The trend of value change, experimental data is p-hat1500-3, when As the value increases, KFCMSA has the highest edge retention rate, and it continues to increase. The value decreases, but the downward trend is relatively gentle. Greedy and dynamic programming methods have poor retention rates after construction. This is mainly because KFCM and KFCMSA have the smallest degree change error and require fewer additions and deletions of edges, effectively improving edge efficiency. However, due to inherent limitations in their design, the new degree sequence values obtained by Greedy and dynamic programming are all larger than the original degree sequence. When constructing an anonymous graph, only edge addition operations can be performed. KFCM and KFCMSA can use edge addition and edge deletion to construct an anonymous graph at the same time, avoiding the addition of excessive edges.
[0219] positive integers To assign values to edges in the original graph and satisfy the long-tail theory, the probability of each value is:
[0220] ;
[0221] like Figure 10 , As can be seen, The value changes, and the numerical changes in the efficiency of the graph information change, as... As the value increases, the information efficiency of the graph continuously decreases, and this trend gradually intensifies. Compared to the other two methods, KFCM and KFCMSA maintain a consistently high information efficiency, but KFCMSA's information efficiency is higher and more stable. In contrast, Greedy and dynamic programming partitioning methods modify a larger number of edges, resulting in a higher number of generalized edges and consequently lower graph information availability. Therefore, KFCMSA is the most suitable method for constructing anonymous graphs.
[0222] The KFCMSA degree sequence partitioning algorithm outperforms the KFCM algorithm, and even surpasses Greedy and dynamic programming algorithms, across different datasets using various metrics. This advantage is particularly pronounced on datasets with a large number of nodes and low graph density. Furthermore, the information efficiency of the graph constructed using the KFCMSA algorithm increases significantly when constructing anonymous graphs. The value transformation is always higher than the other three algorithms. Therefore, the KFCMSA method proposed in this invention not only achieves the purpose of privacy protection in the clustering and anonymization of graph publishing, but also has a significant performance advantage.
[0223] This invention designs and develops a graph anonymization method for weighted social network privacy protection, combining... Membership-based fuzzy clustering and simulated annealing are used to achieve optimal clustering of nodes using an improved clustering algorithm. While achieving anonymity, it effectively reduces the amount of edge changes during graph reconstruction. To prevent background knowledge attacks, the edge weights of nodes within the same cluster are generalized to ensure that the nodes in the cluster satisfy... Diversity.
[0224] Although embodiments of the present invention have been disclosed above, they are not limited to the applications listed in the specification and embodiments. They can be applied to various fields suitable for the present invention. For those skilled in the art, other modifications can be easily made. Therefore, without departing from the general concept defined by the claims and their equivalents, the present invention is not limited to the specific details and embodiments shown and described herein.
Claims
1. A graph anonymization method for weighted social network privacy protection, characterized in that, Includes the following steps: Step 1: Process the graph data conduct The optimal partition sequence is obtained by member fuzzy clustering and simulated annealing; in, It is an undirected weighted graph. For a set of nodes, Let be the set of edges. Let be the set of edge weights. Let be the number of nodes, and It is an integer; The Membership-based fuzzy clustering includes: Set of data points for graph data After dividing, obtain A set of fuzzy clusters is obtained, and the clusters are minimized to achieve the objective function value. ; The objective function value satisfies: ; In the formula, The objective function value, For fuzzy parameters, and , For set With the Membership degree of each cluster center , The numerical value representing the degree of a node is compared to the degree value of the cluster center. The absolute value of the error, The degree of nodes in the graph data; The membership matrix satisfies: ; In the formula, This is the membership matrix of the data points. , , ; The simulated annealing includes: cluster As the initial solution for simulated annealing, a neighborhood solution is randomly generated during the iteration process. The objective function value is used for evaluation. A neighborhood solution that is better than the original solution is accepted with a probability of 1, and a solution that is worse is accepted with a probability of acceptance. The new solution is used to replace the optimal solution until the number of iterations is satisfied and the optimal solution is output to perform the optimality partitioning sequence. Step 2: Construct the optimal degree partition sequence. - Anonymous image; Using diagrams degree clustering A new degree sequence is obtained After that, it is necessary to Modify the original graph by adding or deleting edges to create a reconstructed graph ready for publication or use. The degree sequence satisfies the new degree sequence Based on the values before and after the degree change, a new degree sequence will be constructed after the anonymization graph is created. Divided into three categories, The degree of the node for which the edge needs to be added. Given the degree of the node whose edge needs to be deleted, we need to process the nodes corresponding to these two degrees separately. The The methods for removing edges from --degree anonymized graphs include: If node Edges need to be deleted, including their neighboring nodes. To add an edge, select one that is not connected to the node. Connected neighboring nodes Delete edge Add edge ,node The degree decreases by 1, and the node The degree of one node increases by 1, but the degrees of other nodes remain unchanged; If node Edges need to be deleted, including their neighboring nodes. If you need to delete edges, then simply delete the edges. ; If node Edges need to be deleted, including their neighboring nodes. If no changes are needed, then find the node. neighboring nodes ,and An edge needs to be added if an edge already exists. Then delete the edge. ; The - Ways to add edges to an anonymous graph include: If node An edge needs to be added, its neighboring nodes If no changes are needed, then find the node. neighboring nodes ,and An edge needs to be added if no edge exists. Then add edges ; If node An edge needs to be added, its neighboring nodes If you need to delete an edge, find the node. neighboring nodes ,and No changes are needed if no edge exists. Then add edges Delete edge ; If node An edge needs to be added, its neighboring nodes If you need to add edges, simply add the edges. ; Step 3, regarding the above - Obtaining weighted edge generalization of anonymous graphs Anonymous images, specifically including: For each cluster The weight matrix of the nodes in the cluster is obtained, the weight sequence of each node is sorted in descending order, and the cluster is divided according to the mutual information between the degree sequences. There are groups, such that each group has at least [number of groups]. For each member, compare them; if... Then the user and The weighting ratio between users and Nodes with larger weights will have their edge weights adjusted. and Projecting all values into a single region generalizes to: ; In the formula, This is the proportionality coefficient. The number of nodes in the cluster. The number of nodes with the same edge weight, and It is an integer.
2. The graph anonymization method for weighted social network privacy protection as described in claim 1, characterized in that, The acceptance probability satisfies: ; In the formula, To accept probability, The objective function value of the optimal solution. The objective function value of the new solution. These are the iteration parameters.
3. The graph anonymization method for weighted social network privacy protection as described in claim 2, characterized in that, The iteration parameters satisfy: ; initial temperature Cooling coefficient Maximum number of iterations Number of iterations at the same temperature .