Mostrando entradas con la etiqueta algoritmo. Mostrar todas las entradas
Mostrando entradas con la etiqueta algoritmo. Mostrar todas las entradas

jueves, 21 de noviembre de 2019

Comunidades: El algoritmo de Leiden supera al de Louvain

Usando el algoritmo de Leiden para encontrar grupos bien conectados en redes

Vincent Traag, Ludo Waltman, Nees Jan van Eck
CWTS


Introducción

Un desarrollo emocionante en el campo de los estudios cuantitativos de ciencias es el uso de enfoques de agrupación algorítmica para construir clasificaciones a nivel de artículo basadas en redes de citas. Hasta hace poco, la mayoría de las clasificaciones se basaban en categorizar revistas en lugar de artículos individuales. Esto es comprensible dados los desafíos sustanciales de clasificar millones de artículos. En CWTS, ahora trabajamos rutinariamente con clasificaciones a nivel de artículo. Hemos dedicado bastante tiempo a desarrollar algoritmos de agrupamiento para crear estas clasificaciones. Estos algoritmos tienen un impacto más allá de nuestro propio campo de investigación y son de interés para muchos científicos de redes.

Te sorprenderá saber que uno de los algoritmos de agrupamiento más famosos, comúnmente conocido como el algoritmo de Lovaina, en realidad tiene un defecto importante: los grupos que encuentra pueden estar arbitrariamente mal conectados. Por ejemplo, el algoritmo de Lovaina puede agrupar artículos en un grupo, aunque algunos de los artículos no tienen enlaces de citas con los otros artículos en el grupo. Aquí informamos brevemente sobre un nuevo algoritmo que hemos desarrollado, que llamamos algoritmo de Leiden. Este algoritmo garantiza encontrar clústeres bien conectados. ¡Aún mejor, lo hace mucho más rápido que el algoritmo de Louvain!




Algoritmo de Louvain

El algoritmo de Louvain es un algoritmo simple y elegante que es más eficiente que muchos otros algoritmos de agrupación en red. Cuando se introdujo en 2008, se aplicó a una gran red de más de cien millones de nodos y mil millones de enlaces. Se clasificó entre los mejores algoritmos de agrupación en estudios comparativos en 2009 y 2016. El algoritmo de Lovaina busca agrupaciones de alta calidad moviendo nodos individuales, por ejemplo, artículos individuales en una red de citas, de una agrupación a otra de tal manera que La calidad de los grupos se mejora tanto como sea posible. Cuando los grupos no pueden mejorarse más moviendo nodos individuales, el algoritmo de Lovaina hace algo ingenioso: agrega la red, de modo que cada grupo en la red original se convierte en un nodo en la red agregada. En la red agregada, el algoritmo comienza a mover nodos individuales de un clúster a otro. Al repetir el movimiento y la agregación de nodos, el algoritmo de Lovaina puede encontrar grupos de alta calidad en poco tiempo. Desafortunadamente, sin embargo, este enfoque también conduce a una falla importante, que parece haber pasado desapercibida durante la última década.



A veces, un nodo funciona como intermediario o puente para el resto de su clúster. Sin ese nodo crucial, el clúster ya no estaría conectado. Dado que el algoritmo de Lovaina sigue moviendo nodos de un grupo a otro, en algún momento puede mover el nodo crucial a un grupo diferente, rompiendo así la conectividad del grupo original. Quizás sorprendentemente, el algoritmo de Lovaina no puede arreglar esta conectividad rota. La ruptura completa de la conectividad es lo peor que le puede pasar a un clúster. Es el ejemplo más extremo de un problema más general del algoritmo de Lovaina: el algoritmo puede producir grupos que están mal conectados y que deberían haberse dividido en varios grupos.

Algoritmo de Leiden


Solucionamos este problema del algoritmo de Lovaina en nuestro nuevo algoritmo de Leiden. De manera similar al algoritmo de movimiento local inteligente que se desarrolló previamente en CWTS, el algoritmo de Leiden puede dividir grupos en lugar de solo fusionarlos, como lo hace el algoritmo de Lovaina. Al dividir los clústeres de una manera específica, el algoritmo de Leiden garantiza que los clústeres estén bien conectados. Además, el algoritmo garantiza más que esto: si ejecutamos el algoritmo repetidamente, eventualmente obtenemos grupos que son subconjuntos óptimos. Esto significa que es imposible mejorar la calidad de los clústeres moviendo uno o más nodos de un clúster a otro. Esta es una propiedad fuerte del algoritmo de Leiden. Establece que los grupos que encuentra no están muy lejos de ser óptimos. Finalmente, en lugar de verificar continuamente para todos los nodos en una red si se pueden mover a un clúster diferente, como se hace en el algoritmo de Lovaina, el algoritmo de Leiden realiza esta verificación solo para los llamados nodos inestables. Como resultado, el algoritmo de Leiden no solo encuentra clústeres de mayor calidad que el algoritmo de Lovaina, sino que también lo hace en mucho menos tiempo.

En CWTS, utilizamos el algoritmo de Leiden para agrupar grandes redes de citas. El algoritmo de Lovaina necesita más de media hora para encontrar grupos en una red de aproximadamente 10 millones de artículos y 200 millones de enlaces de citas. El algoritmo de Leiden necesita solo un poco más de tres minutos para agrupar esta red. Además, cuando se ejecuta repetidamente, el algoritmo de Leiden encuentra fácilmente grupos de mayor calidad que el algoritmo de Lovaina.



¡Inténtalo tú mismo!

Esperamos que el algoritmo de Leiden resulte útil no solo para nosotros en CWTS, sino también para muchos otros investigadores tanto en estudios de ciencias cuantitativos como en ciencias de redes. Durante la última década, miles de investigadores han publicado artículos en los que utilizan el algoritmo de Lovaina. En el futuro, estos investigadores podrían emplear el algoritmo de Leiden.

Junto con el documento que presenta el algoritmo de Leiden, también hemos lanzado el código fuente Java del algoritmo en GitHub. Hemos hecho un gran esfuerzo para garantizar que el algoritmo sea fácil de usar para todos. Para los más inclinados técnicamente, hemos creado documentación técnica y comentarios de código. ¡Tome el código fuente, ejecútelo en sus propios datos de red y díganos qué piensa de él!

Nota del administrador: Ahora también está disponible como complemente de Gephi.

lunes, 4 de marzo de 2019

Estandarizando la forma de presentar visualizaciones de red


Un estándar para presentar visualizaciones de red.

| Reticular



Acabo de asistir a un examen sobre mapeo de controversias en la Universidad de Aalborg, donde, entre otras cosas, los estudiantes interpretaron visualizaciones de Gephi de diferentes tipos (relacionadas con la imagen de arriba). Había redes de páginas de Wikipedia sobre la crianza de los hijos. Los estudiantes fueron bastante buenos a pesar de los problemas comunes sobre cómo hablar de redes. El ejercicio es difícil, y no esperamos que la mayoría de los estudiantes lo dominen en el momento del curso (en este caso, 3 semanas a tiempo completo). Sin embargo, es cierto que, en mi opinión, existe una forma estándar de presentar la visualización de su red. Me di cuenta de que sería útil compartir mi opinión informada sobre cómo presentar su red.

Permítanme primero abordar dos posibles malentendidos.
  1. No se trata de tu método. Hay infinitas cantidades de diseños de investigación válidos que involucran la visualización de redes. No soy la policía divertida. No voy a discutir cuáles son buenas o malas.
  2. No se trata de evaluar la calidad del diseño. Ese es un tema muy válido, tengo mucho que decir al respecto y es algo crucial que me viene a la mente al leer algo como "el estándar de oro para la visualización de redes". Sin embargo, no es lo que quiero decir aquí.
Lo que quiero abordar en esta publicación es qué aspectos debe cubrir, en qué orden y, lo que es más importante, cómo debe cubrirlos. Si alguna vez se sintió perdido en un laberinto argumentativo al presentar su red, quédese conmigo.

Pero antes de comenzar a sugerir lo que debe decir y cómo, debo presentar lo que considero las cuatro capas clave de cualquier discurso en una visualización de red. Me tomaré el tiempo de detallarlos, por el momento solo mencionaré su existencia con la imagen de abajo. Si está familiarizado con el trabajo de Bruno Latour, puede reconocer una cadena de referencia. De lo contrario, comprenderá en el camino: la clave es reconocer las traducciones entre las capas.


Que deberias decir


Asumimos la situación clásica: estás presentando mapas de red hechos por ti mismo. Usted sabe todo lo que hay que saber sobre el proceso, desde la recolección hasta el refinado y la visualización. Tienes alguna experiencia en el tema. Su audiencia comienza con una pregunta muy abierta como "¿Puede decirnos de qué se trata?".

1. Declarar el propósito del trabajo.


Indique el tema primero, sus preguntas de investigación, si tiene alguna, y / o lo que intentó lograr.

Puede ser muy corto pero sigue siendo importante.

Nunca visualizamos una red por el simple hecho de visualizar una red. Siempre hay un motivo subyacente. Interpretar una red nunca es simple y usted y su público corren el riesgo de perderse en el proceso. Indicar hacia dónde te diriges proporciona una ayuda de bienvenida para orientarte.

2. Describe lo que traduce la visualización.


Explique de manera concisa el proceso que ha llevado a la visualización. Es una cadena con muchos pasos que requiere claridad. Use los términos apropiados y haga que cada paso lleve al siguiente explícito.

Hay dos estrategias válidas para narrar esto, dependiendo de la situación:
  1. Describa el proceso en un orden pseudo cronológico, desde la recolección hasta la visualización.
  2. Comience con el objeto físico (la hoja impresa, la pantalla ...) y vaya hacia su origen.

