Et l'extraction de sous-graphe de densité détection communauté (sur)

Nous avons dit plus tôt la figure deuxième avantage est que les cliques, en vue duquel il est facile de former la structure des gangs, ces dernières années, les études de ce problème est volumineux papiers. Ce chapitre, nous les deux directions sont dérivées de ce numéro: Détection communautaire (détection communautaire) et l'exploitation minière sous-graphique de haute densité (Dense Mining sous-graphe) comme une explication pertinente.

Dans cet article, nous parlons des communautés de l'algorithme de détection de corrélation. Qu'est-ce que la tâche de détection de la communauté est-il? Par exemple, ci-dessous.

impression visuelle nous dit qu'il ya une structure communautaire dans cette figure:

Ainsi, à partir d'un chiffre donné, chacun des noeuds respectifs dans les communautés appelée tâche détecter la communauté. Une valeur de point de noter est que lorsque nous parlons de la communauté en général pour détecter lorsque les noeuds sont les mêmes états, sont du même type.

Cet article se concentrera sur trois des plus algorithme de détection de la communauté populaire Louvain, Lpa, Infomap Enfin, la détection de la communauté pour faire quelques explications supplémentaires.

algorithme Louvain

algorithme Louvain est un algorithme de détection basé sur la communauté de modularité, en raison de sa bonne efficacité et de la stabilité et populaire. Il existe également des versions en ligne sur la base implémentation open source de Spark GraphX.

La modularité (modularité)

Avec beaucoup d'algorithmes de classification non supervisée, comme des mesures est un facteur crucial, très souvent, nous ne devons définir cet indicateur, puis sélectionnez la méthode heuristique pour mettre à jour constamment optimiser cette valeur. Probablement le squelette d'un algorithme sortira. Bien sûr, une bonne mesure de la communauté pour répondre à la logique de base: un contact étroit au sein de la communauté, des liens intercommunautaires vaguement. En 2006, « structure Modularité et communautaire dans les réseaux » article, l'auteur donne la définition des Modularité de Newman comme suit:

m représente le nombre d'arêtes dans le graphe;

c représente une communauté;

Ec représente le nombre de côté communauté c;

