Input: Data x and y from dataset A and dataset B, number of clusters K.
Output: GMM parameters , and clusters assignment distribution .
(1)The server initializes parameters, and.
(2)
for t = 1, …, T//Iteration
(3) for i = 1, …, N
(4) for j = 1, …, K
(5) //#The server:
(6) //At E-step, calculate the formula below.
(7)
(8)
//At M-step, calculate the formula below.
(9)
(10)
(11)
//# Client A: At M-step, calculate the formula below, the output parameter data is encrypted with partial homomorphic cryptographic algorithm paillier.
(12)
(13)
(14)
//# Client B: At M-step, calculate the formula below, the output parameter data is encrypted with partial homomorphic cryptographic algorithm paillier.