Elige lo que te haga sentir cómodo. Es posible que desee aprovechar esta ocasión para explicar el proceso, o lo ha hecho antes y desea ir directo al punto. En ambos casos hay una serie de elementos que debe proporcionar.

Debe explicar los pasos clave del proceso y usar los términos apropiados para hablar sobre cada uno de ellos. Aquí usaré la estrategia número 2, es decir. para narrar los pasos a partir del objeto físico y de ir hacia arriba a través del proceso. Habría variaciones dependiendo de su diseño de investigación, solo asumiré la situación común descrita en la mayoría de los tutoriales de Gephi.

En pocas palabras, cada paso del proceso es una de las cuatro capas que introduje anteriormente. Cada capa está traduciendo la capa justo debajo, y el objetivo es hacer que cada traducción sea explícita.

Describe cómo la imagen traduce la red.


La imagen o mapa es el objeto físico que ofrece empíricamente a su audiencia para comprender su trabajo (junto con sus explicaciones, por supuesto). Debes explicar de dónde viene todo lo visible en la imagen. En un escenario típico esto sería, por ejemplo:
  • La imagen ha sido producida mediante la visualización de una red.
  • Los círculos están representando los nodos. Todos los nodos han sido representados.
  • Las líneas representan los enlaces. Todos los enlaces también han sido representados.
  • Los textos son etiquetas de nodos, solo mostramos los más importantes.
  • El tamaño de cada círculo representa el grado del nodo.
  • El color de cada ronda representa la categoría del nodo.
  • El grosor de una línea representa el ponderador del enlace.
  • El color de las líneas se ha establecido en un gris claro para evitar el exceso de saturación visual.
  • La colocación de los nodos se ha decidido mediante un algoritmo que analiza sus conexiones, sin considerar otros atributos como su categoría.
  • La leyenda precisa el código de color de las categorías de nodos y la escala del grosor del enlace.

Explica cómo funciona el diseño

El algoritmo de diseño debe ser explicado. En el caso de Force Atlas 2 y muchos otros, los puntos importantes son:
  • El diseño coloca los nodos solo en función de sus enlaces, ignora todos los atributos.
  • Funciona de forma iterativa al hacer que todos los nodos se rechacen entre sí y los nodos conectados se atraigan entre sí. Por diseño converge a un equilibrio que depende de las posiciones de inicio aleatorias.
  • La proyección resultante se dice isotópica: no tiene ejes específicos y se puede girar o voltear sin perder sus características. Se supone que se debe interpretar en términos de distancias relativas.
En caso de que se utilicen dichos ajustes, también merecen ser mencionados:
  • Gravedad: una fuerza adicional limita la propagación de los nodos, lo que genera un sesgo menor, pero permite optimizar el espacio durante la visualización.
  • Prevenga la superposición: la ubicación de los nodos se ha ajustado para que no se superpongan, lo que genera un sesgo menor pero optimiza la legibilidad durante la visualización.
Nota: no creo que valga la pena formalizar una capa adicional, aquí una proyección matemática a un espacio 2D, aunque sea lo que realmente hacemos.

Describe cómo la red traduce los datos de origen.

La red o grafo es la lista de nodos y la lista de enlaces utilizados como una estructura de datos en un software como Gephi. La red se traduce visualmente por la imagen, pero no es la imagen. De manera similar, a menudo traduce datos menos refinados, pero no es esa información.

Debes explicar qué representan los nodos y los enlaces. En otros términos, debe describir cómo se relacionan con los datos sin procesar (ver más abajo). Por ejemplo:
  • Los nodos representan palabras mencionadas al menos 10 veces, excluyendo una lista de palabras de parada (stop words).
  • Los enlaces representan co-ocurrencia, es decir, cuando aparecen dos palabras en el mismo documento.
  • El peso de los enlaces representa en cuántos documentos aparecen las palabras juntas.

Explicar cómo los datos de origen se refieren al mundo empírico.

Debe explicar de dónde provienen los datos de origen y cómo se seleccionaron. La elección de los datos para estudiar a menudo se deriva de un interés en algo preciso en el mundo empírico. Puede ser la paternidad, #blacklivesmatter, diseño nórdico ... Sea cual sea su tema o sus preguntas de investigación, proporcionó un marco interpretativo de los datos de origen, por ejemplo, porque ciertos elementos se utilizan como representantes para obtener información sobre su objeto de interés original.

Podría ser, por ejemplo, mencionar que estaba interesado en un tema relacionado con cuestiones de género, pero por razones prácticas tenía que ser lo suficientemente específico, lo que lo llevó a elegir el tema de la crianza de los hijos que ya se ha descrito en Wikipedia.

3. Interpreta tu mapa de red

Ahora que su audiencia sabe de qué se trata todo esto, puede analizar el contenido de su mapa de red. Su interpretación consistirá en una serie de afirmaciones que se basarán primero en la imagen y atravesarán las capas hasta el mundo empírico, si es posible.

Hay muchas formas de organizar tu interpretación. Puede consultar las sugerencias que Tommaso Venturini, Debora Pereira y yo hemos propuesto para el análisis visual de la red. No abriré esa discusión aquí. Lo único importante es la esencia de cualquier argumento de ese tipo: expone las características de la red que son visibles en la imagen y argumenta que estas características se originan en los datos de origen de una manera que permite decir algo sobre el mundo empírico. Este camino interpretativo es largo, lo sé. Lamentablemente, tal es la situación a la que te enfrentas. La ciencia es dura.

Siempre debe ser claro acerca de las traducciones cuando hace sus puntos. Este es el único truco. Ten éxito en esto, y dominarás la interpretación de la red. Hacer un buen punto tiene que ver con encontrar su camino a través de las capas. Aunque es difícil. Dedicaré el resto de este post a desglosar esa pregunta.

Como deberias decirlo

Pon atención al vocabulario.

El pan y la mantequilla de tus argumentos son las conexiones lógicas entre los muchos elementos que convocarás. Hay tanto que decir que ni siquiera lo intentaré. Sin embargo, siempre comienza con el uso del vocabulario adecuado. Esta pregunta es crítica aquí porque, como veremos, usar los términos apropiados es su mejor defensa contra las líneas argumentativas traicioneras que lo llevarán a un laberinto de falacias.

Cada capa tiene su vocabulario específico, comencemos revisando esto.

Imagen / mapa

El siguiente vocabulario es apto para describir la imagen:
  • Círculo, forma, línea, texto
  • Colores, claros, oscuros.
  • Gran pequeño
  • Cerca, lejos
  • Ocupado / denso / lleno / áreas ocupadas, agujeros, espacios en blanco
  • Centro, periferia (de la imagen, de una zona…).

NO LO USE para describir la imagen en sí: nodo, enlace, hipervínculo, página web ...

Red / grafo


El siguiente vocabulario es apto para describir la red:
  • Nodo, vértice
  • Arista, enlace, conexión
  • Peso del nodo / enlace, atributo, modalidad de un atributo
  • Grado, grado, grado superior, métricas de centralidad
  • Densidad (de un conjunto de nodos)
  • Vecinos, hojas (nodos con 1 vecino), huérfanos (0 vecinos)
  • Equivalencia estructural (tener los mismos vecinos)
  • Distancia geodésica (longitud del camino más corto)
  • Clusters (como el resultado de un algoritmo de clustering)
  • Modularidad (de un clustering)
  • ...

NO LO USE para describir la red: estar cerca o lejos, estar agrupado ...

A menudo querrá hacer conteos simples, como decir que un conjunto de nodos es grande, pequeño o mayor que ... Un conjunto de nodos puede ser un clúster, nodos donde el atributo X toma la modalidad Y, nodos de un grado de X o Más, vecinos de X ...

Fuente de datos


Este paso no siempre es solo un paso en el proceso y puede tomar muchas formas. El punto importante es que los datos siempre se han transformado: se han limpiado, filtrado, refinado ... Hay tantas posibilidades que no puedo ofrecer una visión general. Voy a elegir algunos ejemplos.

Si sus datos en bruto son páginas de Wikipedia, se aplica el siguiente vocabulario:
  • página web
  • Hipervínculo, enlace de hipertexto
  • En enlaces de texto, ver también enlaces.
  • ...

Si sus datos en bruto eran un conjunto de documentos en un análisis de co-ocurrencia:

  • Documento de texto
  • Párrafo, expresión, n-grama, palabra
  • Co-ocurrencia
  • Frecuencia de término
  • ...

Sus datos pueden provenir de una base de datos de patentes, de Twitter o Facebook, de una fuente cualitativa ... Cada uno de estos casos tiene sus propios tipos de objetos, relaciones y vocabulario.

NO LO USE para describir los datos en bruto: nodo, enlace, estar conectado, estar cerca, estar agrupado ...

Mundo empírico


El vocabulario que utiliza cuando se refiere al mundo empírico puede ser:
  • Personas, instituciones, actores,…
  • Libros, proyectos, ideas,…
  • Temas, ámbitos académicos, intereses,…
  • Amistad, apuntes, afinidades, ...
  • Grupos de pueblos, comunidad, cultura,…
  • Notoriedad, influencia, autoridad, relevancia, ...

Cuidado con las metonimias


En la práctica, usted quiere decir "el tamaño de los nodos" y no "el tamaño de las rondas". Bien, pero estás jugando con fuego. Si dominas el ejercicio, puedes usar todo tipo de atajos porque conoces los límites. Un oyente ingenuo puede tener la impresión de que la mayoría de los conceptos son intercambiables y que puede decir indistintamente línea, enlace, lazo o hipervínculo. Está muy mal. Los problemas son reales y puede que te engañes con argumentos falaces y con lógica circular.


"Esto no es un pipa"... Sea claro sobre lo que representa y lo que se representa