Il représente degrés de la communauté et c noeud (y compris le degré de bord relié à d'autres communautés);

Vous pouvez faire pour comprendre cette formule simple,

Représentation de la situation actuelle, la probabilité de côté c généré dans la communauté.

Exprimé dans un boîtier idéal, tout degré donné de noeud i Ki, de noeuds i et j même côté aléatoire, la probabilité d'appartenance à la c latérale souhaitée de la communauté. Ensuite, sur la formule ci-dessus représente un nombre de bords connectés à la différence aléatoire dans le milieu désiré. Même le nombre d'arêtes attentes plus qu'aléatoire, meilleure est la division communautaire.

Par exemple, l'image ci-dessus:

Avec la définition ci-dessus du module comme litière, algorithme heuristique Louvain peut être de maximiser la valeur de Q.

étapes de l'algorithme Louvain

  • L'initialisation, chaque noeud du graphe comme une communauté séparée;
  • Pour chaque nud, à son tour, essayez d'affecter le noeud i à son nud voisin avant la communauté où l'allocation est calculée après la variation du module d'affectation Q et enregistrer la plus grande communauté Q, si Max Q > 0, le noeud attribué à la communauté;
  • La deuxième étape est répétée jusqu'à ce que tous les nuds ne fait plus partie aux changements de la communauté.
  • Nous voyons l'étape 2, est calculé en prenant le gain d'entropie maximale que la croissance de l'arbre comme, le nud i est supposé se déplacer à la communauté C;

    Le déplacement de la face avant du module

    Mouvement du module

    On peut voir uniquement avec les valeurs calculées Q i et le noeud communautaire c même côté pertinent, donc ce calcul est très rapide et plus facile à un traitement parallèle.

    Enfin, l'algorithme Louvain peut également être stratifié, l'algorithme détecte chaque Louvain sur le traitement de compression communautaire à un nouveau nud, recompose continuer à exécuter l'algorithme Louvain, de sorte que vous pouvez obtenir le label communautaire hiérarchique.

    LPA-étiquette de propagation algorithme

    LPA est un algorithme de propagation de motif d'algorithme très simple, qui est basé sur le noeud d'hypothèses empiriques comme le centre, un système de vote, très efficace.

    processus algorithmiques

  • L'initialisation, chaque noeud du graphe comme une communauté séparée;
  • Communauté étiquettes Bien que tous les nuds ne changent pas;
  • Les statistiques pour chaque communautés voisines noeud, apparaîtront plus à plusieurs reprises attribué aux nuds de la communauté, il y a beaucoup plus, si la plupart de la communauté au hasard apparaissent une communauté sélectionnent affectée au noeud.
  • L'algorithme lui-même est très simple, une mise en uvre distribuée est également très facile. Cependant, cet algorithme a un gros problème: En raison de la présence d'choisis au hasard, de sorte que l'algorithme est sujette à oscillation. Cependant, cet algorithme est très bas coûts de fonctionnement, utilisé pour faire référence, référence est également possible. En outre, le poids d'un graphe pondéré, considèrent également le mécanisme de vote avec des poids.

    algorithme Infomap

    Cet algorithme, l'équation de carte connue aussi, est une idée très claire de l'algorithme impair. Du point de vue de la théorie de l'information, en supposant un travailleur aléatoire marche aléatoire sur le graphique, alors comment une longueur minimale de codage pour exprimer ses sentiers? -À-dire, le bit moyenne la plus petite (minimiser bits par étape). Une règle de base est:

    Si le nud ne structure communautaire, puis Selon atteindre directement la probabilité de chaque nud, appelez l'équation d'entropie de Shannon, nous pouvons obtenir le bit moyen minimum théorique;

    S'il nud de la structure communautaire, les nuds au sein de la communauté peuvent être partagés bit code binaire communauté, ce qui correspond à son propre code avec moins de bits pour représenter, par rapport au cas sans la structure communautaire, peut être moins le binaire moyen;

    Le mieux la communauté est divisée, les bits nécessaires pour représenter plus la moyenne d'une marche aléatoire tout chemin.

    OK, maintenant le problème peut être transformé en la façon de quantifier le bit moyen Mathématiquement, si l'on mesure l'énergie de cette norme, alors l'algorithme entier est presque le même cadre juste en face de l'algorithme Louvain, en changeant les nuds des communautés divisées, à heuristically réduisant au minimum le bit moyen.

    Eh bien d'abord du regard de tous let au cas le plus simple, tous les noeuds sont pris en compte lors d'une communauté de la façon de quantifier le bit moyen?

    Depuis le noeud dans une communauté, de sorte que chaque étape de la marche aléatoire ne marche entre les nuds, il n'y a pas événement se produit à partir d'autres communautés, si nous pouvons calculer la probabilité d'arrivée de chaque nud, vous pouvez basé sur l'entropie de l'information un bit de quantification moyenne à la formule:

    Ici noeud p représente une probabilité d'arrivée de :

    Compte tenu d'une des cartes de poids dirigés, la probabilité d'atteindre le nud de la façon de le calculer?

    Une façon de la violence est une longue marche aléatoire sur le graphique, la dernière probabilité statistique d'occurrence de chaque noeud. Cette méthode est bien connue, mais dans des applications pratiques, si la carte est grande, il est difficile de travailler vers le haut.

    En fait, quand nous avons parlé du deuxième algorithme PageRank de chapitre, on a calculé cette valeur. nous passons en revue brièvement les plus faibles, les points du côté droit au noeud est supposé que le poids du noeud

    , Le noeud au noeud de probabilité de transition :

    La probabilité d'atteindre le noeud :

    Tant que nous avons initialisé après la probabilité d'arrivée de chaque noeud, il peut constamment base en alternance des deux équations ci-dessus à jour itérativement la probabilité d'arrivée de chaque nud, le résultat sera bientôt tendance à converger.

    Comme PageRank algorithme prend en compte les questions pièges et impasses araignée, vous devez sauter une probabilité aléatoire à travers la figure imaginaire, donc en fait atteindre la formule de mise à jour du nud de la probabilité de:

    est un paramètre super indique la probabilité d'occurrence du saut, et généralement 0,15.

    Un tel calcul Fin

    traitement normalisant, puis repris les formules ci-dessus entropie, peuvent être calculées théoriquement appartiennent à un peu moyenne minimum lorsque la communauté.

    Maintenant, nous regardons le cas général, un graphique en supposant est divisé en communauté m, de sorte que chaque étape pourrait être un cas des trois événements suivants: Allez à une communauté, hors d'une communauté, une communauté entre les nuds internes transférer. Maintenant, nous allons définir la probabilité de trois événements:

    Dans le milieu de la probabilité de transfert du noeud à noeud à :

    Je probabilité d'entrer dans une communauté:

    Sur une probabilité i communautaire:

    Avec la probabilité de trois événements définis ci-dessus, la formule d'entropie de l'information, nous pouvons calculer le même que le bit moyenne. Ci-dessous, nous donnons des formules sens direct et donne des explications concernant les paramètres:

    La figure divisé en communautés de m, les bits moyens pour le codage de trajet de marche aléatoire;

    Produire dans la communauté probabilité globale d'un tel événement;

    L'accès aux événements communautaires d'entropie de l'information;

    aléatoire probabilité des travailleurs au sein de l'i communautaire, y compris un saut ici et laisser la communauté dans la communauté deux types d'événements;

    travailleur au hasard prochain événement se produit dans l'entropie de l'information au sein de la communauté i;

    La formule ci-dessus est le noyau algorithme Infomap, l'équation de la carte également connu. Son essence est du point de vue de la théorie de l'information, une définition claire de la probabilité d'occurrence de divers événements, basé sur la formule d'entropie d'information, vous pouvez obtenir une moyenne de bits requis pour coder cette fois la.

    La figure ci-dessus est différent d'une valeur binaire moyen d'une division de temps, on peut voir, appartenir à une communauté, lorsque les bits moyens nécessaires pour coder 4.53 bits si, comme indiqué dans la partie inférieure gauche de la figure divisé en quatre communautés sur la figure de codage les bits moyens nécessaires besoins que 3.09bits. Il est à noter que, ici donné un code spécifique en fonction de la probabilité de chaque nud et de l'algorithme de codage de Huffman, Lorsque nous utilisons la Infomap réelle et ne requiert pas explicitement le codage de chaque type d'événements sur et doivent être introduits dans la formule pour calculer diverses probabilités peu moyenne, vous savez les bons et les mauvais effets de la division à ce moment.

    Infomap itération algorithme

  • Initialisation, chaque noeud est considéré comme une communauté distincte;
  • Alors que la valeur moyenne de bits diminue pas;
  • la figure noeuds dans une séquence d'échantillonnage aléatoire, selon l'ordre attribué à chaque noeud tentatives de noeuds voisins situés communauté, la chute de communauté moyenne bit maximale attribuée au noeud, voire diminué, la communauté de noeud inchangé .
  •  algorithme Infomap est un très bon algorithme, prend également en charge la division hiérarchique de la communauté, mais aussi trois algorithme unique qui prend en charge un graphe orienté, les auteurs ont également la version open source du C ++ code de mise en uvre:

     

    D'autres auteurs ont conçu une démo d'affichage dynamique:

     

    démo d'instructions:

    résumé

    A propos de l'algorithme de détection de la communauté, il a été décrit ci-dessus trois catégories. Louvain et Infomap qui algorithmes sont basés sur une répartition raisonnable de la mesure globale communautaire de l'heuristique d'optimisation en cours. Si le cluster est détecté de la communauté à regarder un angle, puis un paradigme de base a été caractérisé en ce que l'expression de chaque noeud, puis d'obtenir divers CLASSIFICATION algorithme de regroupement communautaire. Ici, le nud de fonction peut être obtenu à partir du graphique d'expression matrice laplacienne, une telle méthode est appelée méthode spectrale; vecteur d'expression pour chaque noeud peut tirer de la manière de l'intégration graphique, ces méthodes connexes nous suivront sections pertinentes expliquent.

    Transfert: https: //mp.weixin.qq.com/s/qUxMesQA-edSyHeudQRRGA

    30.000 personnes ont assisté à la bataille folle Bundesliga! 36 minutes bille 6 H 41 + signes fiche de fabrication d'un suspens ultime
    Précédent
    La Liga détruire brutalement mission! Cinq géants raté collective les six dernières années de la guerre en Europe l'acte de naissance de la honte
    Prochain
    Sun Li a parlé de la coopération, « Zhen Huan Biographie », jupes, chaussures à talons hauts à porter des vêtements avec 1,2 mètres de grandes jambes, puissant
    la fraude de contrôle des risques financiers des algorithmes de graphique
    Fou! Manchester United veut frapper 50 millions de saisir le numéro un beau melon proie 3ème coupe Hu Manchester City?
    mère biologique était fosse misérable, porte maintenant une chemise avec une combinaison de volants, fille de 37 ans dans une délicate
    Que ce soit le réseau de neurones profondeur a littéralement monté?
    Magique! L'exposition entraîneur Juve devrait prendre en charge l'entraîneur Barca a terminé avec Macy C Luo et se précipita la Ligue des Champions?
    Premiership grosse surprise! Manchester United est l'inverse du premier tirage au sort, complètement raté la Ligue des champions la saison prochaine
    Heilongjiang, Sichuan FC FC niveau à domicile de la première balle de l'aide étrangère la saison des récoltes de la bibliothèque Chu
    Son Heung-Min données reproduction gardes! Ligue des Champions 10 dernières années de l'arrivée spectaculaire de la reproduction figure joueurs sud-coréen
    Rappelez-vous il y a 16 ans, "Dae Jang Geum" il? Aujourd'hui âgé de 48 ans d'activités, comme le blanc de la neige et de la peau tendre
    Ligue des Champions 64 ans classique! Spurs générales dernière seconde chapeaux de retournement Lore Barcelone plus fou que Liverpool
    filles Rocket Xumeng Jie, pull lâche avec un pantalon denim demi, veau blanc doux à la déesse mince de beauté