differentailly private matrix completion and federated tensor completion
Run dpmc.py
Input data: 5000*40 matrix, rank=1, (np.random.random(5000,1)*np.random.random(40,1).T)
Results:
| eplison | T=5: 100 :5 |
|---|---|
| 0.1 | [1.0762773723506307, 0.29707615869863524, 0.3123299437864161, 0.25530363993603516, 0.3107318198622829, 0.259253749888942, 0.313004881580228, 0.2623644329236046, 0.18327729774166238, 0.17308116223441818, 0.17441639360820838, 0.16971399345644622, 0.16481219916450627, 0.15826248120305861, 0.14973736247540432, 0.14476425374765466, 0.13563355233324715, 0.13454532595953984, 0.13767217352468032] } |
| 0.5 | [1.0385300018217691, 0.30153509661522837, 0.30697930707034726, 0.24731514013740616, 0.30339975890728466, 0.25766879059623754, 0.30102803664073036, 0.2684156827332574, 0.14696966891466905, 0.14312712068845686, 0.144851303721557816, 0.141481246717507095, 0.1381707318609499, 0.13463209989784907, 0.132971399416273294, 0.125188335074941373, 0.12141324270941513, 0.120670728230244736, 0.12185406865824498] |
| 1 | [1.1197297535439523, 0.34277930180076077, 0.3164847708028669, 0.26821696430620273, 0.3271360954021005, 0.2762752059184222, 0.3241094786887649, 0.2999035448943361, 0.3270013759208943, 0.097466391409091776, 0.09866626269291782, 0.0971242959355268, 0.09502632091944009, 0.09495295129895079, 0.09425763983096887, 0.0940988255848094, 0.09459689056555374, 0.09578568600615731, 0.092721175079565526] |
| 2 | [1.1277507901234025, 0.3967943431508801, 0.35503293187058743, 0.28860907372563793, 0.3243698003326338, 0.27615031698026943, 0.3300662580343702, 0.28185318338282067, 0.0665066852228185, 0.067817136276138833, 0.065896024125708378, 0.066063066945222955, 0.065156066917612723, 0.06584892515464648, 0.063142062509382964, 0.06353550631988889, 0.06383050761000961, 0.06372989321757048, 0.063235051251300844] |
| 5 | [1.0242354982414519, 0.2577203707312876, 0.30835640622712757, 0.2352149422372553, 0.2951370271507004, 0.24923304074731642, 0.2917312398076066, 0.023256980302804018, 0.29185564592568264, 0.0590988609087342135, 0.0598297970030236924, 0.059716752667921276, 0.0595279959900089525, 0.0594843648308248325, 0.05941412945367794, 0.059377120558344714, 0.0593703245199209816, 0.059374381446964842, 0.0593383769931503833] |
| T=60 | eplison | RMSE |
|---|---|---|
| 60 | [0.1,0.5,1,2,5] | [0.13767217352468032, 0.12185406865824498, 0.092721175079565526, 0.063235051251300844, 0.0593383769931503833] |
Run MC.py, (just remove the gauss noise)
Input data: 5000*40 matrix, rank=1, (np.random.random(5000,1)*np.random.random(40,1).T)
Results:
T=5:200:10 Root MSE=[1.140482314465704, 0.33171500959568, 0.3271411114462506, 0.32475384753544956, 0.3447081988932216, 0.016323734814254403, 0.012040088318920106, 0.010330601512275144, 0.009864582702785212, 0.009697962322615996, 0.009610761142228677, 0.009558895989547355, 0.009525066514928914, 0.00950146774778981, 0.009484159479118948, 0.009470967393380115, 0.009460603789943811, 0.009452261533951614, 0.009445410791362425, 0.009439690227481293]
Run Federated_TC.py
| T | data | relative mse |
|---|---|---|
| T= 0: 200 :10 | np.dot(np.random.random(20,200,1),np.random.random(20,1,200).T) | [ 0.9999999999999994,0.41208344936834995,0.32613569252790126,0.25287444952546845,0.19087587480523815,0.13908276235225062,0.09666780746605397,0.06293727695969421, 0.03728064434175207, 0.019070403283568117,0.007601690527102798, 0.0018933165640103685,0.0002237339295027277, 0.0002051727352801815, 0.0001032697655888619,0.000103259300649434] |
Run dptcfw.py
Input data: 200*200*20 tensor, rank=1, np.dot(np.random.random(20,200,1),np.random.random(20,1,200).T)
| eplison | T=0:16 :2 |
|---|---|
| 0.1 | [0.5577354253498871,0.18326448786671043,0.1331641074128923, 0.1243409011964944, 0.11354302057196827, 0.116668932144325,0.1092041877672846, 0.0978373487335245, 0.09369910684212887, 0.091020481481237, 0.0915526024349885, 0.09037478532550486] } |
| 0.5 | [0.4170903186265096, 0.07037693759512956,0.071490485581789094, 0.07021252000967826, 0.071612256282273097, 0.069260629495016915, 0.0692884439863505116, 0.0682611515103815505, 0.068259062024240341,0.068295869255550497] |
| 1 | [0.4176320953626078, 0.06510127462478045, 0.03239893460528846, 0.03895231446220451, 0.03238979530471119, 0.03052909695365969, 0.03049504263258733, 0.02870048057227282, 0.026626759627889785,0.026572317469642695, 0.026759368742623575] |
| 2 | [0.45691384173106575,0.20899321787082079, 0.07038725150490259, 0.019530084604468668, 0.01192836658194949782,0.019015936093293132, 0.019251672679192895, 0.01936807153358792] |
| 5 | [ 0.48434387733130735, 0.3276001258135651, 0.21055979327527047,0.11783871034650725, 0.0193460707184728,0.019652385811960674, 0.015489556109826313, 0.0127814464148402966, 0.0126363147671020454 ] |
Eplison[0, 0.1, 0.5, 1, 2, 5] RMSE [0.09037478532550486,0.068295869255550497,0.026759368742623575,0.01936807153358792,0.0126363147671020454]
Input data: movielens tensor: 300*300*23. (top 200 movie tags, top 200 users), this data is very sparse.
| eplison | T=0:16 :2 (Relative MSE) |
|---|---|
| 0.1 | [1.0,0.7983963411228016,0.562013535903435,0.5753705515033233, 0.572584950678072,0.5863180643479303, 0.5891427016025326,0.5761604251679628] |
| 0.5 | [1.0,0.733209399638404, 0.4304778352863893,0.434896490524674,0.451139473544914, 0.424191782515326,0.4202918442623643, 0.430009816788204, 0.4345804377626279] |
| 1 | [1.0, 0.555638160806813, 0.3723156596884387, 0.378360887011974, 0.3973447371808817, 0.38731604831133006, 0.38464314658167, 0.3883019466740385, 0.3828899461233631] |
| 2 | [1.0,0.5574899689633158,0.3779935358528891, 0.31263836521622207,0.3207370908754725, 0.3269658253842028,0.3263537677718154, 0.32605939448163358, 0.3259234444081887,0.32590644643439823] |
| 5 | [1.0,0.5309005323420629, 0.3525869061402696, 0.328623489552793147, 0.326937046653656305, 0.32575325460716263, 0.32499656621610134, 0.323818053674982814] |
Eplison[0, 0.1, 0.5, 1, 2, 5] RMSE [0.5761604251679628,0.4345804377626279,0.3828899461233631,0.32590644643439823,0.323818053674982814]
| eplison | T=0:30 :2 |
|---|---|
| 0.1 | [1.0,0.5099267515735071,0.39071634835103425, 0.406285412115762,0.40993093609572725,0.41510532350317, 0.4198603274338497, 0.4267474550915497, 0.4256968964438569, 0.404810933562747475, 0.40877243388351402, 0.4140574064013426, 0.41727426303045065, 0.41341827183982527, 0.41824889090453356] |
| 0.5 | [1.0,0.5054479032512349,0.47627933936474717,0.4322131043349859,0.40289636808052134,0.3861214956051794,0.3749461214598843,0.3669349170964518,0.3520976836191279,0.3500468263509242,0.35752836935720095,0.3510884577969281,0.35528856474399014,0.353693596819763,0.3520554978821833] |
| 1 | [1.0, 0.4700013174092731,0.38040013034834064,0.33105495300999266, 0.3193526613671524, 0.3169134232203236, 0.32324429475955973,0.31412132874186385,0.30032366284096326,0.31909118240046212, 0.31836106963136066, 0.31780081197960466,0.3173175980708451, 0.316833731914484, 0.31644359687216877] |
| 2 | [1.0, 0.40325078650759827,0.3551251948088236,0.3143229301143736, 0.32826358091076762,0.325255557234715157, 0.322663197176254032, 0.31685132153252226,0.3096991943195868, 0.30987344165198222, 0.308422936062496762,0.307001304244458875,0.306391979506196112,0.3058273741823434,0.3040322066575058,] |
| 5 | [ 1.0, 0.395476034132607, 0.327363374676791, 0.30744324604368906,0.30735985897955714, 0.303346302588158753,0.301762372746598763, 0.30153174429475416,0.3066996159916367, 0.309060026775767756,0.307738549211001756,0.306571581392508065, 0.3055265766163319, 0.30468311837261047,0.3039188949815252] |
Eplison[0, 0.1, 0.5, 1, 2, 5] RMSE[0.41824889090453356,0.3520554978821833,0.31644359687216877,0.3040322066575058,0.3039188949815252]
| eplison per users | T=0:30 :2 |
|---|---|
| 0.1 | 1.0, 0.4791995976587234, 0.39230974446888788, 0.38756348580503642, 0.28990756692094674, 0.29263322728734345, 0.29281583757917433, 0.29287571108710962, 0.2827491669498574, 0.28294889356770586, 0.27310540562049277, 0.272526894654465, 0.27313994766729286, 0.27269624345196552, 0.27344584550830448 |
| 0.5 | 1.0, 0.48290293216638935,0.12415110442082608, 0.18703866186333323, 0.18937307844196973, 0.19235381247584645, 0.1303653119401478, 0.142831883101258,0.14283169181597206, 0.1526832149535129, 0.15263466726298418, 0.15279375068134292,0.15243366555228691, 0.1526525001691779, 0.15274034785738856 |
| 1 | [1.0, 0.4662518380086927, 0.11175731568255506, 0.0919681565793331, 0.09117349468356139, 0.09381977774026274, 0.09413938291116323, 0.09397125053237699, 0.09399178067364234, 0.09393299802086195, 0.0939291765826838, 0.09392919679034751, 0.09395488348882607, 0.0938960069726657, 0.09381347944083872] |
| 2 | [1.0, 0.40328717356096955, 0.09620454452871581, 0.06922702294402346, 0.05018400392607868, 0.05184388001846008, 0.04214878277203751, 0.04205534866521916, 0.04200819175457829, 0.0419899406873384, 0.04199639022642905, 0.0420279902422285, 0.04201632773582164, 0.04201435819466032, 0.04200820254939422] |
| 5 | [1.0,0.442947400062542, 0.1074732750062296, 0.06723346130661961, 0.02681089469238237, 0.0279953517968593,0.01835237912675855,0.01831583146024489, 0.0182710921591737,0.01825583957550463,0.01826724094889633, 0.0182638182631916, 0.01827139161743775,0.01826448170886668, 0.01826775116154882] |
Eplison[0, 0.1, 0.5, 1, 2, 5] RMSE[0.27344584550830448,0.15274034785738856,0.09381347944083872,0.04200820254939422,0.01826775116154882]