La línea para no cruzar se aclara al ver cómo entendemos una metonimia, una forma de hablar en la que nos referimos a algo utilizando un concepto diferente pero estrechamente relacionado. Por ejemplo, "jurar lealtad a la corona" se refiere al soberano y no al objeto físico, por supuesto. Podemos obtener el significado correcto porque no tendría sentido jurar lealtad a una corona literal. El contexto indica si la palabra es metafórica o literal, si hay una metonimia o no. Lo mismo se aplica a nuestros conceptos. En la medida en que los nodos no tienen un tamaño (son entidades de red abstractas), está claro que los "tamaños de nodo" se refieren a "el tamaño de las formas que representan los nodos". En ese sentido, el acceso directo es válido, pero sigue siendo complicado porque usamos la palabra nodo para referirnos a las formas, y este cambio peligroso es la forma en que ocurren los accidentes. La línea de no cruzar es cuando las metonimias se vuelven ambiguas.

Cómo te atrapas en el laberinto de la lógica circular

Primero dice "esos nodos están cerca", que solo puede entenderse como una metonimia para "aquellas formas que representan nodos están cerca", luego dice "por lo que forman un grupo" y ya está pisando el límite prohibido. Como profesor, a menudo le pediré que aclare la ambigüedad, por ejemplo: “¿Puede precisar por qué forman un grupo?”. Ya que conoce el proceso, comprende que la colocación de nodos se debe al algoritmo de diseño, que es de hecho lo que espero. Sin embargo, en este punto, la confusión puede hacer que te adentres en el laberinto de la lógica circular, al responder algo como: "Es un grupo porque el algoritmo de diseño coloca los nodos cerca uno del otro". Bien podría explicar cómo funciona el algoritmo, pero no importa, ya es demasiado tarde. Te has atrapado en una falacia, ¿puedes ver por qué?

El argumento es circular porque establece que los nodos cerrados hacen que los clústeres y los clústeres hagan los nodos cercanos. Desafortunadamente, ser consciente de la circularidad realmente no ayuda. Por mi experiencia, sé que solo te das cuenta de que estás perdido cuando ya es demasiado tarde, si es que alguna vez lo haces. Evitar la falacia no se trata de reconocer la zona prohibida, se trata de no entrar en el laberinto. Se trata de tener una práctica que nunca te ponga en riesgo.

¿Cuál es la práctica segura? En primer lugar, es utilizar el vocabulario adecuado. Pero no puedo ganar la lucha contra la naturaleza humana y hacer que dejes de usar atajos. Así que la práctica segura es sobre el uso de protecciones. Siempre revise la capa donde su argumento es válido. La entrada al laberinto de la lógica circular es donde las metonimias confusas dan lugar a argumentos con desajuste de capas. Pero el desajuste de capas también puede llevar a formas menos dramáticas de malos argumentos que pueden ser muy perjudiciales para usted a pesar de su bajo perfil. Veremos cómo el control de capas ayuda a desacreditarlas.

Malos argumentos


Hay diferentes grados de argumentos erróneos, correspondientes a las diferentes formas en que puede fallar en hacer circular la cadena de referencia de una capa a la siguiente.

Tautología: atrapado en una capa.


El peor tipo de argumento es cuando no hay argumento. Una descripción simple que plantea como un punto. El pintalabios de la retórica sobre el cerdo de la trivialidad. Por ejemplo: "El clúster pro-vida se separa del clúster pro-elección manteniendo una distancia sensible". El argumento es circular: los grupos son distantes porque son distantes. Diagnóstico de este mal argumento como una falla completa para circular fuera de las dos capas superiores, la imagen y la red.



Puede desacreditar dicha declaración comprobando las capas. Hacer un punto implica varios pasos donde las características de una capa están relacionadas con la siguiente. Un argumento apropiado sería algo como esto:
  • Los nodos pro-vida y pro-elección aparecen distantes en la imagen.
  • Son distantes porque tienen pocas conexiones. Así es como funciona el algoritmo de diseño, pero también podemos ver que hay menos enlaces entre grupos que dentro de cada uno.
  • La mayor cantidad de aristas dentro de los grupos muestra que los actores tienden a conectarse con aquellos que son similares a ellos e ignoran a los que son diferentes.
  • Este comportamiento revela una oposición entre las dos comunidades.

Naturalización: saltando a conclusiones.

Un tipo de argumento malo pero menos malo es saltar sobre las traducciones, haciendo un punto incompleto. Llamo a esto "naturalización" porque saltar a conclusiones a menudo usa la retórica de la evidencia, como si la visualización fuera una manifestación natural del mundo empírico. Por ejemplo: "los pro-elección se agrupan, mostrando que comparten valores comunes". La conclusión es a veces cierta, pero la argumentación es pobre. Como profesor, me preguntaría de inmediato: "¿puede explicar por qué cree que un grupo de nodos implica compartir valores comunes?", Lo que le brinda la oportunidad de mostrar su capacidad para circular entre las capas o hacer que se dé cuenta de que está perdido. En el laberinto de la argumentación. Algunos estudiantes simplemente usan atajos, y cuando se les pide que descompriman su razonamiento, pueden hacerlo.

Una vez más, la práctica segura es verificar las capas involucradas. En este ejemplo, la proximidad pertenece a la capa de imagen (número 1). Compartir valores comunes pertenece al mundo empírico (número 4). Debes avanzar de capa en capa sin saltar sobre ninguna. Respetar el vocabulario ayuda a no confundir las capas:
  • La proximidad de la pro-elección en la visualización ...
  • ... proviene de la importante cantidad de enlaces entre los nodos ...
  • ... lo que revela que estos actores se conocen y se vinculan entre sí en la web.
  • Nuestra hipótesis es que podría ser porque comparten valores comunes.

En este ejemplo, el último punto no es muy convincente, y probablemente es simplemente falso. El formulario es válido pero no el contenido. Eso fue solo un ejemplo, pero sigue siendo cierto que la última traducción, desde los datos de origen al mundo empírico, es la más difícil. Desafortunadamente, también es el más importante.

Correr la ultima milla


Mi último consejo es correr siempre la última milla: sus argumentos deben llevar a conclusiones sobre el mundo empírico, aunque solo sea de manera hipotética. La razón por la que analiza los datos es porque quiere entender algo sobre el mundo y debe demostrar su capacidad para hacerlo.

No correr la última milla es el escollo más trágico porque solo le sucede a los buenos estudiantes, aquellos que llegaron lejos pero no pudieron derrotar al último jefe. La mala argumentación no lo lleva a la última milla, pero puede tener todos sus argumentos válidos y aun así no alcanzar la línea final.

No correr la última milla produce declaraciones analíticamente válidas pero solo sobre los datos. Por ejemplo, no mencionando la argumentación sino solo la conclusión:
  • … Por lo tanto, los sitios web gubernamentales ocupan los puestos centrales en el corpus de las ONG.
  • … Todas las ONG se citan en la web, excepto las asociaciones humanitarias.
  • ... los sitios web de la izquierda radical están bien conectados dentro de la esfera web de la izquierda, pero no forman un grupo, al estar mal conectados entre sí.

Esas afirmaciones pueden ser técnicamente válidas, no explican bien cómo se relaciona con el mundo empírico. El tipo de argumento que espero va un poco más allá, aunque solo sea en forma de hipótesis, por ejemplo:

  • ... posiblemente porque muchas ONG dependen de la financiación gubernamental, que a menudo requiere vincularse con las instituciones de financiación.
  • ... porque las asociaciones humanitarias compiten por las donaciones, lo que puede llevarlas a no citar a sus competidores.
  • ... a pesar de estar reunidos bajo la etiqueta común de "izquierda radical", estos actores no se reconocen entre sí y no forman una comunidad, posiblemente debido a divergencias ideológicas.

jueves, 22 de noviembre de 2018

Bots difunden noticias falsas pero pueden ser combatidos

Los bots difundieron muchas falsificaciones durante las elecciones de 2016. Pero también pueden desacreditarlo.

Por Daniel Funke · Poynter





Desde las elecciones estadounidenses de 2016, ha habido mucha especulación sobre el papel que desempeñaron los robots en la difusión de información errónea en línea. Y ahora, ese papel ha sido cuantificado.

Según un estudio publicado hoy en la revista Nature Communications, las cuentas automáticas de Twitter amplían de manera desproporcionada la información errónea durante las últimas elecciones en los Estados Unidos. Descubrió que, si bien los bots solo representaban alrededor del 6 por ciento de los usuarios de Twitter en el estudio, eran responsables del 34 por ciento de todas las acciones de artículos de fuentes de "baja credibilidad" en la plataforma.

"Este estudio encuentra que los bots contribuyen significativamente a la diseminación de información errónea en línea, y también muestra la rapidez con la que se pueden propagar estos mensajes", dijo Filippo Menczer, profesor de informática y ciencias de la computación en la Universidad de Indiana, y el director del estudio, en un comunicado de prensa. enviado a Poynter.

Los investigadores analizaron 14 millones de tweets y 400,000 artículos compartidos en Twitter entre mayo de 2016 y marzo de 2017. Para determinar si algo era una fuente de baja credibilidad, se basaron en recursos de sitios como PolitiFact (propiedad de Poynter), que ha compilado una lista de sitios web conocidos por difundir información falsa o engañosa en línea.

Esas fuentes abarcan desde sitios satíricos como The Onion hasta sitios de noticias falsas como USAToday.com.co. Esa es una gran brecha, pero en las plataformas sociales como Twitter, la línea entre la desinformación y la sátira es notoriamente borrosa, y los usuarios se dividen cuando uno se convierte en el otro.

