SimRank - SimRank
SimRank je generál opatření podobnosti, založené na jednoduchém a intuitivním graficko-teoretický model.SimRank je použitelný ve všech doména s objektem na objekt vztahy, který měří podobnost strukturálního kontextu, ve kterém se objekty vyskytují, na základě jejich vztahů s jinými objekty. Účinně je SimRank měřítkem, které říká „dva objekty jsou považovány za podobné, pokud na ně odkazují podobné objekty„Ačkoli je SimRank široce přijímán, může vyprodukovat nepřiměřené skóre podobnosti, které je ovlivněno různými faktory a lze jej vyřešit několika způsoby, například zavedením faktoru důkazní váhy,[1] vkládání dalších výrazů, které SimRank zanedbává[2] nebo pomocí alternativ založených na PageRank.[3]
Úvod
Mnoho aplikace vyžadují míru „podobnosti“ mezi objekty. Jedním zjevným příkladem je dotaz „najít podobný dokument“ na tradiční textové korpusy nebo Celosvětová Síť Obecněji, a opatření podobnosti lze zvyknout klastrové objekty, například pro společné filtrování v doporučující systém, ve kterém jsou „podobní“ uživatelé a položky seskupeny podle preferencí uživatelů.
K určení podobnosti lze použít různé aspekty objektů, obvykle v závislosti na doméně a příslušné definici podobnosti pro danou doménu. korpus dokumentů lze použít odpovídající text a pro společné filtrování lze podobné uživatele identifikovat podle společných předvoleb. SimRank je obecný přístup, který využívá vztahy mezi objekty v mnoha doménách, které nás zajímají. Web například dvě stránky spolu souvisejí, pokud existují hypertextové odkazy Podobný přístup lze uplatnit na vědecké práce a jejich citace nebo na jakýkoli jiný korpus dokumentu s křížový odkaz V případě doporučovacích systémů představuje preference uživatele pro položku vztah mezi uživatelem a položkou. Tyto domény jsou přirozeně modelovány jako grafy, s uzly představující objekty a hrany představující vztahy.
Intuice za algoritmem SimRank spočívá v tom, že v mnoha doménách podobné objekty jsou odkazovány podobnými objektyPřesněji řečeno, objekty a jsou považovány za podobné, pokud jsou namířeny z předmětů a , respektive, a a jsou si podobní základní případ je to, že objekty jsou si maximálně podobné.[4]
Je důležité si uvědomit, že SimRank je obecný algoritmus, který určuje pouze podobnost strukturálního kontextu. SimRank se vztahuje na jakoukoli doménu, kde existuje dostatek relevantních vztahů mezi objekty, aby založila alespoň určitou představu o podobnosti na vztazích. - důležité jsou také specifické aspekty; tyto mohou - a měly by být kombinovány s relační strukturálně-kontextovou podobností pro celkovou míru podobnosti. Například pro webové stránky SimRank lze kombinovat s tradiční textovou podobností; stejná myšlenka platí pro vědecké práce nebo jiné korpusy dokumentů. U doporučovacích systémů mohou existovat zabudované známé podobnosti mezi položkami (např. oba počítače, oba oděvy atd.), jakož i podobnosti mezi uživateli (např. stejné pohlaví , stejná úroveň výdajů). Tyto podobnosti lze znovu kombinovat se skóre podobnosti, která se počítají na základě vzorů preferencí, aby se vytvořilo celkové měřítko podobnosti.
Základní rovnice SimRank
Pro uzel v orientovaném grafu označíme a soubor sousedních a odchozích sousedů Jednotliví sousedé jsou označováni jako , pro a jednotliví sousedé jsou označováni jako , pro .
Označme podobnost mezi objekty a podle . V návaznosti na dřívější motivaci je napsána rekurzivní rovnice .Li pak je definován jako .V opačném případě,
kde je konstanta mezi a .Malá techničnost je zde také to nebo nemusí mít žádné sousedy. Protože neexistuje způsob, jak odvodit jakoukoli podobnost mezi nimi a v tomto případě je podobnost nastavena na , takže součet ve výše uvedené rovnici je definován jako když nebo .
Maticová reprezentace SimRank
Nechat být matice podobnosti, jejíž vstup označuje skóre podobnosti , a být sloupec normalizovaná matice sousedství, jejíž záznam pokud existuje hrana z na , a 0 jinak. Pak lze v maticových notacích formulovat SimRank jako
kde je matice identity.
Výpočet SimRank
Řešení rovnic SimRank pro graf lze dosáhnout opakování do a pevný bod.Nechat být počet uzlů v Pro každou iteraci , můžeme si nechat záznamů , kde dává skóre mezi a na iteraci Postupně počítáme na základě Začínáme s kde každý je dolní mez skutečného skóre SimRank :