Medoid - Medoid

Medoidele sunt obiecte reprezentative ale unui set de date sau al unui cluster dintr-un set de date a căror sumă de diferențe față de toate obiectele din cluster este minimă. Medoidele sunt similare în concepție cu mijloacele sau centroizii , dar medoidele sunt întotdeauna restricționate să fie membre ale setului de date. Medoidele sunt cel mai frecvent utilizate pe date atunci când nu se poate defini o medie sau un centroid, cum ar fi graficele. Ele sunt, de asemenea, utilizate în contexte în care centroidul nu este reprezentativ pentru setul de date, cum ar fi în imagini și traiectorii 3D și expresia genelor (în timp ce datele sunt rare, medoidul nu trebuie să fie). Acestea sunt, de asemenea, de interes, în timp ce doresc să găsească un reprezentant folosind o altă distanță decât distanța euclidiană pătrată (de exemplu, în evaluările filmelor).

Pentru unele seturi de date poate exista mai mult de un medoid, ca și în cazul medianelor. O aplicație obișnuită a medoidului este algoritmul de grupare k-medoid , care este similar cu algoritmul k-mijloace , dar funcționează atunci când o medie sau un centru nu este definibil. Acest algoritm funcționează practic după cum urmează. În primul rând, un set de medoizi este ales la întâmplare. În al doilea rând, se calculează distanțele față de celelalte puncte. În al treilea rând, datele sunt grupate în funcție de medoidul cu care sunt cele mai asemănătoare. În al patrulea rând, setul medoid este optimizat printr-un proces iterativ.

Rețineți că un medoid nu este echivalent cu o mediană , o mediană geometrică sau un centroid . O mediană este definită numai pe date unidimensionale și minimizează diferențierea față de alte puncte pentru metricele induse de o normă (cum ar fi distanța Manhattan sau distanța euclidiană ). O mediană geometrică este definită în orice dimensiune, dar nu este neapărat un punct din setul de date original.

Definiție

Fie un set de puncte dintr-un spațiu cu funcția de distanță d. Medoidul este definit ca

Algoritmi pentru calcularea medoizilor

Din definiția de mai sus, este clar că medoidul poate fi calculat după calcularea tuturor distanțelor perechi între punctele din ansamblu. Acest lucru ar necesita evaluări la distanță. În cel mai rău caz, nu se poate calcula medoidul cu mai puține evaluări la distanță. Cu toate acestea, există multe abordări care ne permit să calculăm medoizii fie exact, fie aproximativ în timp subcadratic sub diferite modele statistice.

Dacă punctele se află pe linia reală, calculul medoidului se reduce la calculul medianei care poate fi realizat prin algoritmul de selectare rapidă al lui Hoare. Cu toate acestea, în spații reale cu dimensiuni superioare, nu se cunoaște niciun algoritm în timp liniar. RAND este un algoritm care estimează distanța medie a fiecărui punct la toate celelalte puncte prin eșantionarea unui subset aleatoriu de alte puncte. Este nevoie de un număr total de calcule ale distanței pentru a aproxima medoidul într-un factor cu probabilitate mare, unde este distanța maximă dintre două puncte din ansamblu. Rețineți că RAND este un algoritm de aproximare și, în plus, este posibil să nu fie cunoscut în apriori.

RAND a fost valorificat de TOPRANK, care folosește estimările obținute de RAND pentru a se concentra pe un subset mic de puncte candidate, evaluează exact distanța medie a acestor puncte și alege minimul dintre acestea. TOPRANK are nevoie de calcule la distanță pentru a găsi medoidul exact cu probabilitate mare sub o presupunere de distribuție a distanțelor medii.

trimed prezintă un algoritm pentru a găsi medoidul cu evaluări de distanță sub o ipoteză de distribuție pe puncte. Algoritmul folosește inegalitatea triunghiului pentru a reduce spațiul de căutare.

Meddit folosește o conexiune a calculului medoid cu bandiți multi-înarmați și folosește un tip de algoritm de încredere superioară pentru a obține un algoritm care efectuează evaluări de distanță în conformitate cu ipotezele statistice ale punctelor.

Înjumătățirea secvențială corelată folosește, de asemenea, tehnici de bandiți multi-armate, îmbunătățind Meddit . Prin exploatarea structurii de corelație din problemă, algoritmul este capabil să obțină o îmbunătățire drastică (de obicei în jur de 1-2 ordine de mărime) atât în ​​numărul de calcule de distanță necesare, cât și în timpul ceasului de perete.

Implementări

O implementare a RAND , TOPRANK și trimed poate fi găsită aici . O implementare a Meddit poate fi găsită aici și aici . O implementare a înjumătățirii secvențiale corelate poate fi găsită aici .

Vezi si

Referințe

  1. ^ Struyf, Anja; Hubert, Mia ; Rousseeuw, Peter (1997). „Clustering într-un mediu orientat pe obiecte” . Journal of Statistical Software . 1 (4): 1-30.
  2. ^ van der Laan, Mark J .; Pollard, Katherine S .; Bryan, Jennifer (2003). „O nouă partiționare în jurul algoritmului Medoids” . Journal of Statistic Computation and Simulation . Taylor & Francis Group. 73 (8): 575-584. doi : 10.1080 / 0094965031000136012 . S2CID  17437463 .
  3. ^ a b Newling, James; & Fleuret, François (2016); „Un algoritm medoid exact subcadratic”, în Proceedings of the 20th International Conference on Artificial Intelligence and Statistics , PMLR 54: 185-193, 2017 Disponibil online .
  4. ^ a b Bagaria, Vivek; Kamath, Govinda M .; Ntranos, Vasilis; Zhang, Martin J .; & Tse, David N. (2017); „Medoizi în timp aproape liniar prin bandiți cu mai multe brațe”, preimprimare arXiv Disponibil online .
  5. ^ Hoare, Charles Antony Richard (1961); „Algoritmul 65: găsiți”, în Comunicări ale ACM , 4 (7), 321-322
  6. ^ Eppstein, David ; & Wang, Joseph (2006); „Aproximare rapidă a centralității”, în Graph Algorithms and Applications , 5 , pp. 39-45
  7. ^ Okamoto, Kazuya; Chen, Wei; & Li, Xiang-Yang (2008); „Clasarea centralității apropierii pentru rețelele sociale la scară largă” , în Preparata, Franco P .; Wu, Xiaodong; Yin, Jianping (eds.); Atelierul Frontiere în Algoritmică 2008 , Note de curs în Informatică , 5059 , 186-195
  8. ^ Baharav, Tavor Z .; & Tse, David N. (2019); „Identificare medoidă ultra rapidă prin înjumătățire secvențială corelată”, în Progresele sistemelor de procesare a informațiilor neuronale , disponibil online