Para rastrear cómo los bots amplificaban la información errónea de estas fuentes, los autores del estudio utilizaron dos herramientas de IU: Hoaxy y Botometer. La primera es una plataforma que rastrea la propagación de reclamaciones en línea, mientras que la segunda es un algoritmo de aprendizaje automático que detecta bots en las redes sociales.

El estudio compara principalmente las distribuciones de puntajes de bot de Botometer, que identifican bots basados ​​en miles de otros ejemplos. Los autores mitigaron los falsos positivos y negativos al establecer un umbral de 2.5 / 5, una puntuación que, según Menczer, tenía el mayor grado de precisión en su algoritmo.

Aparte de su papel en la amplificación del alcance de la desinformación, los bots también desempeñan un papel crítico en su despegue en primer lugar. Según el estudio, es probable que los bots amplifiquen los tweets falsos justo después de su publicación, antes de que se vuelvan virales. Luego los usuarios los compartieron porque parecía que mucha gente ya los tenía.

"Las personas tienden a confiar más en los mensajes que parecen provenir de muchas personas", dijo el coautor Giovanni Luca Ciampaglia, profesor asistente de ciencias de la computación en la Universidad del Sur de la Florida, en el comunicado de prensa. "Los bots se aprovechan de esta confianza al hacer que los mensajes parezcan tan populares que se engaña a personas reales para que difundan sus mensajes por ellos".

El estudio sugiere que Twitter reduzca el número de cuentas automatizadas en las redes sociales para reducir la amplificación de la desinformación. La compañía ha logrado algunos avances hacia este fin, suspendiendo más de 70 millones de cuentas solo en mayo y junio. Más recientemente, la compañía derribó una red de bots que impulsó puntos de vista pro saudíes sobre la desaparición de Jamal Khashoggi y comenzó a permitir que los usuarios informen sobre posibles cuentas falsas.

No obstante, los bots siguen causando estragos en Twitter, y algunos no se utilizan para difundir información errónea en absoluto. Entonces, ¿qué deberían hacer los verificadores de datos para combatir su papel en la difusión de información errónea?

Tai Nalon ha pasado la mayor parte del año pasado tratando de responder esa pregunta, y su respuesta es vencer a los robots en su propio juego.

"Creo que la inteligencia artificial es la única forma de abordar la desinformación, y tenemos que crear bots para abordar la desinformación", dijo el director de Aos Fatos, un proyecto brasileño de verificación de hechos. “(Los periodistas) tienen que llegar a las personas donde están leyendo las noticias. Ahora en Brasil, están leyendo en las redes sociales y en WhatsApp. Entonces, ¿por qué no estar allí y automatizar los procesos utilizando las mismas herramientas que usan los malos? "

En el período previo a las elecciones del mes pasado en Brasil, Aos Fatos creó un bot de Twitter que corrige automáticamente a las personas que comparten noticias falsas. Llamada Fátima, la cuenta automatizada aprovecha AI para escanear Twitter en busca de URL que coincidan con las comprobaciones de hechos en la base de datos de artículos de Aos Fatos. Luego, el bot responde al usuario de Twitter con un enlace a la verificación de hechos. (Divulgación: Fátima ganó la donación instantánea de International Fact Checking Network para Brasil).



Desde el lanzamiento de Fátima durante el verano, Nalon le dijo a Poynter que el bot ha escaneado más de 12,000 enlaces y tuiteado casi 2,500 respuestas a una variedad de usuarios. Nalon dijo que eso es importante porque no todos los tweeters que comparten información errónea van a seguir a los verificadores de datos o incluso a las organizaciones de medios verificadas. Bots como Fátima aseguran que todos los usuarios tengan acceso a la información verificada, independientemente de sus propios silos de información.

“Creo que la tecnología puede escalar nuestro trabajo. Nuestro mayor desafío es llegar a las personas que no tienen acceso a la verificación de datos ", dijo Nalon. "Con Fátima, por ejemplo ... cada vez que tuitea un enlace con una respuesta a alguien, mucha gente va allí y le gusta y le dice cosas a las personas que compartieron la información errónea".

Aos Fatos es uno de los pocos medios de verificación de datos para construir un bot de Twitter que corrige automáticamente la información errónea. Y Nalon dijo que uno de sus objetivos para 2019 es extender la herramienta a más verificadores de hechos, comenzando con Chequeado en Argentina.

“Lo que los periodistas necesitan es construir formas de meditar, y no estaremos mediando solo usando las herramientas que Facebook y Twitter nos dan. Tenemos que construir herramientas dentro de Facebook, Twitter y WhatsApp ”, dijo Nalon. "Creo que, si estamos creando conciencia, también podemos aumentar la confiabilidad - y en realidad hackear la forma en que la gente ve a los robots".


domingo, 14 de octubre de 2018

Detectando estructuras centro-periferia en redes por sorpresa

Detectando estructuras núcleo-periféricas por sorpresa

Jeroen van Lidth de Jeude, Guido Caldarelli, Tiziano Squartini

arXiv:1810.04717 [physics.soc-ph]
(or arXiv:1810.04717v1 [physics.soc-ph] for this version)



Detectar la presencia de estructuras de mesoescala en redes complejas es de primordial importancia. Esto es especialmente cierto para las redes financieras, cuya organización estructural afecta profundamente su resiliencia a eventos como las cascadas predeterminadas, la propagación de choques, etc. Hasta ahora, se han propuesto varios métodos para detectar comunidades, es decir, grupos de nodos cuya conectividad es significativamente grande. Sin embargo, las comunidades no representan el único tipo de estructuras de mesoescala que caracterizan las redes del mundo real: otros ejemplos son proporcionados por estructuras de lazo, estructuras centro-periferia y estructuras bipartitas. Aquí proponemos un método novedoso para detectar estructuras bimodulares estadísticamente significativas, es decir, bipartitas o centrales-periféricas. Se basa en una modificación de la sorpresa, recientemente propuesta para la detección de comunidades. Nuestra variante permite que se revelen las particiones de los nodos bimodulares, al permitir que los enlaces se coloquen 1) dentro de la parte central y entre las partes central y periférica o 2) solo entre las capas (vacías) de una red bipartita. Desde un punto de vista técnico, esto se logra empleando una distribución hipergeométrica multinomial en lugar de la hipergeométrica tradicional (binomial); como en el último caso, esto permite asignar un valor p a cualquier (bi) partición dada de los nodos. Para ilustrar el rendimiento de nuestro método, informamos los resultados de su aplicación a varias redes del mundo real, incluidas las sociales, económicas y financieras.



lunes, 8 de octubre de 2018

Validación cruzada para el número de clusters en una red

Estimación de la validación cruzada del número de clusters en una red
Tatsuro Kawamoto y Yoshiyuki Kabashima
Scientific Reports  7, Número del artículo: 3327 (2017)
Doi: 10.1038 / s41598-017-03623-x


Resumen 
La ciencia de redes investiga metodologías que resumen los datos relacionales para obtener una mejor interpretación. Identificar estructuras modulares es una tarea fundamental, y la evaluación del nivel de grano grueso es su paso crucial. Aquí, proponemos criterios de evaluación principios, escalables y ampliamente aplicables para determinar el número de clusters en redes modulares basadas en la estimación de validación cruzada "leave-one-out" del error de predicción de enlace.

Introducción

Las herramientas matemáticas para el análisis de grafos o de red tienen amplia aplicabilidad en diversas disciplinas de la ciencia. De hecho, muchos conjuntos de datos, por ejemplo, conjuntos de datos biológicos, de información y sociales, representan interacciones o relaciones entre elementos y han sido estudiados con éxito como redes1, 2 utilizando los enfoques del aprendizaje mecánico, la informática y la física estadística. En un sentido amplio, un objetivo principal es identificar las estructuras macroscópicas, incluidas las estructuras temporales, que están ocultas en los datos. Para lograr este objetivo, por ejemplo, las secuencias de grados, la comunidad y las estructuras núcleo-periferia y varias centralidades han sido ampliamente estudiadas. Las estructuras modulares populares son la estructura de la comunidad (estructura asociativa) y la estructura desorganizadora5,6,7,8, aunque cualquier estructura que tenga una ley macroscópica de conectividad puede considerarse Como una estructura modular. El enfoque bayesiano que utiliza el modelo de bloqueo estocástico9, que describiremos más adelante, es una poderosa herramienta para el agrupamiento de grafos. En general, la agrupación de grafos consta de dos pasos: seleccionar el número de clústeres y determinar la asignación de clúster de cada vértice. Estos pasos se pueden realizar repetidamente. Algunos métodos requieren que el número de clústeres sea una entrada, mientras que otros métodos lo determinan automáticamente. El primer paso se llama selección de modelos en marcos estadísticos, y este paso es nuestro enfoque principal.

La selección del número de clusters no es una tarea obvia. Por ejemplo, como se muestra en la Fig. 1, las estructuras más complejas se pueden resolver usando un modelo que permita un mayor número de racimos. Sin embargo, debido a que todo el propósito del agrupamiento de grafos es el grano grueso del grafo, la partición con una resolución excesivamente alta no es deseable. Esta cuestión también está relacionada con el nivel de resolución que se requiere en la práctica. El papel de los marcos y criterios de selección de modelos es sugerir a un posible candidato, o candidatos, para el número de grupos que se van a analizar.


Particiones de la red de libros sobre la política estadounidense. Las asignaciones de clúster deducidas para varios números de entrada de clústeres q. Los vértices con el mismo color pertenecen al mismo grupo. La partición con q grande tiene una mayor resolución y se obtiene ajustando un modelo que tiene una mayor complejidad.

