A method and device for protecting patient medical privacy data
Through the fuzzy C-mean clustering and roulette selection mechanism optimized by African vultures, combined with equivalent class division and distribution difference measurement, the privacy leakage problem in the anonymity of multiple sensitive attribute data in the existing technology is solved, and efficient medical treatment is achieved Data protection.
Patent Information
- Application Number
- CN202111364031.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-17
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-11-17
AI Technical Summary
Existing medical data protection algorithms are difficult to effectively deal with multiple sensitive attribute data, resulting in privacy leakage problems in the actual anonymity process, especially when facing homogeneous attacks, similarity attacks and skewed attacks.
The fuzzy C-mean clustering method based on African vulture optimization was adopted, and the fitness value and distribution difference value were calculated by clustering patients' medical records, and the equivalent classification and merger was performed, combining the roulette selection mechanism and the simulation of African vulture predation behavior. Optimize cluster center selection and data generalization processing to realize multi-dimensional K anonymous data release.
It effectively avoids local optimal solutions, reduces information loss, improves privacy protection, and prevents privacy leakage caused by skewness and similarity attacks. It is suitable for medical information release of multiple sensitive attribute data.
Smart Images

Figure CN114091097B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of privacy data protection, and in particular to a method and device for protecting patient medical privacy data. Background Art
[0002] In recent years, China has continuously invested in the field of "Internet + Healthcare" and strengthened the construction of smart hospitals. Building a complete smart hospital has become an important issue in the current development of medical and health care. It is an unavoidable issue to realize a secure medical data sharing system and solve the problem of personal privacy data leakage in medical data sharing.
[0003] In the actual process of publishing medical data tables, a series of reasoning attacks will be carried out, such as homogeneity attacks, similarity attacks and skew attacks. Among them, homogeneity attacks refer to the fact that the medical sensitive data of patients in the same equivalence class are the same, and the attacker can directly determine the patient's medical sensitive information through the patient's personal information; similarity attacks refer to the fact that sensitive attribute values should be divided into different categories. Although the sensitive attribute values in the equivalence class are different, they all belong to the same sensitivity level; skew attacks refer to the fact that a certain sensitive attribute value in a certain equivalence class accounts for a large proportion, and the attacker can determine the person's medical sensitive data with a high probability.
[0004] At present, the mainstream protection algorithms against common reasoning attacks such as homogeneity attacks, similarity attacks and skew attacks focus on studying the privacy protection of only one sensitive attribute data in terms of protection methods. They do not consider the situation where a medical data table contains multiple sensitive attribute data in the actual anonymization process. It is difficult to directly apply it to the release of medical information with multiple sensitive attribute data, and there is a privacy leakage problem. Summary of the invention
[0005] 1. Technical issues to be resolved
[0006] In view of the deficiencies in the prior art, the present invention provides a method and system for protecting patient medical privacy data, which solves the problem raised in the above background technology that the current mainstream protection algorithms for common reasoning attacks such as homogeneity attacks, similarity attacks and skew attacks focus on studying the privacy protection of only one sensitive attribute data in terms of protection methods, and do not consider the situation where a medical data table has multiple sensitive attribute data in the actual anonymization process. It is difficult to directly apply it to the release of medical information with multiple sensitive attribute data, and there is a privacy leakage problem.
[0007] (II) Technical solution
[0008] To achieve the above objectives, the present invention is implemented through the following technical solutions: a method for protecting patient medical privacy data, the method comprising:
[0009] Step 1: After obtaining the original multidimensional medical data table, initialize the key parameters, set the current iteration number it = 1, the maximum iteration number Maxit, the number of classifications K, the fuzzy clustering weight index e, and the equivalence class number v = 1;
[0010] Step 2: Delete the identifier attribute data of all patients in the original multidimensional medical data table;
[0011] Step 3: Determine the size of the dimension based on the sensitive attribute data in the multidimensional medical data table, construct the search space, and repeat the following operations m times to obtain m solutions and complete the initialization of the m solutions;
[0012] Step 4: Calculate the fitness value of each solution, and select the solution with the largest fitness as the first best solution BV1(it), select the solution with the second largest fitness as the second best solution BV2(it), and select one from BV1(it) and BV2(it) as the random solution R(it) of the current iteration through the roulette method;
[0013] Step 5: Determine whether the current number of iterations it is greater than the maximum number of iterations Maxit. If yes, select the solution with the largest fitness as the best cluster center solution for initial equivalence class division; if no, calculate the satiety rate F of each solution in the current number of iterations;
[0014] Step 6: Let P1 be the probability parameter used to determine the selection mechanism in the exploration phase, P2 be the probability parameter used to determine the first-stage selection mechanism in the development phase, P3 be the probability parameter used to determine the second-stage selection mechanism in the development phase, and rand p1 、rand p2 and rand p3 Represents three random numbers between 0 and 1; according to the satiety rate F, probability parameters P1, P2, P3 and random number rand p1 ,rand p2 ,rand p3 In the case of a cluster, each cluster center solution is updated;
[0015] Step 7: For each cluster center solution, calculate and update the membership between each patient's medical record and each cluster center of each solution, and combine the membership between the cluster center and each patient's medical record and each cluster center to update the fitness value of all solutions, add 1 to the current iteration number it, and determine whether the current iteration number it is greater than the maximum iteration number Maxit, and repeat steps 6 and 7 until it is greater than the maximum iteration number Maxit;
[0016] Step 8: Calculate the similarity of the quasi-identifier attribute data between the patient medical records, select the patient medical records with the most similar quasi-identifier attribute values from each cluster to form an initial equivalence class, delete the selected patient medical records from the original cluster, and complete the division of c initial equivalence classes;
[0017] Step 9: Determine whether the current equivalence class number v is greater than the total number of equivalence classes c. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table. Otherwise, set weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class.
[0018] Step 10: Calculate the difference value of sensitive attribute data distribution between each initial equivalence class and the entire medical data table;
[0019] Step 11: Determine whether the distribution difference value between the sensitive attribute data of each equivalence class and the sensitive attribute data of the entire medical data table is less than the threshold t. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table; if not, merge the equivalence class with the equivalence class whose quasi-identifier attribute value is closest in similarity, set v=v+1, until the current equivalence class sequence number v is greater than the total number of equivalence classes c, generalize all quasi-identifier values in the multidimensional medical data table, and publish the multidimensional medical anonymous data table.
[0020] Preferably, the step of deleting the identifier attribute data of all patients in the original multidimensional medical data table comprises: assuming that the patient medical records after deleting the identifier attribute data are as shown in formula (1), and calculating the similarity of the sensitive attribute data between all the patient medical records by formula (2);
[0021]
[0022] Among them, r i represents the medical record of the ith patient, represents the ath numeric quasi-identifier attribute value of the i-th patient medical record, represents the b-th categorical quasi-identifier attribute value of the i-th patient medical record, represents the cth numeric sensitive attribute value of the i-th patient medical record, Represents the d-th categorical sensitive attribute value of the i-th patient medical record;
[0023]
[0024] Among them, D SAs (r i ,r j ) represents the similarity of sensitive attribute data between the i-th patient medical record and the j-th patient medical record, represents the similarity between the lth numerical sensitive attribute value of the i-th patient medical record and the lth numerical sensitive attribute value of the j-th patient medical record, It represents the similarity between the lth category-type sensitive attribute value of the i-th patient medical record and the lth category-type sensitive attribute value of the j-th patient medical record. The specific calculation formula is as follows:
[0025]
[0026] in, represents the lth numeric sensitive attribute value of the i-th patient medical record, represents the difference of the lth numeric sensitive attribute value of the jth patient's medical record, n represents the number of patients in the medical data table, It represents the lowest common ancestor node height of the lth categorical sensitive attribute value of the i-th patient medical record and the lth categorical sensitive attribute value of the j-th patient medical record, and h(H) represents the total height of the current categorical attributes.
[0027] Preferably, the method of determining the size of the dimension by combining the sensitive attribute data in the multidimensional medical data table, constructing the search space, obtaining m solutions and completing the initialization of the m solutions includes: randomly generating K cluster center positions in the search space as one solution, and composing the m solutions into a solution matrix X = {x1, x2, ..., x m}, where x m Represents the mth solution, thus completing the initialization of m solutions.
[0028] Preferably, the step of calculating the fitness value of each solution, selecting the solution with the largest fitness as the first best solution BV1(it), selecting the solution with the second largest fitness as the second best solution BV2(it), and selecting one from BV1(it) and BV2(it) as the random solution R(it) of the current iteration by a roulette wheel method comprises:
[0029]
[0030] Among them, f z represents the fitness value of the zth solution, k represents the number of clusters, e represents the weight index of fuzzy clustering, and D SAs (r j ,c q ) represents the similarity of sensitive attribute data from the jth patient’s medical record to the qth cluster center, It indicates that the jth patient's medical record belongs to the qth cluster. The specific calculation formula is:
[0031]
[0032] Preferably, the calculating of the satiety rate F of each solution in the current iteration number includes:
[0033]
[0034] Among them, F represents the satiety rate of the current solution, Maxit represents the maximum number of iterations, Represents a random number between -1 and 1. Represents a random number between -2 and 2. represents a random number between 0 and 1, and w represents the probability parameter for entering the exploration phase of the optimization algorithm.
[0035] Preferably, the updating of each cluster center solution includes:
[0036] When F ≥ 1 and P1 ≥ rand p1 When , the optimization algorithm is in the exploration stage, and the current position of the cluster center solution is updated by simulating the African vultures searching for food in the random distance surrounding area of the random solution through formula (7);
[0037] p(it+1)=R(it)-|2×rand1×R(it)-p(it)|×F (7)
[0038] Where p(it+1) represents the solution after the update, rand1 is a random number between 0 and 1, F is the satiety rate of the solution obtained by formula (6) in the current iteration, and p(it) represents the position of the current solution.
[0039] When F≥1 and P1<rand p1 When , the algorithm is still in the exploration stage, and the current position of the cluster center solution is updated by simulating the African vultures searching for food in different spatial areas through formula (8);
[0040] p(it+1)=R(it)-F+rand2×((ub-lb)×rand3+lb) (8)
[0041] Among them, rand2 and rand3 are random numbers between 0 and 1, and ub and lb represent the upper and lower limits of the vulture position in the next iteration;
[0042] When 1≥F≥0.5 and P2≥rand p2 When , the algorithm is in the first stage of the development phase, and many African vultures gather at a food source to compete for food through formula (9), and the current position of the cluster center solution is updated;
[0043] p(it+1)=|2×rand4×R(it)-p(it)|×(F+rand5)-(R(it)-p(it)) (9)
[0044] Among them, rand4 and rand5 are random numbers between 0 and 1;
[0045] When 1≥F≥0.5 and P2<rand p2 When , the algorithm is still in the first stage of development, and the current position of the cluster center solution is updated by simulating the vulture's rotating flight close to the food through formula (10);
[0046]
[0047] Among them, rand5 and rand6 are random numbers between 0 and 1;
[0048] When F<0.5 and P3≥rand p3 When , the algorithm is in the second stage of the development phase, and the current position of the cluster center solution is updated by simulating the large-scale competition for food among vultures through formula (11), which leads to the aggregation of several vultures on the food source;
[0049]
[0050] Wherein, BV1(t) represents the first best solution in the current iteration, and BV2(t) represents the second best solution in the current iteration;
[0051] When F<0.5 and P3<rand p3 When , the algorithm is still in the second stage of development, and the fierce competition for food among vultures is simulated by formula (12) to accurately capture the optimal cluster center position;
[0052] p(it+1)=R(it)-|R(it)-p(it)|×F×Levy (12)
[0053] Where |R(it)-p(it)| represents the distance between the current solution and the random solution, and Levy represents the linear feedback coefficient, which can improve the effectiveness of the African vulture optimization algorithm in formula (13) and can be expressed as:
[0054]
[0055] Among them, μ and ν represent random numbers between 0 and 1, β represents a fixed default value of 1.5, and Γ() represents the gamma function.
[0056] Preferably, for each cluster center solution, the membership between each patient medical record and each cluster center of each solution is calculated and updated, and the fitness values of all solutions are updated by combining the cluster center and the membership between each patient medical record and each cluster center, and the current iteration number it is increased by 1, including:
[0057]
[0058] Among them, D QIs (r i ,r j ) represents the similarity of the quasi-identifier attribute data between the i-th patient medical record and the j-th patient medical record, represents the similarity between the lth numerical quasi-identifier attribute value of the i-th patient medical record and the lth numerical quasi-identifier attribute value of the j-th patient medical record, It represents the similarity between the lth categorical quasi-identifier attribute value of the i-th patient medical record and the lth categorical quasi-identifier attribute value of the j-th patient medical record. The specific calculation method is as follows:
[0059]
[0060] in, represents the lth numerical quasi-identifier attribute value of the i-th patient medical record, represents the difference between the lth numerical quasi-identifier attribute value of the jth patient medical record, It represents the lowest common ancestor node height of the lth categorical quasi-identifier attribute value of the i-th patient medical record and the lth categorical quasi-identifier attribute value of the j-th patient medical record, and h(H) represents the total height of the current categorical attributes.
[0061] Preferably, the step of setting weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class includes:
[0062] According to the sensitivity coefficient of the attribute, all sensitive attributes of the vth equivalence class are sorted from high to low, and the corresponding weight θ is set for each sensitive attribute using formula (16): g ;
[0063]
[0064] Among them, θ g Indicates the weight value of the current g-th sensitive attribute, sc g represents the sensitivity coefficient of the g-th sensitive attribute, and For sensitive attribute values, all sensitive attribute values of the vth equivalence class are graded according to the sensitivity coefficient of the attribute value. The number of levels is determined according to the number of common ancestor nodes of the leaf nodes. The sensitive attribute values contained in each level are determined according to all leaf nodes under each common ancestor node. According to the sensitivity coefficient pre-set for each level, the corresponding weight is set for each level in each grading table through formula (17).
[0065]
[0066] in, Indicates the weight value of the current sth level, level s Represents the sensitivity coefficient of the sth level, N av Indicates the number of levels.
[0067] Preferably, the calculation of the difference value of the sensitive attribute data distribution between each initial equivalence class and the entire medical data table includes:
[0068]
[0069] Among them, EMD (PH z ,QL) represents the difference value of sensitive attribute data distribution between the zth equivalence class and the entire medical data table, PH z represents the distribution of all sensitive attribute data of the zth equivalence class, QL represents the distribution of all sensitive attribute data of the entire data table, c represents the number of numeric sensitive attributes in a patient's medical record, d represents the number of categorical sensitive attributes in a patient's medical record, θ h Represents the weight value of the current h-th numerical sensitive attribute, θ f+c Indicates the weight value of the current f-th category sensitive attribute, EMD (NP z,h ,NQ h ) represents the distribution difference between the h-th numerical sensitive attribute data of the z-th equivalence class and the h-th numerical sensitive attribute data in the entire medical data table, which can be expressed as:
[0070]
[0071] Among them, NP z,h represents the hth sensitive attribute data distribution of the zth equivalence class, NQ h represents the distribution of the hth sensitive attribute data in the multidimensional medical data table, Np y Represents the yth sensitive attribute value in the current equivalence class, Represents the weight value of the yth sensitive attribute value in the current equivalence class, Nq y represents the yth sensitive attribute value in the medical data table, α yRepresents the weight value of the yth sensitive attribute value in the medical data table; EMD (DP z,f ,DQ f ) represents the distribution difference between the f-th category-type sensitive attribute data of the z-th equivalence class and the f-th category-type sensitive attribute data in the entire medical data table, which can be expressed as:
[0072]
[0073] Among them, DP z,f represents the data distribution of the fth sensitive attribute of the zth equivalence class, DQ f represents the distribution of the fth sensitive attribute data in the multidimensional medical data table, Dp s Represents the sth sensitive attribute value in the current equivalence class, Indicates the weight value of the sth sensitive attribute value in the current equivalence class, Dq s represents the sth sensitive attribute value in the medical data table, α s Represents the weight value of the sth sensitive attribute value in the medical data table.
[0074] The present invention also provides a patient medical privacy data protection device, the device comprising:
[0075] Parameter initialization module: used to initialize key parameters after obtaining the original multidimensional medical data table, setting the current iteration number it = 1, the maximum iteration number Maxit, the classification number K, the fuzzy clustering weight index e, and the equivalence class number v = 1;
[0076] Data preprocessing module: used to delete the identifier attribute data of all patients in the original multidimensional medical data table;
[0077] Determine the size of the dimension by combining the sensitive attribute data in the multidimensional medical data table, construct the search space, obtain m solutions and complete the initialization of the m solutions;
[0078] Calculate the fitness value of each solution, and select the solution with the largest fitness as the first best solution BV1(it), select the solution with the second largest fitness as the second best solution BV2(it), and select one from BV1(it) and BV2(it) as the random solution R(it) of the current iteration through the roulette method;
[0079] Determine whether the current number of iterations it is greater than the maximum number of iterations Maxit. If yes, select the solution with the largest fitness as the best cluster center solution for initial equivalence class division; if no, calculate the satiety rate F of each solution in the current number of iterations;
[0080] Let P1 be the probability parameter used to determine the selection mechanism in the exploration phase, P2 be the probability parameter used to determine the first-stage selection mechanism in the exploitation phase, P3 be the probability parameter used to determine the second-stage selection mechanism in the exploitation phase, and rand p1 、rand p2 and rand p3 Represents three random numbers between 0 and 1; according to the satiety rate F, probability parameters P1, P2, P3 and random number rand p1 ,rand p2 ,rand p3 In the case of a cluster, each cluster center solution is updated;
[0081] For each cluster center solution, calculate and update the membership between each patient's medical record and each cluster center of each solution, and combine the membership between the cluster center and each patient's medical record and each cluster center to update the fitness value of all solutions, add 1 to the current iteration number it, determine whether the current iteration number it is greater than the maximum iteration number Maxit, and repeat steps 6 and 7 until it is greater than the maximum iteration number Maxit;
[0082] Equivalence class partitioning module: used to calculate the similarity of quasi-identifier attribute data between patient medical records, select patient medical records with the most similar quasi-identifier attribute values from each cluster to form an initial equivalence class, delete the selected patient medical records from the original cluster, and complete the partitioning of c initial equivalence classes;
[0083] Equivalence class merging and data generalization module: Determine whether the current equivalence class number v is greater than the total number of equivalence classes c. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table. Otherwise, set weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class.
[0084] Calculate the difference value of sensitive attribute data distribution between each initial equivalence class and the entire medical data table;
[0085] Determine whether the distribution difference value between the sensitive attribute data of each equivalence class and the sensitive attribute data of the entire medical data table is less than the threshold t. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table; if not, merge the equivalence class with the closest similarity to its quasi-identifier attribute value, set v=v+1, until the current equivalence class sequence number v is greater than the total number of equivalence classes c, generalize all quasi-identifier values in the multidimensional medical data table, and publish the multidimensional medical anonymous data table.
[0086] The present invention also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by one or more processors, it implements the steps of a patient medical privacy data protection method as described above.
[0087] Beneficial Effects
[0088] The present invention provides a method and device for protecting patient medical privacy data. It has the following beneficial effects:
[0089] In order to cluster patient medical records according to the similarity of sensitive attribute data, the technical solution of the present invention proposes a method for protecting patient medical privacy data, based on the fuzzy C-means clustering optimized by African vultures, improves the fitness calculation method, simulates the predation behavior of African vultures to optimize the cluster center selection, and timely updates the solution according to the satiety rate of the solution in multiple iterations, effectively avoiding the African vulture optimization method from falling into the local optimal solution;
[0090] For equivalence class division, the initial equivalence class division and the final equivalence class division method are proposed; according to the divided clusters, the method selects the medical records with the most similar quasi-identifier attribute data to form the initial equivalence class, thereby reducing the amount of information loss and improving the degree of privacy protection;
[0091] By calculating the difference in the distribution of sensitive attribute data between each initial equivalence class and the medical data table, the equivalence classes that do not meet the constraints are merged to prevent privacy leakage caused by skew attacks and similarity attacks.
[0092] Aiming at the calculation of the distribution difference value of sensitive attribute data between the initial equivalence class and the medical data table, the EMD (Earth Mover's Distance) distance measurement method is improved, and a formula based on distribution distance measurement is proposed to reasonably assign weights to sensitive attributes and sensitive attribute data and calculate the distribution difference value, thereby solving the problem that the same patient has different privacy protection requirements for different sensitive attribute data, and different patients have different privacy protection requirements for different sensitive attribute values of the same sensitive attribute data;
[0093] The embodiment of the present invention realizes multi-dimensional K anonymous release of medical data and protects the privacy security of medical data through parameter initialization, data preprocessing, equivalence class division, equivalence class merging based on distribution distance measurement and data generalization, and applies the multi-dimensional K anonymous algorithm to the smart medical scenario, which solves the current mainstream protection algorithm for common reasoning attacks such as homogeneity attacks, similarity attacks and skewness attacks. In terms of protection methods, it focuses on studying the privacy protection of only one sensitive attribute data, and does not consider the situation in which a medical data table has multiple sensitive attribute data in the actual anonymization process. It is difficult to directly apply it to the release of medical information with multiple sensitive attribute data, and there is a privacy leakage problem. BRIEF DESCRIPTION OF THE DRAWINGS
[0094] Figure 1 A flowchart of a method for protecting patient medical privacy data provided by the present invention;
[0095] Figure 2 This is a structural diagram of a patient medical privacy data protection device provided by the present invention. DETAILED DESCRIPTION
[0096] The technical solutions in the embodiments of the present invention will be described clearly and completely below in conjunction with the accompanying drawings in the embodiments of the present invention.
[0097] like Figure 1 As shown, an embodiment of the present invention provides a method for protecting patient medical privacy data, the method comprising:
[0098] Step 1: After obtaining the original multidimensional medical data table, initialize the key parameters, set the current iteration number it = 1, the maximum iteration number Maxit, the number of classifications K, the fuzzy clustering weight index e, and the equivalence class number v = 1;
[0099] Step 2: Delete the identifier attribute data of all patients in the original multidimensional medical data table;
[0100] Step 3: Determine the size of the dimension based on the sensitive attribute data in the multidimensional medical data table, construct the search space, and repeat the following operations m times to obtain m solutions and complete the initialization of the m solutions;
[0101] Step 4: Calculate the fitness value of each solution, and select the solution with the largest fitness as the first best solution BV1(it), select the solution with the second largest fitness as the second best solution BV2(it), and select one from BV1(it) and BV2(it) as the random solution R(it) of the current iteration through the roulette method;
[0102] Step 5: Determine whether the current number of iterations it is greater than the maximum number of iterations Maxit. If yes, select the solution with the largest fitness as the best cluster center solution for initial equivalence class division; if no, calculate the satiety rate F of each solution in the current number of iterations;
[0103] Step 6: Let P1 be the probability parameter used to determine the selection mechanism in the exploration phase, P2 be the probability parameter used to determine the first-stage selection mechanism in the development phase, P3 be the probability parameter used to determine the second-stage selection mechanism in the development phase, and rand p1 、rand p2 and rand p3Represents three random numbers between 0 and 1; according to the satiety rate F, probability parameters P1, P2, P3 and random number rand p1 ,rand p2 ,rand p3 In the case of a cluster, each cluster center solution is updated;
[0104] Step 7: For each cluster center solution, calculate and update the membership between each patient's medical record and each cluster center of each solution, and combine the membership between the cluster center and each patient's medical record and each cluster center to update the fitness value of all solutions, add 1 to the current iteration number it, and determine whether the current iteration number it is greater than the maximum iteration number Maxit, and repeat steps 6 and 7 until it is greater than the maximum iteration number Maxit;
[0105] Step 8: Calculate the similarity of the quasi-identifier attribute data between the patient medical records, select the patient medical records with the most similar quasi-identifier attribute values from each cluster to form an initial equivalence class, delete the selected patient medical records from the original cluster, and complete the division of c initial equivalence classes;
[0106] Step 9: Determine whether the current equivalence class number v is greater than the total number of equivalence classes c. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table. Otherwise, set weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class.
[0107] Step 10: Calculate the difference value of sensitive attribute data distribution between each initial equivalence class and the entire medical data table;
[0108] Step 11: Determine whether the distribution difference value between the sensitive attribute data of each equivalence class and the sensitive attribute data of the entire medical data table is less than the threshold t. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table; if not, merge the equivalence class with the equivalence class whose quasi-identifier attribute value is closest in similarity, set v=v+1, until the current equivalence class sequence number v is greater than the total number of equivalence classes c, generalize all quasi-identifier values in the multidimensional medical data table, and publish the multidimensional medical anonymous data table.
[0109] Preferably, the step of deleting the identifier attribute data of all patients in the original multidimensional medical data table comprises: assuming that the patient medical records after deleting the identifier attribute data are as shown in formula (1), and calculating the similarity of the sensitive attribute data between all the patient medical records by formula (2);
[0110]
[0111] Among them, ri represents the medical record of the ith patient, represents the ath numeric quasi-identifier attribute value of the i-th patient medical record, represents the b-th categorical quasi-identifier attribute value of the i-th patient medical record, represents the cth numeric sensitive attribute value of the i-th patient medical record, Represents the d-th categorical sensitive attribute value of the i-th patient medical record;
[0112]
[0113] Among them, D SAs (r i ,r j ) represents the similarity of sensitive attribute data between the i-th patient medical record and the j-th patient medical record, represents the similarity between the lth numerical sensitive attribute value of the i-th patient medical record and the lth numerical sensitive attribute value of the j-th patient medical record, It represents the similarity between the lth category-type sensitive attribute value of the i-th patient medical record and the lth category-type sensitive attribute value of the j-th patient medical record. The specific calculation formula is as follows:
[0114]
[0115] in, represents the lth numeric sensitive attribute value of the i-th patient medical record, represents the difference of the lth numeric sensitive attribute value of the jth patient's medical record, n represents the number of patients in the medical data table, It represents the lowest common ancestor node height of the lth categorical sensitive attribute value of the i-th patient medical record and the lth categorical sensitive attribute value of the j-th patient medical record, and h(H) represents the total height of the current categorical attributes.
[0116] Preferably, the method of determining the size of the dimension by combining the sensitive attribute data in the multidimensional medical data table, constructing the search space, obtaining m solutions and completing the initialization of the m solutions includes: randomly generating K cluster center positions in the search space as one solution, and composing the m solutions into a solution matrix X = {x1, x2, ..., x m}, where x m Represents the mth solution, thus completing the initialization of m solutions.
[0117] Preferably, the step of calculating the fitness value of each solution, selecting the solution with the largest fitness as the first best solution BV1(it), selecting the solution with the second largest fitness as the second best solution BV2(it), and selecting one from BV1(it) and BV2(it) as the random solution R(it) of the current iteration by a roulette wheel method comprises:
[0118]
[0119] Among them, f z represents the fitness value of the zth solution, k represents the number of clusters, e represents the weight index of fuzzy clustering, and D SAs (r j ,c q ) represents the similarity of sensitive attribute data from the jth patient’s medical record to the qth cluster center, It indicates that the jth patient's medical record belongs to the qth cluster. The specific calculation formula is:
[0120]
[0121] Preferably, the calculating of the satiety rate F of each solution in the current iteration number includes:
[0122]
[0123] Among them, F represents the satiety rate of the current solution, Maxit represents the maximum number of iterations, Represents a random number between -1 and 1. Represents a random number between -2 and 2. represents a random number between 0 and 1, and w represents the probability parameter for entering the exploration phase of the optimization algorithm.
[0124] Preferably, the updating of each cluster center solution includes:
[0125] When F ≥ 1 and P1 ≥ rand p1 When , the optimization algorithm is in the exploration stage, and the current position of the cluster center solution is updated by simulating the African vultures searching for food in the random distance surrounding area of the random solution through formula (7);
[0126] p(it+1)=R(it)-|2×rand1×R(it)-p(it)|×F (7)
[0127] Where p(it+1) represents the solution after the update, rand1 is a random number between 0 and 1, F is the satiety rate of the solution obtained by formula (6) in the current iteration, and p(it) represents the position of the current solution.
[0128] When F≥1 and P1<rand p1 When , the algorithm is still in the exploration stage, and the current position of the cluster center solution is updated by simulating the African vultures searching for food in different spatial areas through formula (8);
[0129] p(it+1)=R(it)-F+rand2×((ub-lb)×rand3+lb) (8)
[0130] Among them, rand2 and rand3 are random numbers between 0 and 1, and ub and lb represent the upper and lower limits of the vulture position in the next iteration;
[0131] When 1≥F≥0.5 and P2≥rand p2 When , the algorithm is in the first stage of the development phase, and many African vultures gather at a food source to compete for food through formula (9), and the current position of the cluster center solution is updated;
[0132] p(it+1)=|2×rand4×R(it)-p(it)|×(F+rand5)-(R(it)-p(it)) (9)
[0133] Among them, rand4 and rand5 are random numbers between 0 and 1;
[0134] When 1≥F≥0.5 and P2<rand p2 When , the algorithm is still in the first stage of development, and the current position of the cluster center solution is updated by simulating the vulture's rotating flight close to the food through formula (10);
[0135]
[0136] Among them, rand5 and rand6 are random numbers between 0 and 1;
[0137] When F<0.5 and P3≥rand p3 When , the algorithm is in the second stage of the development phase, and the current position of the cluster center solution is updated by simulating the large-scale competition for food among vultures through formula (11), which leads to the aggregation of several vultures on the food source;
[0138]
[0139] Wherein, BV1(t) represents the first best solution in the current iteration, and BV2(t) represents the second best solution in the current iteration;
[0140] When F<0.5 and P3<rand p3 When , the algorithm is still in the second stage of development, and the fierce competition for food among vultures is simulated by formula (12) to accurately capture the optimal cluster center position;
[0141] p(it+1)=R(it)-|R(it)-p(it)|×F×Levy (12)
[0142] Where |R(it)-p(it)| represents the distance between the current solution and the random solution, and Levy represents the linear feedback coefficient, which can improve the effectiveness of the African vulture optimization algorithm in formula (13) and can be expressed as:
[0143]
[0144] Among them, μ and ν represent random numbers between 0 and 1, β represents a fixed default value of 1.5, and Γ() represents the gamma function.
[0145] The fuzzy C-means clustering algorithm based on African vulture optimization improves the fitness calculation method, simulates the predation behavior of African vultures to optimize the cluster center selection, and updates the solution in time according to the satiety rate of the solution in multiple iterations, effectively preventing the African vulture optimization method from falling into the local optimal solution.
[0146] Preferably, for each cluster center solution, the membership between each patient medical record and each cluster center of each solution is calculated and updated, and the fitness values of all solutions are updated by combining the cluster center and the membership between each patient medical record and each cluster center, and the current iteration number it is increased by 1, including:
[0147]
[0148] Among them, D QIs (r i ,r j ) represents the similarity of the quasi-identifier attribute data between the i-th patient medical record and the j-th patient medical record, represents the similarity between the lth numerical quasi-identifier attribute value of the i-th patient medical record and the lth numerical quasi-identifier attribute value of the j-th patient medical record, It represents the similarity between the lth categorical quasi-identifier attribute value of the i-th patient medical record and the lth categorical quasi-identifier attribute value of the j-th patient medical record. The specific calculation method is as follows:
[0149]
[0150] in, represents the lth numerical quasi-identifier attribute value of the i-th patient medical record, represents the difference between the lth numerical quasi-identifier attribute value of the jth patient medical record, It represents the lowest common ancestor node height of the lth categorical quasi-identifier attribute value of the i-th patient medical record and the lth categorical quasi-identifier attribute value of the j-th patient medical record, and h(H) represents the total height of the current categorical attributes.
[0151] Preferably, the step of setting weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class includes:
[0152] According to the sensitivity coefficient of the attribute, all sensitive attributes of the vth equivalence class are sorted from high to low, and the corresponding weight θ is set for each sensitive attribute using formula (16): g ;
[0153]
[0154] Among them, θ g Indicates the weight value of the current g-th sensitive attribute, sc g represents the sensitivity coefficient of the g-th sensitive attribute, and For sensitive attribute values, all sensitive attribute values of the vth equivalence class are graded according to the sensitivity coefficient of the attribute value. The number of levels is determined according to the number of common ancestor nodes of the leaf nodes. The sensitive attribute values contained in each level are determined according to all leaf nodes under each common ancestor node. According to the sensitivity coefficient pre-set for each level, the corresponding weight is set for each level in each grading table through formula (17).
[0155]
[0156] in, Indicates the weight value of the current sth level, level s Represents the sensitivity coefficient of the sth level, N av Indicates the number of levels.
[0157] The above-mentioned initial equivalence class division and final equivalence class division method selects medical records with the most similar quasi-identifier attribute data to form initial equivalence classes according to the divided clusters, thereby reducing the amount of information loss and improving the degree of privacy protection.
[0158] Preferably, the calculation of the difference value of the sensitive attribute data distribution between each initial equivalence class and the entire medical data table includes:
[0159]
[0160] Among them, EMD (PH z ,QL) represents the difference value of sensitive attribute data distribution between the zth equivalence class and the entire medical data table, PH z represents the distribution of all sensitive attribute data of the zth equivalence class, QL represents the distribution of all sensitive attribute data of the entire data table, c represents the number of numeric sensitive attributes in a patient's medical record, d represents the number of categorical sensitive attributes in a patient's medical record, θ h Represents the weight value of the current h-th numerical sensitive attribute, θ f+c Indicates the weight value of the current f-th category sensitive attribute, EMD (NP z,h ,NQ h ) represents the distribution difference between the h-th numerical sensitive attribute data of the z-th equivalence class and the h-th numerical sensitive attribute data in the entire medical data table, which can be expressed as:
[0161]
[0162] Among them, NP z,h represents the hth sensitive attribute data distribution of the zth equivalence class, NQ h represents the distribution of the hth sensitive attribute data in the multidimensional medical data table, Np y Represents the yth sensitive attribute value in the current equivalence class, Represents the weight value of the yth sensitive attribute value in the current equivalence class, Nq y represents the yth sensitive attribute value in the medical data table, α y Represents the weight value of the yth sensitive attribute value in the medical data table; EMD (DP z,f ,DQ f ) represents the distribution difference between the f-th category-type sensitive attribute data of the z-th equivalence class and the f-th category-type sensitive attribute data in the entire medical data table, which can be expressed as:
[0163]
[0164] Among them, DP z,f represents the data distribution of the fth sensitive attribute of the zth equivalence class, DQ f represents the distribution of the fth sensitive attribute data in the multidimensional medical data table, Dp s Represents the sth sensitive attribute value in the current equivalence class, Indicates the weight value of the sth sensitive attribute value in the current equivalence class, Dq s represents the sth sensitive attribute value in the medical data table, α sRepresents the weight value of the sth sensitive attribute value in the medical data table.
[0165] By calculating the difference in the distribution of sensitive attribute data between each initial equivalence class and the medical data table, the equivalence classes that do not meet the constraints are merged to prevent privacy leakage caused by skew attacks and similarity attacks.
[0166] like Figure 2 As shown, an embodiment of the present invention further provides a patient medical privacy data protection device, the device comprising:
[0167] Parameter initialization module: used to initialize key parameters after obtaining the original multidimensional medical data table, setting the current iteration number it = 1, the maximum iteration number Maxit, the number of classifications K, the fuzzy clustering weight index e, and the equivalence class number v = 1;
[0168] Data preprocessing module: used to delete the identifier attribute data of all patients in the original multidimensional medical data table;
[0169] Determine the size of the dimension by combining the sensitive attribute data in the multidimensional medical data table, construct the search space, obtain m solutions and complete the initialization of the m solutions;
[0170] Calculate the fitness value of each solution, and select the solution with the largest fitness as the first best solution BV1(it), select the solution with the second largest fitness as the second best solution BV2(it), and select one from BV1(it) and BV2(it) as the random solution R(it) of the current iteration through the roulette method;
[0171] Determine whether the current number of iterations it is greater than the maximum number of iterations Maxit. If yes, select the solution with the largest fitness as the best cluster center solution for initial equivalence class division; if no, calculate the satiety rate F of each solution in the current number of iterations;
[0172] Let P1 be the probability parameter used to determine the selection mechanism in the exploration phase, P2 be the probability parameter used to determine the first-stage selection mechanism in the exploitation phase, P3 be the probability parameter used to determine the second-stage selection mechanism in the exploitation phase, and rand p1 、rand p2 and rand p3 Represents three random numbers between 0 and 1; according to the satiety rate F, probability parameters P1, P2, P3 and random number rand p1 ,rand p2 ,rand p3 In the case of a cluster, each cluster center solution is updated;
[0173] For each cluster center solution, calculate and update the membership between each patient's medical record and each cluster center of each solution, and combine the membership between the cluster center and each patient's medical record and each cluster center to update the fitness value of all solutions, add 1 to the current iteration number it, determine whether the current iteration number it is greater than the maximum iteration number Maxit, and repeat steps 6 and 7 until it is greater than the maximum iteration number Maxit;
[0174] Equivalence class partitioning module: used to calculate the similarity of quasi-identifier attribute data between patient medical records, select patient medical records with the most similar quasi-identifier attribute values from each cluster to form an initial equivalence class, delete the selected patient medical records from the original cluster, and complete the partitioning of c initial equivalence classes;
[0175] Equivalence class merging and data generalization module: Determine whether the current equivalence class number v is greater than the total number of equivalence classes c. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table. Otherwise, set weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class.
[0176] Calculate the difference value of sensitive attribute data distribution between each initial equivalence class and the entire medical data table;
[0177] Determine whether the distribution difference value between the sensitive attribute data of each equivalence class and the sensitive attribute data of the entire medical data table is less than the threshold t. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table; if not, merge the equivalence class with the closest similarity to its quasi-identifier attribute value, set v=v+1, until the current equivalence class sequence number v is greater than the total number of equivalence classes c, generalize all quasi-identifier values in the multidimensional medical data table, and publish the multidimensional medical anonymous data table.
[0178] An embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by one or more processors, the steps of a patient medical privacy data protection method as described above are implemented.
[0179] The embodiment of the present invention realizes multi-dimensional K anonymous release of medical data and protects the privacy and security of medical data through parameter initialization, data preprocessing, equivalence class division, equivalence class merging based on distribution distance measurement and data generalization, and applies the multi-dimensional K anonymous algorithm to smart medical scenarios. The embodiment of the present invention realizes multi-dimensional K anonymous release of medical data and protects the privacy and security of medical data through parameter initialization, data preprocessing, equivalence class division, equivalence class merging based on distribution distance measurement and data generalization, and applies the multi-dimensional K anonymous algorithm to smart medical scenarios, which solves the problem that the current mainstream protection algorithms for common reasoning attacks such as homogeneity attacks, similarity attacks and skewness attacks focus on studying the privacy protection of only one sensitive attribute data in terms of protection methods, and do not consider the situation that a medical data table has multiple sensitive attribute data in the actual anonymization process. It is difficult to directly apply it to the release of medical information with multiple sensitive attribute data, and there is a privacy leakage problem.
[0180] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for protecting patient medical privacy data. It is characterized in that include: Step 1: After obtaining the original multidimensional medical data table, initialize the key parameters, set the current iteration number it = 1, the maximum iteration number Maxit, the number of classifications K, the fuzzy clustering weight index e, and the equivalence class number v = 1; Step 2: Delete the identifier attribute data of all patients in the original multidimensional medical data table; Step 3: Determine the size of the dimension by combining the sensitive attribute data in the multidimensional medical data table, construct the search space, obtain m solutions and complete the initialization of the m solutions; Step 4: Calculate the fitness value of each solution and select the solution with the largest fitness as the first best solution BV 1 (it), select the solution with the second largest fitness as the second best solution BV 2 (it), and by the method of roulette from BV 1 (it) and BV 2 (it) selects one as the random solution R(it) for the current iteration; Step 5: Determine whether the current number of iterations it is greater than the maximum number of iterations Maxit. If yes, select the solution with the largest fitness as the best cluster center solution for initial equivalence class division; if no, calculate the satiety rate F of each solution in the current number of iterations; Step 6: Let P 1 represents the probability parameter used to determine the selection mechanism in the exploration phase, P 2 represents the probability parameter used to determine the first stage selection mechanism in the development phase, P 3 represents the probability parameter used to determine the second-stage selection mechanism in the development phase, rand p1 、rand p2 and rand p3 Represents three random numbers between 0 and 1; according to the satiety rate F, probability parameter P 1 ,P 2 ,P 3 and the random number rand p1 ,rand p2 ,rand p3 In the case of a cluster, each cluster center solution is updated; Step 7: For each cluster center solution, calculate and update the membership between each patient's medical record and each cluster center of each solution, and combine the membership between the cluster center and each patient's medical record and each cluster center to update the fitness value of all solutions, add 1 to the current iteration number it, and determine whether the current iteration number it is greater than the maximum iteration number Maxit, and repeat steps 6 and 7 until it is greater than the maximum iteration number Maxit; Step 8: Calculate the similarity of the quasi-identifier attribute data between the patient medical records, select the patient medical records with the most similar quasi-identifier attribute values from each cluster to form an initial equivalence class, delete the selected patient medical records from the original cluster, and complete the division of c initial equivalence classes; Step 9: Determine whether the current equivalence class number v is greater than the total number of equivalence classes c. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table. Otherwise, set weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class. Step 10: Calculate the difference value of sensitive attribute data distribution between each initial equivalence class and the entire medical data table; Step 11: Determine whether the distribution difference value between the sensitive attribute data of each equivalence class and the sensitive attribute data of the entire medical data table is less than the threshold t. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table; if not, merge the equivalence class with the equivalence class whose quasi-identifier attribute value is closest in similarity, set v=v+1, until the current equivalence class sequence number v is greater than the total number of equivalence classes c, generalize all quasi-identifier values in the multidimensional medical data table, and publish the multidimensional medical anonymous data table.
2. A method for protecting patient medical privacy data according to claim 1, It is characterized in that The method of deleting the identifier attribute data of all patients in the original multidimensional medical data table includes: setting the patient medical records after deleting the identifier attribute data as shown in formula (1), and calculating the similarity of sensitive attribute data between all patient medical records by formula (2); Among them, r i represents the medical record of the ith patient, represents the ath numeric quasi-identifier attribute value of the i-th patient medical record, represents the b-th categorical quasi-identifier attribute value of the i-th patient medical record, represents the cth numeric sensitive attribute value of the i-th patient medical record, Represents the d-th categorical sensitive attribute value of the i-th patient medical record; Among them, D SAs (r i ,r j ) represents the similarity of sensitive attribute data between the i-th patient medical record and the j-th patient medical record, represents the similarity between the lth numerical sensitive attribute value of the i-th patient medical record and the lth numerical sensitive attribute value of the j-th patient medical record, It represents the similarity between the lth category-type sensitive attribute value of the i-th patient medical record and the lth category-type sensitive attribute value of the j-th patient medical record. The specific calculation formula is as follows: in, represents the lth numeric sensitive attribute value of the i-th patient medical record, represents the difference of the lth numeric sensitive attribute value of the jth patient's medical record, n represents the number of patients in the medical data table, It represents the lowest common ancestor node height of the lth categorical sensitive attribute value of the i-th patient medical record and the lth categorical sensitive attribute value of the j-th patient medical record, and h(H) represents the total height of the current categorical attributes.
3. A method for protecting patient medical privacy data according to claim 2, It is characterized in that The method combines the sensitive attribute data in the multidimensional medical data table to determine the size of the dimension, constructs a search space, obtains m solutions and completes the initialization of the m solutions, including: randomly generating K cluster center positions in the search space as one solution, and composing the m solutions into a solution matrix X = {x 1 ,x 2 ,...,x m }, where x m Represents the mth solution, thus completing the initialization of m solutions.
4. A method for protecting patient medical privacy data according to claim 3, It is characterized in that The fitness value of each solution is calculated, and the solution with the largest fitness is selected as the first best solution BV 1 (it), select the solution with the second largest fitness as the second best solution BV 2 (it), and by the method of roulette from BV 1 (it) and BV 2 (it) as the random solution R(it) for the current iteration, including: Among them, f z represents the fitness value of the zth solution, k represents the number of clusters, e represents the weight index of fuzzy clustering, and D SAs (r j ,c q ) represents the similarity of sensitive attribute data from the jth patient’s medical record to the qth cluster center, It indicates that the jth patient's medical record belongs to the qth cluster. The specific calculation formula is:
5. A method for protecting patient medical privacy data according to claim 4, It is characterized in that The calculation of the satiety rate F of each solution in the current iteration number includes: Among them, F represents the satiety rate of the current solution, Maxit represents the maximum number of iterations, Represents a random number between -1 and 1. Represents a random number between -2 and 2. represents a random number between 0 and 1, and w represents the probability parameter for entering the exploration phase of the optimization algorithm.
6. A method for protecting patient medical privacy data according to claim 5, It is characterized in that The updating of each cluster center solution includes: When F ≥ 1 and P 1 ≥rand p1 When , the optimization algorithm is in the exploration stage, and the current position of the cluster center solution is updated by simulating the African vultures searching for food in the random distance surrounding area of the random solution through formula (7); p(it+1)=R(it)-|2×rand 1 ×R(it)-p(it)|×F (7) Among them, p(it+1) represents the solution after the update, rand 1 is a random number between 0 and 1, F is the satiety rate of the solution obtained by formula (6) in the current iteration, and p(it) represents the position of the current solution; When F ≥ 1 and P 1 <rand p1 When , the algorithm is still in the exploration stage, and the current position of the cluster center solution is updated by simulating the African vultures searching for food in different spatial areas through formula (8); p(it+1)=R(it)-F+rand 2 ×((ub-lb)×rand 3 +lb) (8) Among them, rand 2 and rand 3 is a random number between 0 and 1, ub and lb represent the upper and lower limits of the vulture position in the next iteration; When 1≥F≥0.5 and P 2 ≥rand p2 When , the algorithm is in the first stage of the development phase, and many African vultures gather at a food source to compete for food through formula (9), and the current position of the cluster center solution is updated; p(it+1)=|2×rand 4 ×R(it)-p(it)|×(F+rand 5 )-(R(it)-p(it)) (9) Among them, rand 4 and rand 5 is a random number between 0 and 1; When 1≥F≥0.5 and P 2 <rand p2 When , the algorithm is still in the first stage of development, and the current position of the cluster center solution is updated by simulating the vulture's rotating flight close to the food through formula (10); Among them, rand 5 and rand 6 is a random number between 0 and 1; When F<0.5 and P 3 ≥rand p3 When , the algorithm is in the second stage of the development phase, and the current position of the cluster center solution is updated by simulating the large-scale competition for food among vultures through formula (11), which leads to the aggregation of several vultures on the food source; Among them, BV 1 (t) represents the first best solution in the current iteration, BV 2 (t) represents the second best solution in the current iteration; When F<0.5 and P 3 <rand p3 When , the algorithm is still in the second stage of development, and the fierce competition for food among vultures is simulated by formula (12) to accurately capture the optimal cluster center position; p(it+1)=R(it)-|R(it)-p(it)|×F×Levy (12) Where |R(it)-p(it)| represents the distance between the current solution and the random solution, and Levy represents the linear feedback coefficient, which can improve the effectiveness of the African vulture optimization algorithm in formula (13) and can be expressed as: Among them, μ and ν represent random numbers between 0 and 1, β represents a fixed default value of 1.5, and Γ() represents the gamma function.
7. A method for protecting patient medical privacy data according to claim 6, It is characterized in that For each cluster center solution, the membership between each patient medical record and each cluster center of each solution is calculated and updated, and the fitness values of all solutions are updated by combining the cluster center and the membership between each patient medical record and each cluster center, and the current iteration number it is increased by 1, including: Among them, D QIs (r i ,r j ) represents the similarity of the quasi-identifier attribute data between the i-th patient medical record and the j-th patient medical record, represents the similarity between the lth numerical quasi-identifier attribute value of the i-th patient medical record and the lth numerical quasi-identifier attribute value of the j-th patient medical record, It represents the similarity between the lth categorical quasi-identifier attribute value of the i-th patient medical record and the lth categorical quasi-identifier attribute value of the j-th patient medical record. The specific calculation method is as follows: in, represents the lth numerical quasi-identifier attribute value of the i-th patient medical record, represents the difference between the lth numerical quasi-identifier attribute value of the jth patient medical record, It represents the lowest common ancestor node height of the lth categorical quasi-identifier attribute value of the i-th patient medical record and the lth categorical quasi-identifier attribute value of the j-th patient medical record, and h(H) represents the total height of the current categorical attributes.
8. A method for protecting patient medical privacy data according to claim 7, It is characterized in that The step of setting weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class includes: According to the sensitivity coefficient of the attribute, all sensitive attributes of the vth equivalence class are sorted from high to low, and the corresponding weight θ is set for each sensitive attribute using formula (16): g ; Among them, θ g Indicates the weight value of the current g-th sensitive attribute, sc g represents the sensitivity coefficient of the g-th sensitive attribute, and For sensitive attribute values, all sensitive attribute values of the vth equivalence class are graded according to the sensitivity coefficient of the attribute value. The number of levels is determined according to the number of common ancestor nodes of the leaf nodes. The sensitive attribute values contained in each level are determined according to all leaf nodes under each common ancestor node. According to the sensitivity coefficient pre-set for each level, the corresponding weight is set for each level in each grading table through formula (17). in, Indicates the weight value of the current sth level, level s Represents the sensitivity coefficient of the sth level, N av Indicates the number of levels.
9. A method for protecting patient medical privacy data according to claim 8, It is characterized in that The calculation of the difference value of the sensitive attribute data distribution between each initial equivalence class and the entire medical data table includes: Among them, EMD (PH z ,QL) represents the difference value of sensitive attribute data distribution between the zth equivalence class and the entire medical data table, PH z represents the distribution of all sensitive attribute data of the zth equivalence class, QL represents the distribution of all sensitive attribute data of the entire data table, c represents the number of numeric sensitive attributes in a patient's medical record, d represents the number of categorical sensitive attributes in a patient's medical record, θ h Represents the weight value of the current h-th numerical sensitive attribute, θ f+c Indicates the weight value of the current f-th category sensitive attribute, EMD (NP z,h ,NQ h ) represents the distribution difference between the h-th numerical sensitive attribute data of the z-th equivalence class and the h-th numerical sensitive attribute data in the entire medical data table, which can be expressed as: Among them, NP z,h represents the hth sensitive attribute data distribution of the zth equivalence class, NQ h represents the distribution of the hth sensitive attribute data in the multidimensional medical data table, Np y Represents the yth sensitive attribute value in the current equivalence class, Represents the weight value of the yth sensitive attribute value in the current equivalence class, Nq y represents the yth sensitive attribute value in the medical data table, α y Represents the weight value of the yth sensitive attribute value in the medical data table; EMD (DP z,f ,DQ f ) represents the distribution difference between the f-th category-type sensitive attribute data of the z-th equivalence class and the f-th category-type sensitive attribute data in the entire medical data table, which can be expressed as: Among them, DP z,f represents the data distribution of the fth sensitive attribute of the zth equivalence class, DQ f represents the distribution of the fth sensitive attribute data in the multidimensional medical data table, Dp s Represents the sth sensitive attribute value in the current equivalence class, Indicates the weight value of the sth sensitive attribute value in the current equivalence class, Dq s represents the sth sensitive attribute value in the medical data table, α s Represents the weight value of the sth sensitive attribute value in the medical data table.
10. A device for protecting patient medical privacy data. It is characterized in that include: Parameter initialization module: used to initialize key parameters after obtaining the original multidimensional medical data table, setting the current iteration number it = 1, the maximum iteration number Maxit, the classification number K, the fuzzy clustering weight index e, and the equivalence class number v = 1; Data preprocessing module: used to delete the identifier attribute data of all patients in the original multidimensional medical data table; Determine the size of the dimension by combining the sensitive attribute data in the multidimensional medical data table, construct the search space, and repeat the following operations m times to obtain m solutions and complete the initialization of the m solutions; Calculate the fitness value of each solution and select the solution with the largest fitness as the first best solution BV 1 (it), select the solution with the second largest fitness as the second best solution BV 2 (it), and by the method of roulette from BV 1 (it) and BV 2 (it) selects one as the random solution R(it) for the current iteration; Determine whether the current number of iterations it is greater than the maximum number of iterations Maxit. If yes, select the solution with the largest fitness as the best cluster center solution for initial equivalence class division; if no, calculate the satiety rate F of each solution in the current number of iterations; Let P 1 represents the probability parameter used to determine the selection mechanism in the exploration phase, P 2 represents the probability parameter used to determine the first stage selection mechanism in the development phase, P 3 represents the probability parameter used to determine the second-stage selection mechanism in the development phase, rand p1 、rand p2 and rand p3 Represents three random numbers between 0 and 1; according to the satiety rate F, probability parameter P 1 ,P 2 ,P 3 and the random number rand p1 ,rand p2 ,rand p3 In the case of a cluster, each cluster center solution is updated; For each cluster center solution, calculate and update the membership between each patient's medical record and each cluster center of each solution, and combine the membership between the cluster center and each patient's medical record and each cluster center to update the fitness value of all solutions, add 1 to the current iteration number it, determine whether the current iteration number it is greater than the maximum iteration number Maxit, and repeat steps 6 and 7 until it is greater than the maximum iteration number Maxit; Equivalence class partitioning module: used to calculate the similarity of quasi-identifier attribute data between patient medical records, select patient medical records with the most similar quasi-identifier attribute values from each cluster to form an initial equivalence class, delete the selected patient medical records from the original cluster, and complete the partitioning of c initial equivalence classes; Equivalence class merging and data generalization module: Determine whether the current equivalence class number v is greater than the total number of equivalence classes c. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table. Otherwise, set weight values for all sensitive attributes and sensitive attribute values of the current vth equivalence class. Calculate the difference value of sensitive attribute data distribution between each initial equivalence class and the entire medical data table; Determine whether the distribution difference value between the sensitive attribute data of each equivalence class and the sensitive attribute data of the entire medical data table is less than the threshold t. If so, generalize all quasi-identifier values in the multidimensional medical data table and publish the multidimensional medical anonymous data table; if not, merge the equivalence class with the closest similarity to its quasi-identifier attribute value, set v=v+1, until the current equivalence class sequence number v is greater than the total number of equivalence classes c, generalize all quasi-identifier values in the multidimensional medical data table, and publish the multidimensional medical anonymous data table.
