Knowledge

Affinity propagation

Source 📝

270:) is particularly important, as it represents the instance preference, meaning how likely a particular instance is to become an exemplar. When it is set to the same value for all inputs, it controls how many classes the algorithm produces. A value close to the minimum possible similarity produces fewer classes, while a value close to or larger than the maximum possible similarity produces many classes. It is typically initialized to the median similarity of all pairs of inputs. 788:
Iterations are performed until either the cluster boundaries remain unchanged over a number of iterations, or some predetermined number (of iterations) is reached. The exemplars are extracted from the final matrices as those whose 'responsibility + availability' for themselves is positive (i.e.
683: 515: 783: 522: 225: 893:
applications. Another recent application was in economics, when the affinity propagation was used to find some temporal patterns in the output multipliers of the US economy between 1997 and 2017.
855: 268: 379: 1146:"Application of multivariate analysis as complementary instrument in studies about structural changes: An example of the multipliers in the US economy" 688: 1197: 49:, affinity propagation does not require the number of clusters to be determined or estimated before running the algorithm. Similar to 1099:
Renchu Guan; Xiaohu Shi; Maurizio Marchese; Chen Yang; Yanchun Liang (2011). "Text Clustering with Seeds Affinity Propagation".
678:{\displaystyle a(i,k)\gets \min {\left(0,r(k,k)+\sum _{i'\not \in \{i,k\}}\max(0,r(i',k))\right)}\quad {\text{ for }}i\neq k} 149: 921: 914: 878: 903: 889:
partitioning found Markov clustering to work better for that problem. A semi-supervised variant has been proposed for
53:-medoids, affinity propagation finds "exemplars," members of the input set that are representative of clusters. 932: 886: 981: 792: 866: 1145: 973: 986: 273:
The algorithm proceeds by alternating between two message-passing steps, which update two matrices:
35:
based on the concept of "message passing" between data points. Unlike clustering algorithms such as
1050:"Markov clustering versus affinity propagation for the partitioning of protein interaction graphs" 1173: 1126: 1007: 36: 917:
implementation of affinity propagation is contained in Julia Statistics's Clustering.jl package.
1165: 1081: 999: 964: 882: 869:
tasks, e.g. clustering of pictures of human faces and identifying regulated transcripts, than
131:. For this example, the negative squared distance of two data points was used i.e. for points 962:
Brendan J. Frey; Delbert Dueck (2007). "Clustering by passing messages between data points".
1157: 1116: 1108: 1071: 1061: 1030: 991: 238: 32: 865:
The inventors of affinity propagation showed it is better for certain computer vision and
369: 77:
be a set of data points, with no assumptions made about their internal structure, and let
977: 1076: 1049: 108: 1191: 1177: 1130: 1011: 925: 510:{\displaystyle r(i,k)\gets s(i,k)-\max _{k'\neq k}{\left\{a(i,k')+s(i,k')\right\}}} 1161: 1144:
Almeida, Lucas Milanez de Lima; Balanco, Paulo Antonio de Freitas (2020-06-01).
890: 24: 81:
be a function that quantifies the similarity between any two points, such that
1034: 20: 1169: 1066: 995: 43: 1085: 1003: 1112: 1121: 372:
tables. The algorithm then performs the following updates iteratively:
1027:
Non-metric affinity propagation for unsupervised image categorization
368:
Both matrices are initialized to all zeroes, and can be viewed as
357:
as its exemplar, taking into account other points' preference for
778:{\displaystyle a(k,k)\leftarrow \sum _{i'\neq k}\max(0,r(i',k)).} 907: 877:-means was allowed many random restarts and initialized using 935:
implementation is available in the "apcluster" package.
220:{\displaystyle s(i,k)=-\left\|x_{i}-x_{k}\right\|^{2}} 795: 691: 525: 382: 241: 152: 1101:
IEEE Transactions on Knowledge and Data Engineering
849: 777: 677: 509: 262: 219: 343:that represent how "appropriate" it would be for 734: 616: 547: 426: 376:First, responsibility updates are sent around: 881:. A study comparing affinity propagation and 8: 611: 599: 312:, relative to other candidate exemplars for 1120: 1075: 1065: 985: 957: 955: 953: 951: 949: 794: 717: 690: 661: 587: 550: 524: 446: 429: 381: 240: 211: 200: 187: 151: 1150:Structural Change and Economic Dynamics 1048:James Vlasblom; Shoshana Wodak (2009). 1025:Delbert Dueck; Brendan J. Frey (2007). 945: 7: 850:{\displaystyle (r(i,i)+a(i,i))>0} 1029:. Int'l Conf. on Computer Vision. 906:implementation is included in the 519:Then, availability is updated per 14: 305:is to serve as the exemplar for 660: 838: 835: 823: 814: 802: 796: 769: 766: 749: 737: 710: 707: 695: 651: 648: 631: 619: 577: 565: 544: 541: 529: 498: 481: 472: 455: 419: 407: 401: 398: 386: 298:that quantify how well-suited 257: 245: 207: 179: 168: 156: 1: 1162:10.1016/j.strueco.2020.02.006 277:The "responsibility" matrix 1198:Cluster analysis algorithms 1214: 322:The "availability" matrix 1035:10.1109/ICCV.2007.4408853 887:protein interaction graph 16:Algorithm in data mining 1067:10.1186/1471-2105-10-99 996:10.1126/science.1136800 924:version is part of the 910:data mining framework. 851: 779: 679: 511: 264: 263:{\displaystyle s(i,i)} 221: 1113:10.1109/tkde.2010.144 867:computational biology 852: 780: 680: 512: 265: 222: 793: 689: 523: 380: 239: 150: 33:clustering algorithm 29:affinity propagation 978:2007Sci...315..972F 117:is more similar to 1054:BMC Bioinformatics 873:-means, even when 847: 775: 733: 675: 615: 507: 445: 260: 217: 972:(5814): 972–976. 883:Markov clustering 713: 664: 583: 425: 1205: 1182: 1181: 1141: 1135: 1134: 1124: 1096: 1090: 1089: 1079: 1069: 1045: 1039: 1038: 1022: 1016: 1015: 989: 959: 876: 872: 856: 854: 853: 848: 784: 782: 781: 776: 759: 732: 725: 684: 682: 681: 676: 665: 662: 659: 658: 654: 641: 614: 595: 516: 514: 513: 508: 506: 505: 501: 497: 471: 444: 437: 363: 356: 349: 342: 328:contains values 327: 318: 311: 304: 297: 282: 269: 267: 266: 261: 234: 231:The diagonal of 228: 226: 224: 223: 218: 216: 215: 210: 206: 205: 204: 192: 191: 144: 137: 130: 123: 116: 107: 80: 76: 69: 52: 46: 39: 1213: 1212: 1208: 1207: 1206: 1204: 1203: 1202: 1188: 1187: 1186: 1185: 1143: 1142: 1138: 1098: 1097: 1093: 1047: 1046: 1042: 1024: 1023: 1019: 987:10.1.1.121.3145 961: 960: 947: 942: 899: 874: 870: 863: 791: 790: 752: 718: 687: 686: 663: for  634: 588: 555: 551: 521: 520: 490: 464: 451: 447: 430: 378: 377: 370:log-probability 364:as an exemplar. 362: 358: 355: 351: 348: 344: 329: 323: 317: 313: 310: 306: 303: 299: 284: 278: 237: 236: 232: 196: 183: 182: 178: 177: 148: 147: 146: 143: 139: 136: 132: 129: 125: 122: 118: 115: 111: 82: 78: 75: 71: 68: 62: 59: 50: 44: 37: 17: 12: 11: 5: 1211: 1209: 1201: 1200: 1190: 1189: 1184: 1183: 1136: 1107:(4): 627–637. 1091: 1040: 1017: 944: 943: 941: 938: 937: 936: 929: 918: 911: 898: 895: 862: 859: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 813: 810: 807: 804: 801: 798: 786: 785: 774: 771: 768: 765: 762: 758: 755: 751: 748: 745: 742: 739: 736: 731: 728: 724: 721: 716: 712: 709: 706: 703: 700: 697: 694: 674: 671: 668: 657: 653: 650: 647: 644: 640: 637: 633: 630: 627: 624: 621: 618: 613: 610: 607: 604: 601: 598: 594: 591: 586: 582: 579: 576: 573: 570: 567: 564: 561: 558: 554: 549: 546: 543: 540: 537: 534: 531: 528: 517: 504: 500: 496: 493: 489: 486: 483: 480: 477: 474: 470: 467: 463: 460: 457: 454: 450: 443: 440: 436: 433: 428: 424: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 366: 365: 360: 353: 346: 320: 315: 308: 301: 259: 256: 253: 250: 247: 244: 214: 209: 203: 199: 195: 190: 186: 181: 176: 173: 170: 167: 164: 161: 158: 155: 141: 134: 127: 120: 113: 109:if and only if 73: 66: 58: 55: 15: 13: 10: 9: 6: 4: 3: 2: 1210: 1199: 1196: 1195: 1193: 1179: 1175: 1171: 1167: 1163: 1159: 1155: 1151: 1147: 1140: 1137: 1132: 1128: 1123: 1118: 1114: 1110: 1106: 1102: 1095: 1092: 1087: 1083: 1078: 1073: 1068: 1063: 1059: 1055: 1051: 1044: 1041: 1036: 1032: 1028: 1021: 1018: 1013: 1009: 1005: 1001: 997: 993: 988: 983: 979: 975: 971: 967: 966: 958: 956: 954: 952: 950: 946: 939: 934: 930: 927: 923: 919: 916: 912: 909: 905: 901: 900: 896: 894: 892: 888: 884: 880: 868: 860: 858: 844: 841: 832: 829: 826: 820: 817: 811: 808: 805: 799: 772: 763: 760: 756: 753: 746: 743: 740: 729: 726: 722: 719: 714: 704: 701: 698: 692: 672: 669: 666: 655: 645: 642: 638: 635: 628: 625: 622: 608: 605: 602: 596: 592: 589: 584: 580: 574: 571: 568: 562: 559: 556: 552: 538: 535: 532: 526: 518: 502: 494: 491: 487: 484: 478: 475: 468: 465: 461: 458: 452: 448: 441: 438: 434: 431: 422: 416: 413: 410: 404: 395: 392: 389: 383: 375: 374: 373: 371: 340: 336: 332: 326: 321: 295: 291: 287: 281: 276: 275: 274: 271: 254: 251: 248: 242: 229: 212: 201: 197: 193: 188: 184: 174: 171: 165: 162: 159: 153: 110: 105: 101: 97: 93: 89: 85: 65: 56: 54: 48: 41: 34: 30: 26: 22: 1153: 1149: 1139: 1104: 1100: 1094: 1057: 1053: 1043: 1026: 1020: 969: 963: 926:scikit-learn 864: 861:Applications 787: 367: 338: 334: 330: 324: 293: 289: 285: 279: 272: 230: 103: 99: 95: 91: 87: 83: 63: 60: 28: 18: 1156:: 189–207. 1122:11572/89884 891:text mining 283:has values 25:data mining 940:References 31:(AP) is a 21:statistics 1178:216406772 1170:0954-349X 1060:(1): 99. 982:CiteSeerX 727:≠ 715:∑ 711:← 670:≠ 585:∑ 545:← 439:≠ 423:− 402:← 194:− 175:− 57:Algorithm 1192:Category 1131:14053903 1086:19331680 1004:17218491 928:library. 897:Software 757:′ 723:′ 639:′ 597:∉ 593:′ 495:′ 469:′ 435:′ 350:to pick 208:‖ 180:‖ 124:than to 70:through 47:-medoids 1077:2682798 1012:6502291 974:Bibcode 965:Science 94:) > 1176:  1168:  1129:  1084:  1074:  1010:  1002:  984:  922:Python 235:(i.e. 40:-means 1174:S2CID 1127:S2CID 1008:S2CID 915:Julia 1166:ISSN 1082:PMID 1000:PMID 908:ELKI 904:Java 842:> 685:and 138:and 61:Let 23:and 1158:doi 1117:hdl 1109:doi 1072:PMC 1062:doi 1031:doi 992:doi 970:315 931:An 885:on 879:PCA 857:). 735:max 617:max 548:min 427:max 42:or 19:In 1194:: 1172:. 1164:. 1154:53 1152:. 1148:. 1125:. 1115:. 1105:23 1103:. 1080:. 1070:. 1058:10 1056:. 1052:. 1006:. 998:. 990:. 980:. 968:. 948:^ 920:A 913:A 902:A 337:, 292:, 145:, 102:, 90:, 27:, 1180:. 1160:: 1133:. 1119:: 1111:: 1088:. 1064:: 1037:. 1033:: 1014:. 994:: 976:: 933:R 875:k 871:k 845:0 839:) 836:) 833:i 830:, 827:i 824:( 821:a 818:+ 815:) 812:i 809:, 806:i 803:( 800:r 797:( 773:. 770:) 767:) 764:k 761:, 754:i 750:( 747:r 744:, 741:0 738:( 730:k 720:i 708:) 705:k 702:, 699:k 696:( 693:a 673:k 667:i 656:) 652:) 649:) 646:k 643:, 636:i 632:( 629:r 626:, 623:0 620:( 612:} 609:k 606:, 603:i 600:{ 590:i 581:+ 578:) 575:k 572:, 569:k 566:( 563:r 560:, 557:0 553:( 542:) 539:k 536:, 533:i 530:( 527:a 503:} 499:) 492:k 488:, 485:i 482:( 479:s 476:+ 473:) 466:k 462:, 459:i 456:( 453:a 449:{ 442:k 432:k 420:) 417:k 414:, 411:i 408:( 405:s 399:) 396:k 393:, 390:i 387:( 384:r 361:k 359:x 354:k 352:x 347:i 345:x 341:) 339:k 335:i 333:( 331:a 325:A 319:. 316:i 314:x 309:i 307:x 302:k 300:x 296:) 294:k 290:i 288:( 286:r 280:R 258:) 255:i 252:, 249:i 246:( 243:s 233:s 227:. 213:2 202:k 198:x 189:i 185:x 172:= 169:) 166:k 163:, 160:i 157:( 154:s 142:k 140:x 135:i 133:x 128:k 126:x 121:j 119:x 114:i 112:x 106:) 104:k 100:i 98:( 96:s 92:j 88:i 86:( 84:s 79:s 74:n 72:x 67:1 64:x 51:k 45:k 38:k

Index

statistics
data mining
clustering algorithm
k-means
k-medoids
if and only if
log-probability
computational biology
PCA
Markov clustering
protein interaction graph
text mining
Java
ELKI
Julia
Python
scikit-learn
R





Science
Bibcode
2007Sci...315..972F
CiteSeerX
10.1.1.121.3145
doi
10.1126/science.1136800

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.