¿Qué marco y criterio utilizar para la selección de modelos y su evaluación es un problema inevitable que enfrentan todos los profesionales, ya que se han propuesto múltiples candidatos en la literatura. Una prescripción clásica es optimizar una función objetivo que define la resistencia de una estructura modular, como la modularidad10, 11 y la ecuación de mapa12, 13; La optimización combinatoria entre todas las posibles particiones produce el número de clústeres y las asignaciones de clúster. Aunque puede parecer que no está relacionado con los marcos estadísticos, debe señalarse que la maximización de la modularidad ha demostrado ser equivalente a la maximización de la probabilidad de un cierto tipo de modelo de bloque estocástico11, 14. También se puede usar el método espectral y contar el número de Valores propios fuera de la banda espectral15,16,17; La razón de esta prescripción es la siguiente: mientras que la banda espectral se deriva de la naturaleza aleatoria de la red, los valores propios aislados y los autovectores correspondientes poseen información estructural distinta sobre la red. Como otro enfoque agnóstico, se ha propuesto recientemente un algoritmo18 que tiene una garantía teórica de la consistencia para el modelo de bloqueo estocástico en régimen escaso con grado medio suficientemente grande; Una red se llama escasa cuando su grado medio se mantiene constante mientras que el tamaño de la red crece al infinito, y típicamente, es localmente árbol-como. Por último, en el marco bayesiano, un principio comúnmente utilizado es seleccionar un modelo que maximice la probabilidad posterior del modelo19,20,21,22,23 o el modelo que tenga la longitud mínima de descripción24,25,26, lo que conduce al Criterio Bayesiano de Información (BIC) -como los criterios.


La minimización del error de predicción es también un principio bien aceptado para la selección del modelo y la validación cruzada lo estima adecuadamente27, 28. Este enfoque se ha aplicado a varios modelos estadísticos, incluidos aquellos modelos que tienen variables ocultas29,30. Las evaluaciones de modelos de validación cruzada para el modelo de bloque estocástico también se consideran en las referencias 31, 32, 33, o bien no son del marco bayesiano o se realizan mediante un enfoque de fuerza bruta. Una ventaja notable de realizar la selección de modelos usando el error de predicción es que no se requiere que el modelo asumido sea consistente con el modelo generativo de los datos reales, mientras que el término de penalización en el BIC se obtiene explícitamente usando la suposición de consistencia del modelo. En este estudio, proponemos una evaluación de modelo de validación cruzada eficiente en el marco bayesiano utilizando el algoritmo basado en la propagación de la creencia (BP).

En general, el error de predicción puede utilizarse como una medida para cuantificar la capacidad de generalización del modelo para datos no observados. En una situación rica en datos, podemos dividir el conjunto de datos en dos partes, el entrenamiento y los conjuntos de prueba, donde el conjunto de entrenamiento se utiliza para aprender los parámetros del modelo y el conjunto de pruebas se utiliza para medir la precisión de predicción del modelo. Realizamos este proceso para modelos que tienen diferentes complejidades, y seleccionamos el modelo que tiene el menor error de predicción o el modelo que es el más parsimonioso si el menor error de predicción es compartido por múltiples modelos. En la práctica, sin embargo, el conjunto de datos es a menudo insuficiente para ser utilizado para llevar a cabo este proceso de forma fiable. La estimación de validación cruzada es una forma de superar esta situación de datos escasos. En la validación cruzada de K-fold, por ejemplo, dividimos aleatoriamente el conjunto de datos en subconjuntos K (> 1), mantenemos uno de ellos como un conjunto de prueba mientras que los restantes se usan como conjuntos de entrenamiento y medimos el error de predicción. Luego cambiamos el papel del conjunto de pruebas al conjunto de entrenamiento, seleccionamos uno de los conjuntos de entrenamiento como un nuevo conjunto de pruebas y medimos de nuevo el error de predicción. Repitamos este proceso hasta que cada subconjunto se utiliza como un conjunto de prueba; Entonces, repetimos todo el proceso para diferentes K-splits aleatorios. El promedio en todos los casos es la estimación final del error de predicción de la complejidad de un modelo dado.

Para un conjunto de datos con N elementos, la N-doble de validación cruzada se llama la licencia-uno-fuera de validación cruzada (LOOCV); En adelante, nos centraremos en este enfoque. Tenga en cuenta que el método de división es único en LOOCV. En el contexto de una red, el conjunto de datos a dividir es el conjunto de aristas y no aristas, y el procedimiento de división de datos se ilustra en la Fig. 2: para cada par de vértices, aprendemos los parámetros mientras utilizamos los datos sin la información de la existencia del enlace entre el par de vértices; Entonces, medimos si podemos predecir correctamente la existencia o no existencia de un enlace. A primera vista, este enfoque parece ser ineficiente y redundante porque realizamos el parámetro aprendiendo N (N - 1) / 2 veces para conjuntos de entrenamiento similares, lo cual es cierto cuando el LOOCV se implementa de una manera directa. Sin embargo, mostramos que tal proceso redundante no es necesario y que el error de predicción se puede estimar eficientemente utilizando un algoritmo basado en BP. Es posible extender la estimación LOOCV que proponemos a la validación cruzada de K-fold. Como mencionamos en la sección de Métodos, sin embargo, una estimación de este tipo tiene problemas tanto conceptuales como computacionales, es decir, el LOOCV es un caso excepcionalmente conveniente.


Estimación del error LOOCV de los datos de la red. (A) El conjunto de datos original se da como la matriz de adyacencia A de una red. (B) En cada predicción ocultamos una sola pieza de enlace o información no-enlace de A: este enlace no observado o no observado no enlace es el conjunto de prueba, y la matriz de adyacencia A \ (i, j) A \ (i , J) sin la información en ese enlace o no enlace es el conjunto de entrenamiento.

El algoritmo basado en BP que utilizamos para inferir la asignación de clúster fue introducido por Decelle et al.21, 34. Este algoritmo es escalable y funciona bien en redes escasas; Esto es favorable, porque las redes del mundo real suelen ser escasas. De hecho, se sabe que el algoritmo BP alcanza asintóticamente el límite teórico-informativo35, 36 (cuando el número de clústeres es 2) en el sentido de precisión cuando la red es realmente generada a partir del modelo asumido, el modelo de bloqueo estocástico. En el algoritmo original, el número de cúmulos q * está determinado por la energía libre de Bethe, que es equivalente a la probabilidad logarítmica marginal aproximada negativa; Entre los modelos de diferentes (máximos) números de clusters, se selecciona el modelo más parsimonioso con baja energía libre de Bethe. A pesar de su plausibilidad, sin embargo, se sabe que esta prescripción tiene un desempeño pobre en la práctica. Una de las razones es que la estimación que utiliza la energía libre de Bethe se basa excesivamente en la suposición de que la red se genera a partir del modelo de bloques estocásticos, que casi siempre no es precisamente correcto. Mostramos que este problema se puede mejorar sustancialmente mediante la evaluación de errores de validación cruzada en lugar de la energía libre de Bethe mientras se mantienen las otras partes del algoritmo iguales. Con esta mejora, podemos concluir que el algoritmo basado en BP no es sólo una herramienta excelente en el caso ideal, sino que también es útil en la práctica.

Denotamos el conjunto de vértices y enlaces en las redes como V y E, y sus cardinalidades como N y L, respectivamente. A lo largo del presente estudio, consideramos redes escasas no dirigidas, e ignoramos multi-enlaces y auto-bucles para simplificar.


Resultados

Modelo de bloques estocástico


Primero expliquemos cómo se genera una instancia del modelo de bloque estocástico. El modelo de bloque estocástico es un modelo de grafo aleatorio que tiene una estructura modular plantada. La fracción de vértices que pertenecen al clúster σ está especificada por  γ σ; en consecuencia, cada vértice i tiene su asignación de clúster plantada σi{1,,q} donde q* es el número de clústeres. El conjunto de enlaces E se genera conectando pares de vértices de forma independiente y aleatoria de acuerdo con sus asignaciones de clúster. En otras palabras, los vértices i y j con asignaciones de clúster σ i  = σ y σ j  = σ′  están conectados con la probabilidad ω σσ; la matriz ω que especifica las probabilidades de conexión dentro y entre los clústeres se denomina matriz de afinidad. Tenga en cuenta que la matriz de afinidad ω es de O (N-1) cuando la red es escasa.

Como resultado, obtenemos la matriz de adyacencia A. Si bien la generación de instancias de red es un problema directo, la agrupación de grafos es su problema inverso. En otras palabras, inferimos las asignaciones de clúster de los vértices σ o sus distribuciones de probabilidad a medida que aprendemos los parámetros (γ, ω), dada la matriz de adyacencia A y el número de la entrada (máxima) de los conglomerados q. Después de haber obtenido los resultados para varios valores de q, seleccionamos q*. Obsérvese aquí que el valor de entrada q es el número máximo de conglomerados permitidos y que el número real de conglomerados que aparece para un q determinado puede ser menor que q.

Errores de validación cruzada

Consideramos cuatro tipos de errores de validación cruzada. Todos los errores se calculan utilizando los resultados de inferencias basadas en el modelo de bloques estocástico. Denominamos A\(i,j) como la matriz de adyacencia de una red en la que A ij no se observa, es decir, en la que se desconoce si  A ij  = 0 o A ij  = 1. En lo sucesivo generalmente denominamos p (X | Y ) como la probabilidad de X que está condicionada a Y o la probabilidad de Y cuando se observa X.

El proceso de predicción de enlaces es doble: primero, estimamos las asignaciones de clúster de un par de vértices; entonces, predecimos si existe una ventaja. Por lo tanto, la distribución predictiva posterior p(Aij=1|A\(i,j))  del modelo en el que los vértices i y j están conectados dataset dado A\(i,j), o la probabilidad marginal del modelo aprendido para el par de vértices, es la siguiente:

p(Aij=1|A\(i,j))=σi,σjp(Aij=1|σi,σj)p(σi,σj|A\(i,j))=p(Aij=1|σi,σj)A\(i,j),
(1)

donde A\(i,j) es el promedio sobre  y hemos omitido algunos de los parámetros condicionados. El error debe ser pequeño cuando la predicción de existencia de enlace para cada par de vértices es precisa. En otras palabras, la distribución de probabilidad en la que cada elemento tiene probabilidad de ecuación (1) está próxima, en el sentido de la divergencia de Kullback-Leibler (KL), a la distribución real, que se da como la distribución empírica. Por lo tanto, es natural emplear, como medida del error de predicción, la función de error de entropía cruzada 37.
  ,
(2)
donde
X¯i<jX(Aij)/L. Notar que hemos elegido las normalización de tal manera que E Bayes es típicamente O (1) en redes dispersas. Nos referimos a la ecuación (2) como el error de predicción de Bayes, que corresponde a la estimación LOOCV de la complejidad estocástica 38. Siempre que el modelo que utilizamos sea coherente con los datos, la distribución predictiva posterior es óptima como un elemento del error de predicción porque la dependencia intermedia (σ i σ j ) está completamente marginada y da el error más pequeño.
Desafortunadamente, la suposición de que el modelo que usamos es consistente con los datos es a menudo inválido en la práctica. En ese caso, el error de predicción Bayes E Bayes puede no ser óptimo para la predicción. En la ecuación (2), empleamos −
logp(Aij|A\(i,j)) como el error de un par de vértices. En cambio, podemos considerar la probabilidad logarítmica de las asignaciones de clústeres −logp(Aij|σi,σj) ser un elemento fundamental y una medida logp(Aij|σi,σj)A\(i,j) como el error de predicción de un par de vértices. En otras palabras, las asignaciones de clúster (σ i σ j ) se extraen de la distribución posterior, y el error del par de vértice se mide con respecto a las asignaciones fijas. Entonces, la función de error de entropía cruzada correspondiente es

(3)
Nos referimos a la ecuación (3) como el error de predicción de Gibbs. Si la distribución de probabilidad de las asignaciones de clúster es muy alta, entonces E Gibbs estará cerca de E Bayes, y ambas serán relativamente pequeñas si esas asignaciones predicen bien la red real. Alternativamente, podemos medir la estimación máxima a posteriori (MAP) de la ecuación (3). En otras palabras, en lugar de tomar el promedio sobre p(σi,σj|A\(i,j)), seleccionamos las asignaciones más probables para medir el error. Nos referimos a  E MAP(q como el error de predicción.
Finalmente, definimos el error de entrenamiento de Gibbs, al que nos referimos como entrenamiento E. Este error se puede obtener tomando el promedio sobre  p(σ i σ j |A en lugar de la ecuación (3), es decir,
.
(4)

Debido a que hacemos uso de la información con respecto a la existencia del enlace cuando tomamos el promedio, el resultado no es un error de predicción, sino que es la bondad del ajuste del modelo supuesto a los datos dados.

A primera vista, los errores de validación cruzada que presentamos anteriormente pueden parecer inviables desde el punto de vista computacional porque debemos conocer
 con respecto a cada par de vértices. En la sección Métodos, sin embargo, mostramos que tenemos expresiones analíticas de los errores de validación cruzada en términos de los resultados de BP; por lo tanto, la evaluación del modelo para las redes dispersas es muy eficiente.
En las siguientes subsecciones, mostramos el rendimiento de estos errores de validación cruzada para varias redes en relación con el rendimiento de la energía libre de Bethe.

Redes del mundo real

En primer lugar, y lo más importante, mostramos el rendimiento de la energía gratuita de Bethe y los errores de validación cruzada en las redes del mundo real. Las Figuras 1 y 3 muestran los resultados en la red de libros sobre política de los Estados Unidos39 (a los que nos referimos como libros políticos). Esta red es una red de compra cuyos vértices son libros vendidos en Amazon.com, y cada enlace representa un par de libros que compró el mismo comprador; los metadatos del conjunto de datos tienen las etiquetas "conservador", "liberal" y "neutral".

Figura 3

Evaluaciones modelo y clusters inferidos en la red de libros sobre política estadounidense. (a) energía libre de Bethe y (b) errores de predicción y entrenamiento como funciones del número de conglomerados q. Los cuatro datos en (b) son, de arriba abajo, los errores de predicción de Gibbs E Gibbs (triángulos verdes), las estimaciones MAP E MAP de E Gibbs (cuadrados amarillos), los errores de predicción Bayes E Bayes (círculos rojos) y los errores de entrenamiento de Gibbs Entrenamiento E (diamantes azules). Para cada error, el término constante se descuida y el error estándar se muestra en la sombra. (c) Los parámetros aprendidos, ω y γ, se visualizan desde q = 2 a 8. (d) Las asignaciones de clúster que se indican en los metadatos del conjunto de datos; los vértices del mismo color pertenecen al mismo grupo.

La figura 3b muestra que la estimación de validación cruzada del error de predicción de Gibbs E Gibbs se satura favorablemente, mientras que la energía libre de Bethe (figura 3a), el error de predicción de Bayes E Bayes y el entrenamiento E de error de Gibbs disminuyen a medida que aumentamos el número de entrada de clusters q. Aunque la estimación de MAP del error de predicción de Gibbs E MAP a menudo muestra un comportamiento similar al error de predicción de Gibbs E Gibbs, observamos en los resultados de otros conjuntos de datos que no parece ser claramente superior a E Gibbs.

Comparado con el error de predicción de Gibbs E Gibbs, el error de predicción de Bayes E Bayes parece ser más sensible a la suposición de que el modelo de bloques estocástico genera una red, por lo que rara vez observamos la clara saturación del error LOOCV. En una subsección a continuación, mostramos cómo se produce el sobreajuste y el ajuste insuficiente derivando expresiones analíticas para las diferencias entre los errores de validación cruzada.

¿Cómo deberíamos seleccionar el número de clústeres q * de los diagramas de validación cruzada obtenidos? Aunque este problema está bien definido cuando seleccionamos el mejor modelo, es decir, el modelo que tiene el menor error, es común seleccionar el modelo más parsimonioso en lugar del mejor modelo en la práctica. Entonces, ¿cómo determinamos el "modelo más parsimonioso" de los resultados? Este problema no está bien definido, y no hay una prescripción basada en principios obtenida por consenso.

Sin embargo, existe una regla empírica llamada regla de "error estándar uno" 27 que se ha utilizado con frecuencia. Recuerde que cada estimación de validación cruzada se da como un error promedio por enlace; por lo tanto, también podemos medir su error estándar. La regla de "un error estándar" sugiere seleccionar el modelo más simple cuya estimación no es más que un error estándar por encima de la estimación del mejor modelo. En el caso de la red de libros políticos, el mejor modelo es el modelo en el que q = 6. Debido a que el modelo más simple dentro del rango de un error estándar es q = 5, es nuestra elección final.

La partición real para cada valor de q se muestra en las figuras 1 y 3c. Las asignaciones de clúster indicadas en los metadatos se presentan en la Fig. 3d como referencia. En la figura 3c, se visualizan los valores aprendidos de los parámetros ω y γ: un elemento de mayor valor de la matriz de afinidad ω se indica en un color más oscuro, y el tamaño de un elemento refleja la fracción del tamaño del grupo γ σ. Para q = 3, podemos identificar dos comunidades y un clúster que está conectado de manera uniforme a esas comunidades, como se presume en los metadatos. Para q = 5, además, también se detectan los conjuntos de vértices centrales en cada comunidad. Tenga en cuenta que la recuperación de las etiquetas en los metadatos no es nuestro objetivo. Los metadatos no se determinan en función de la estructura de la red y no son la partición de verdad del terreno40.

También se debe tener en cuenta que minimizamos la energía libre de Bethe en el paso de inferencia del clúster en todos los casos. Cuando seleccionamos el número de clústeres q *, es decir, en el paso de selección del modelo, proponemos usar los errores de validación cruzada en lugar de la energía libre de Bethe.

Los resultados de otras redes se muestran en la Fig. 4. Son la red de amistad de un club de karate41, una red de coautoría de científicos que trabajan en redes7 (ver la referencia 42 para detalles de los conjuntos de datos) y la red metabólica de C. elegans43 . Nos referimos a aquellos como Karate Club, Network Science y C. elegans, respectivamente. Los resultados son cualitativamente similares a la red de libros políticos. Tenga en cuenta que la dependencia de estado inicial puede ser sensible cuando el número de entrada de los clústeres q es grande. Por lo tanto, los resultados pueden ser inestables en dicha región.


Figura 4

Resultados de evaluaciones modelo para varias redes del mundo real. Se trazan de la misma manera que la Fig. 3a, b.

De los resultados en las figuras 3 y 4, uno podría concluir que el error de predicción de Gibbs E Gibbs es el único criterio útil en la práctica. Sin embargo, por ejemplo, cuando se utiliza el método de retención en lugar del LOOCV (consulte la sección de Métodos), se puede confirmar que el error de predicción de Bayes E Bayes también se comporta razonablemente.

El error para q = 1

Para la red del club de karate en la figura 4, vemos que los errores siguen disminuyendo a excepción del error de predicción de Gibbs  E Gibbs. Recuerde que, para que el modelo de bloque estocástico con un gran qy un grado promedio bajo sean detectables, se requiere que la red muestre una estructura modular suficientemente fuerte21. Por lo tanto, aunque a priori no sabemos a qué error de predicción se debe hacer referencia, porque la red tiene un grado promedio menor que 5, es difícil creer que los errores distintos de E Gibbs sean apropiados. El error de predicción de Gibbs E Gibbs tiene el menor error en q = 3, y el modelo en el que q = 2 tiene un error dentro del rango de un error estándar de q = 3. Sin embargo, uno podría sospechar que el modelo más parsimonioso es el modelo con q = 1, es decir, el modelo que deberíamos suponer es un grafo aleatorio uniforme, y no hay una estructura modular estadísticamente significativa. En este caso, la probabilidad de conexión para un par de vértices arbitrarios está determinada por un único parámetro, es decir, , y es simplemente  ω=2L/N(N). Además, no hay diferencia entre los errores que enumeramos anteriormente. Por lo tanto,

(5)

Aquí, utilizamos el hecho de que ω = O (N -1) porque consideramos redes dispersas. En cada diagrama de errores de validación cruzada, los términos constantes y O (N -1) se descuidan. El número de vértices y enlaces en la red del club de karate es N = 34 y L = 78, respectivamente, es decir, -logω≃1.97, que es mucho más grande que los errores para q = 2; así concluimos que el número de conglomerados q * = 2.

Modelo de bloque estocástico corregido de grado

Se ha observado que el modelo estándar de bloques estocásticos que explicamos anteriormente a menudo no es adecuado para inferir clusters en redes del mundo real porque muchos de ellos tienen una distribución de grados libre de escala, mientras que el modelo estándar de bloques estocásticos está restringido a tener un Poisson. distribución de grados Esta incoherencia afecta tanto a la inferencia del clúster para un q * dado como a la selección del modelo. Por ejemplo, como se muestra en la figura 5a, encontramos que todos los criterios se sobreponen en gran medida para la red de blogs políticos cuando se utiliza el modelo estándar de bloques estocásticos. La red de blogs políticos es una red de hipervínculos entre blogs sobre política estadounidense (descuidamos las direcciones de los enlaces), que se espera que tenga dos grupos.





Resultados de las evaluaciones de modelos para la red de hipervínculos entre blogs sobre política de los Estados Unidos. (a) Los resultados del modelo estándar y los parámetros aprendidos. (b) Los resultados del modelo corregido en grado y los parámetros aprendidos.



El modelo de bloque estocástico de grado corregido [44, 45] se usa a menudo como una alternativa. Este modelo tiene el parámetro de corrección de grado θ i para cada vértice además de γ y ω, donde θ permite que un grupo tenga una distribución de grados heterogénea. (Consulte la ref. 44 para conocer los detalles del modelo). La evaluación del modelo de validación cruzada puede extenderse directamente al modelo de bloque estocástico de grado corregido: para la inferencia de las asignaciones de conglomerados, el algoritmo BP se puede encontrar en la ref. 46; para los errores de validación cruzada, solo necesitamos reemplazar ωσi,σj para la probabilidad y p(Aij=1|σi,σj) con θiωσi,σjθj en cada caso. Como se muestra en la Fig. 5b, la evaluación es razonable cuando se usa un modelo de bloque estocástico corregido en grados. Aunque el error cae para q ≥ 5, es mejor descartar esta parte porque el número de iteraciones hasta que la convergencia se vuelve relativamente grande allí; lo consideramos como la "solución incorrecta" que se menciona en la ref. 47.

Cuando q = 1, no asumimos el grafo aleatorio de Erdös-Rényi, sino que asumimos el grafo aleatorio que tiene la misma secuencia de grados esperada que el conjunto de datos real7, que es el modelo que se usa a menudo como modelo nulo en modularidad. Por lo tanto, la probabilidad de que los vértices i y j estén conectados es d i d j /2L. Después de algún álgebra, asumiendo que didj/2L1, el error para q = 1 es aproximadamente
11Li=1Ndilogdi+log(2L),
(6)

que es igual a la ecuación (5) cuando la red es regular. En el caso de la red de blogs políticos, el error de validación cruzada para q = 1 es aproximadamente 3.42. (Es 2.42 en el grafo porque se descuida el término constante). Por lo tanto, obtenemos q * = 2.


Redes sintéticas y el umbral de detectabilidad.

Es importante investigar qué tan bien se desempeñan los errores de validación cruzada en una situación crítica, es decir, el caso en el que la red está cerca del grafo aleatorio uniforme. Para lograr este objetivo, observamos el rendimiento en el modelo de bloque estocástico, el modelo que asumimos para la inferencia en sí. Como se explica en la subsección del modelo de bloque estocástico, la cercanía al grafo aleatorio uniforme se especifica con la matriz de afinidad. Aquí, consideramos una estructura de comunidad simple: establecemos ω para los elementos diagonales, y los elementos restantes se configuran en ω out, donde ω in ≥ ω out. Parametrizamos la proximidad al grafo aleatorio uniforme, con ϵ=ωout/ωin; ϵ=0representa que la red se compone de grupos completamente desconectados, y ϵ = 1 representa el grafo aleatorio uniforme. Hay un punto de transición de fase ∗ ∗ por encima del cual es estadísticamente imposible inferir una estructura plantada. Este punto se llama umbral de detectabilidad. Nuestro interés aquí es determinar si el número plantado de conglomerados q * se puede identificar correctamente usando los errores de validación cruzada cuando ϵ se establece para estar cerca de ϵ ∗.

La Figura 6 muestra la energía libre de Bethe y los errores de validación cruzada para los modelos de bloques estocásticos. En cada grafo, establecemos q * = 4, cada grupo tiene 1,000 vértices y el grado promedio c se establece en 8. De abajo hacia arriba, los valores de ϵ
son 0.1, 0.15, 0.2 y 0.25, mientras que el umbral de detectabilidad es ϵ ∗ ≃0.31 21. Tenga en cuenta que cuando el valor de ϵ está cerca de ϵ, las asignaciones de conglomerados inferidas apenas se correlacionan con las asignaciones plantadas; por lo tanto, el resultado está cerca de una conjetura aleatoria de todos modos.

 
Desempeño de los criterios de evaluación del modelo en varios modelos de bloques estocásticos. Los resultados de (a) Bethe energía libre, (b) error de predicción de Bayes E Bayes, (c) error de predicción de Gibbs E Gibbs, (d) estimación MAP del error de predicción de Gibbs E MAP, y (e) error de entrenamiento de Gibbs E entrenamiento son exhibidos. Las líneas en cada gráfica representan los resultados de varios valores de ϵ. 



En todas las gráficas, las curvas de validación se vuelven más suaves a medida que aumentamos el valor de ϵ, lo que indica que es difícil identificar el modelo más parsimonioso. Está claro que la energía libre de Bethe y el error de predicción de Bayes E Bayes se desempeñan mejor que el error de predicción de Gibbs E Gibbs en el presente caso porque las redes que analizamos se corresponden exactamente con el modelo que asumimos. La Figura 6 muestra que el error de predicción de Gibbs E Gibbs y su estimación de MAP E MAP subestiman q * cerca del umbral de detectabilidad. Este hallazgo es consistente con los resultados que obtuvimos para las redes del mundo real que la energía libre de Bethe y el error de predicción de Bayes E Bayes tienden a sobreestimar. De hecho, bajo ciertas suposiciones, podemos deducir que el error de predicción de Bayes E Bayes identifica el número de agrupaciones plantadas hasta el umbral de detectabilidad, mientras que el error de predicción de Gibbs E Gibbs cumple estrictamente cerca del umbral de detectabilidad. (Consulte la sección Métodos para obtener la derivación). Por lo tanto, existe un compromiso entre el error de predicción de Bayes E Bayes y el error de predicción de Gibbs E Gibbs; su superioridad depende de la precisión de la suposición del modelo de bloque estocástico y la borrosidad de la red.

Discusión

Para determinar el número de agrupaciones, ambos propusimos estimaciones de errores de predicción LOOCV utilizando BP y revelamos algunas de las relaciones teóricas entre los errores. Son de principios y escalables y, en la medida en que los examinamos, tienen un buen desempeño en la práctica. A diferencia de los criterios similares a BIC, los errores de predicción no requieren que la consistencia del modelo sea aplicable. Además, aunque solo tratamos los modelos de bloques estocásticos estándar y con corrección de grado, la aplicabilidad de nuestras estimaciones LOOCV no se limita a estos modelos. Con una elección adecuada de modelos de bloques, esperamos que el marco actual también se pueda utilizar en la gran mayoría de las redes del mundo real, como las redes dirigidas, ponderadas y bipartitas y las redes que tienen bordes positivos y negativos. Esto contrasta con algunos criterios que se limitan a estructuras modulares específicas.

El código para los resultados del estudio actual se puede encontrar en la ref. 50. (Consulte la descripción en el mismo para obtener más detalles del algoritmo).

La selección del número de grupos q * a veces puede ser sutil. Por ejemplo, como mencionamos brevemente anteriormente, cuando el algoritmo de inferencia depende sensiblemente de la condición inicial, los resultados de la LOOCV pueden ser inestables; todos los algoritmos comparten este tipo de dificultad siempre que se considere el problema de optimización no convexo. A veces, la curva LOOCV puede ser irregular de tal manera que es difícil determinar el modelo más parco. Para este problema, notamos que hay mucha información además de los errores de predicción que nos ayudan a determinar la cantidad de clusters q *, y debemos tenerlos en cuenta. Por ejemplo, podemos detener la evaluación o descartar el resultado cuando (i) el número de iteraciones hasta que la convergencia sea grande47, como hemos observado en la Fig. 5b, (ii) la partición resultante no muestra un comportamiento significativo, por ejemplo, no patrón claro en la matriz de afinidad, o (iii) el número real de agrupaciones no aumenta a medida que aumenta q. Toda esta información está disponible en la salida de nuestro código.

Es posible que la dificultad de seleccionar el número de grupos q * surja en el propio modelo. La adaptación con los modelos de bloques estocásticos es flexible; por lo tanto, el algoritmo puede inferir no solo las estructuras de distribución y desarticulación, sino también las estructuras más complejas. Sin embargo, la flexibilidad también indica que los modelos ligeramente diferentes podrían adaptarse a los datos tan bien como el modelo más parsimonioso. Como resultado, podemos obtener una curva de LOOCV que disminuye gradualmente para un amplio rango de q. Por lo tanto, debe haber una compensación entre la flexibilidad del modelo y la dificultad de la evaluación del modelo.

A pesar de que la evaluación del modelo basada en la precisión de la predicción es un principio bien aceptado, según nuestro conocimiento, el método que es aplicable a redes modulares a gran escala en el marco bayesiano se discute en este estudio por primera vez. Para una mejor precisión y escalabilidad, creemos que hay más por hacer. Uno podría investigar si los errores de LOOCV funcionan, en cierto sentido, mejor que otros criterios similares a BIC. Las relaciones y tendencias de los errores de LOOCV en comparación con otros criterios de evaluación del modelo ciertamente proporcionarían un trabajo futuro interesante, aunque es poco probable que podamos concluir la superioridad de los criterios sobre los demás28. En la práctica, si la asignación de recursos lo permite, siempre es mejor evaluar múltiples criterios51.



Referencias


1. Barabsi, A.-L. Network Science 1 edn. (Cambridge University Press, 2016).
2. Newman, M. E. J. Networks: An Introduction (Oxford university press, 2010).
3. Fortunato, S. Community detection in graphs. Phys. Rep. 486, 75–174 (2010).
4. Leger, J.-B., Vacher, C. & Daudin, J.-J. Detection of structurally homogeneous subsets in graphs. Stat. Comput. 24, 675–692 (2014).
5. Girvan, M. & Newman, M. E. J. Community structure in social and biological networks. Proc. Natl. Acad. Sci. USA 99, 7821–7826 (2002).
6. Radicchi, F., Castellano, C., Cecconi, F., Loreto, V. & Parisi, D. Defining and identifying communities in networks. Proc. Natl. Acad. Sci. USA 101, 2658–63 (2004).
7. Newman, M. E. J. Finding community structure in networks using the eigenvectors of matrices. Phys. Rev. E 74, 036104 (2006).
8. Lancichinetti, A., Fortunato, S. & Radicchi, F. Benchmark graphs for testing community detection algorithms. Phys. Rev. E 78, 046110 (2008).
9. Holland, P. W., Laskey, K. B. & Leinhardt, S. Stochastic blockmodels: First steps. Soc. Networks 5, 109–137 (1983).
10. Newman, M. E. J. & Girvan, M. Finding and evaluating community structure in networks. Phys. Rev. E 69, 026113 (2004).
11. Zhang, P. & Moore, C. Scalable detection of statistically significant communities and hierarchies, using message passing for modularity. Proc. Natl. Acad. Sci. USA 111, 18144–18149 (2014).
12. Rosvall, M. & Bergstrom, C. Maps of random walks on complex networks reveal community structure. Proc. Natl. Acad. Sci. USA 105, 1118–1123 (2008).
13. Rosvall, M. & Bergstrom, C. T. Multilevel compression of random walks on networks reveals hierarchical organization in large integrated systems. PloS One 6, e18209 (2011).
14. Newman, M. E. J. Spectral methods for community detection and graph partitioning. Phys. Rev. E 88, 042822 (2013).
15. Shi, J. & Malik, J. Normalized cuts and image segmentation. IEEE Transactions on Pattern Analysis and Machine Intelligence 22, 888–905 (2000).
16. Luxburg, U. A tutorial on spectral clustering. Stat. Comput. 17, 395–416 (2007).
17. Krzakala, F. et al. Spectral redemption in clustering sparse networks. Proc. Natl. Acad. Sci. USA 110, 20935–40 (2013).
18. Abbe, E. & Sandon, C. Recovering communities in the general stochastic block model without knowing the parameters. In Cortes, C., Lawrence, N. D., Lee, D. D., Sugiyama, M. & Garnett, R. (eds) Advances in Neural Information Processing Systems 28, 676–684 (Curran Associates, Inc., 2015).
19. Nowicki, K. & Snijders, T. A. B. Estimation and prediction for stochastic blockstructures. J. Amer. Statist. Assoc. 96, 1077–1087 (2001).
20. Daudin, J. J., Picard, F. & Robin, S. A mixture model for random graphs. Stat. Comput. 18, 173–183 (2008).
21. Decelle, A., Krzakala, F., Moore, C. & Zdeborová, L. Asymptotic analysis of the stochastic block model for modular networks and its algorithmic applications. Phys. Rev. E 84, 066106 (2011).
22. Hayashi, K., Konishi, T. & Kawamoto, T. A tractable fully bayesian method for the stochastic block model. arXiv preprint arXiv:1602.02256 (2016).
23. Newman, M. E. J. & Reinert, G. Estimating the number of communities in a network. Phys. Rev. Lett. 117, 078301 (2016).
24. Peixoto, T. P. Parsimonious module inference in large networks. Phys. Rev. Lett. 110, 148701 (2013).
25. Peixoto, T. P. Hierarchical Block Structures and High-Resolution Model Selection in Large Networks. Physical Review X 4, 011047 (2014).
26. Peixoto, T. P. Model selection and hypothesis testing for large-scale network models with overlapping groups. Phys. Rev. X 5, 011033 (2015).
27.  Hastie, T. J., Tibshirani, R. J. & Friedman, J. H. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer series in statistics (Springer, New York, 2009).
28. Arlot, S. & Celisse, A. A survey of cross-validation procedures for model selection. Statist. Surv. 4, 40–79 (2010).
29. Celeux, G. & Durand, J.-B. Selecting hidden markov model state number with cross-validated likelihood. Comput. Stat. 23, 541–564 (2008).
30. Vehtari, A. & Ojanen, J. A survey of bayesian predictive methods for model assessment, selection and comparison. Stat. Surv. 142–228 (2012).
31. Airoldi, E. M., Blei, D. M., Fienberg, S. E. & Xing, E. P. Mixed membership stochastic blockmodels. In Koller, D., Schuurmans, D., Bengio, Y. & Bottou, L. (eds) Advances in Neural Information Processing Systems 21, 33–40 (Curran Associates, Inc., 2009).
32. Hoff, P. Modeling homophily and stochastic equivalence in symmetric relational data. In Platt, J. C., Koller, D., Singer, Y. & Roweis, S. T. (eds) Advances in Neural Information Processing Systems 20, 657–664 (Curran Associates, Inc., 2008).
33. Chen, K. & Lei, J. Network cross-validation for determining the number of communities in network data. arXiv preprint arXiv:1411.1715 (2014).
34. Decelle, A., Krzakala, F., Moore, C. & Zdeborová, L. Inference and Phase Transitions in the Detection of Modules in Sparse Networks. Phys. Rev. Lett. 107, 065701 (2011).
35. Mossel, E., Neeman, J. & Sly, A. Reconstruction and estimation in the planted partition model. Probab. Theory Relat. Fields 1–31 (2014).
36. Massoulié, L. Community detection thresholds and the weak ramanujan property. In Proceedings of the 46th Annual ACM Symposium on Theory of Computing, STOC ’ 14, 694–703 (ACM, New York, NY, USA, 2014).
37. Bishop, C. M. Pattern Recognition and Machine Learning (Information Science and Statistics) (Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006).
38. Levin, E., Tishby, N. & Solla, S. A. A statistical approach to learning and generalization in layered neural networks. In Proceedings of the Second Annual Workshop on Computational Learning Theory, COLT ’ 89, 245–260 (1989).
39. Newman, M. E. J. Modularity and community structure in networks. Proc. Natl. Acad. Sci. USA 103, 8577–8582 (2006).
40. Peel, L., Larremore, D. B. & Clauset, A. The ground truth about metadata and community detection in networks. arXiv:1608.05878 (2016).
41. Zachary, W. W. An information flow model for conflict and fission in small groups. J. Anthropol. Res. 33, 452–473 (1977).
42. Newman, M. E. J. http://www-personal.umich.edu/~mejn/netdata/ (Date of access: 11/05/2015) (2006).
43. Duch, J. & Arenas, A. Community detection in complex networks using extremal optimization. Phys. Rev. E 72, 027104 (2005).
44. Karrer, B. & Newman, M. E. J. Stochastic blockmodels and community structure in networks. Phys. Rev. E 83, 016107 (2011).
45. Zhao, Y., Levina, E. & Zhu, J. Consistency of community detection in networks under degree-corrected stochastic block models. Ann. Stat. 2266–2292 (2012).
46. Yan, X. et al. Model selection for degree-corrected block models. J. Stat. Mech. Theor. Exp. 2014, P05007 (2014).
47. Newman, M. E. J. & Clauset, A. Structure and inference in annotated networks. Nat. Commun. 7, 11863 (2016).
48. Csiszár, I. Axiomatic characterizations of information measures. Entropy 10, 261 (2008).
49. Amari, S.-i & Cichocki, A. Information geometry of divergence functions. Bulletin of the Polish Academy of Sciences: Technical Sciences 58, 183–195 (2010).
50. Kawamoto, T. https://github.com/tatsuro-kawamoto/graphBIX (Date of access: 13/09/2016) (2016).
51. Domingos, P. A few useful things to know about machine learning. Commun. ACM 55, 78–87 (2012).
52. Mézard, M. & Montanari, A. Information, Physics, and Computation (Oxford University Press, 2009).
53. Opper, M. & Winther, O. Mean field approach to bayes learning in feed-forward neural networks. Phys. Rev. Lett. 76, 1964–1967 (1996).