TESIS DE GRADO
Predicción de enlaces en redes
sociales modeladas por grafos
Director: Dr. Marcelo G. Armentano
Codirector: Dr. Ariel J. Monteseri
n
ÍNDICE
1 Introducción……….. 3
1.1 Motivación e introducción a la problemática………... 3
1.2 Propuesta……….. 5
1.3 Organización de la tesis……….. 6
2 Marco conceptual y teórico………. 8
2.1 Marco teórico……….... 8
2.1.1 Red social……….. 8
2.1.2 Análisis de redes sociales……….. 10
2.1.3 Grafo……….. 11
2.1.4 Link prediction……….. 11
2.1.5 Campos de aplicación de la predicción de enlaces………... 13
2.1.6 Métricas empleadas………. 14
2.1.6.1 Métricas topológicas……….... 15
2.1.6.2 Métricas sobre los atributos de los nodos……… 21
2.1.6.3 Métricas adicionales……….... 23
2.1.6.4 Enfoques de alto nivel (proprocesamientos)... 25
2.1.7 Métodos de evaluación………... 25
2.1.7.1 Curva ROC………... 26
2.1.7.2 Área bajo la curva (AUC)……….... 28
2.1.7.3 Recall vs precisión………... 28
2.2 Trabajos relacionados………. 29
3 Desarrollo de la propuesta………. 40
3.1 Relevamiento de herramientas de código abierto relacionadas……….. 41
3.2 Estructura de la herramienta elegida……….... 42
3.3 Soporte a diferentes tipos de grafos………. 46
3.4 Métricas desarrolladas………... 48
3.5 Parámetros de configuración adicionales………... 50
3.6 Métricas sobre un grafo……….. 52
3.7 Clustering……….. 52
4 Diseño e implementación………... 54
4.1 Requerimientos funcionales……….. 54
4.2 Lógica de link prediction………. 55
4.2.1 Incorporación de las métricas a la técnica de predicción……….. 58
4.2.2 Interfaz LongTask………. 59
4.2.3 Interfaz gráfica de Link Prediction………. 60
4.2.5 Generación de resultados……….. 65
4.2.6 Clustering y estadísticas iniciales……….. 68
4.2.7 Consideraciones de implementación……….... 69
4.3 Persistencia de datos………. 70
5 Experimentación……….. 72
5.1 Casos de estudio………. 73
5.1.1 Dataset “Jazz Musicians Network”………... 74
5.1.2 Dataset “Les Miserables”………... 75
5.1.3 Dataset para evaluar la métrica Node Information………. 76
5.1.4 Dataset para evaluar la métrica Vector Node Information………. 78
5.2 Selección de valores apropiados para los parámetros de configuración…... 79
5.2.1 Elección de porcentajes de aristas a ocultar………... 80
5.2.2 Elección de cantidades de predicciones……….. 80
5.2.3 Elección de parámetros especiales para PD y HT………. 82
5.3 Registro y análisis de los experimentos………... 83
5.3.1 Análisis sobre el dataset Jazz………... 83
5.3.1.1 Experimentos con métricas simples………. 84
5.3.1.2 Observaciones……….. 85
5.3.1.3 Experimentos con métricas con parámetros adicionales……….. 87
5.3.1.4 Observaciones……….. 88
5.3.1.5 Experimentos con la combinación de métricas……….….. 89
5.3.1.6 Experimentos con el preprocesamiento de clustering………... 90
5.3.2 Análisis sobre el dataset Les Miserables………. 92
5.3.2.1 Experimentos con métricas simples………. 93
5.3.2.2 Observaciones……….. 94
5.3.2.3 Experimentos con métricas con parámetros adicionales……….. 96
5.3.2.4 Observaciones……….. 96
5.3.2.5 Experimentos con la combinación de métricas………... 97
5.3.2.6 Experimentos con el preprocesamiento de clustering………... 97
5.3.3 Análisis sobre el dataset Contactos Empresa………. 98
5.3.3.1 Registro de experimentos………... 98
5.3.3.2 Observaciones……….. 99
5.3.4 Análisis sobre el dataset para Vector Node Information………... 100
5.3.4.1 Registro de experimentos………... 100
5.3.4.2 Observaciones……….. 100
5.4 Observaciones generales………... 101
6 Conclusiones……….... 104
6.1 Contribuciones……….. 105
6.2 Limitaciones y Trabajos Futuros……… 105
1. INTRODUCCIÓN
1.1. Motivación e introducción a la problemática
El trabajo propuesto surge a partir del interés en estudiar las cada vez más populares redes sociales, realizando un análisis en profundidad que permita comprender la evolución de las mismas a lo largo del tiempo.
Las distintas acciones o relaciones que pueden darse dentro del contexto de las redes sociales pueden variar enormemente entre unas y otras, de acuerdo a las características y enfoques sobre los cuales han sido creadas cada una. Estas interacciones pueden representar desde una solicitud para poder empezar a relacionarse virtualmente (como es el caso de Facebook) o para tener acceso al contenido subido por otros usuarios (tal como sucede al seguir a una cuenta de Twitter o al suscribirse a otra en YouTube), con fines laborales (redes del tipo Linkedin), etc.
La masividad y alcance de las redes sociales es tan considerable, que personas con muchos seguidores (en redes sociales como YouTube o Twitter, se le dice “seguidor” de una cuenta a aquel usuario que se ha suscrito a la misma para poder ver los contenidos publicados en ella y, en caso de así desearlo, ser notificado cuando se publique algo nuevo) pueden ganar mucho dinero, ya sea a través de la publicidad que maneja la red social o por terceros que acuerdan una suma de dinero a cambio de realizar publicidad de cualquier índole, ya sea propaganda política, recomendar un producto, etc.
Por lo mencionado anteriormente con respecto a la dimensión, utilidad e importancia de las redes sociales, muchas investigaciones han surgido (desde varios campos científicos) en torno a las mismas con el fin de comprender su dinámica y evolución, y así poder sacar provecho de ello o, simplemente, para profundizar los conocimientos que se tienen sobre el comportamiento de las mismas. Dentro de las distintas líneas de investigación que se enfocan sobre las redes sociales, la que se pretende seguir en este trabajo es aquella que estudia la mejor manera de predecir las posibles interacciones que se pueden dar entre los individuos que no se hayan relacionado hasta el momento en un red social. Dentro del estudio de las redes sociales, la línea antes descrita es conocida como predicción de enlaces (o link prediction
según su traducción al inglés).
tiempo futuro basándose en distintos tipos de características de la red.
Esta probabilidad de relacionarse, en un futuro, dos miembros de la red es proporcional a la similitud entre los mismos. En líneas generales, a una mayor similitud entre dos miembros se le corresponderá una probabilidad más grande de que éstos comiencen a interactuar en un futuro próximo. A estos fines, las redes sociales son modeladas mediante un grafo, ya que sobre esta representación es posible aplicar distintas métricas que permiten calcular la similitud entre dos nodos desde diversos enfoques. El origen de estas métricas puede variar, pudiendo ser éstas provenientes de la teoría de grafo o, incluso, aplicables directamente a los datos de los usuarios.
Teniendo en cuenta que cada una de las distintas métricas propuestas en la literatura poseen sus pros y sus contras, surge la necesidad de experimentar con ellas para determinar cuál es el mejor enfoque que se debe emplear a la hora de predecir los enlaces.
De acuerdo a la investigación realizada al incursionar en el contexto de la predicción de enlaces, se descubrió que existe una variante que no ha sido lo suficientemente explotada y analizada. Dicha variante es la consideración de la combinación de métricas para el cálculo de la similitud. La precisión obtenida por las predicciones realizadas mediante el empleo de varias métricas en simultáneo, podría mejorar potencialmente a la que se obtiene si se utiliza cada una individualmente.
A la gran variedad de métricas y combinaciones posibles entre las mismas, se le suma el hecho de que es probable que una métrica modifique su funcionamiento según las características de la red sobre la que se aplique, impidiendo que se pueda confiar plenamente en una única métrica, independiente del entorno en el que se utilizará.
rendimientos en esas condiciones, y así asegurar un resultado óptimo.
Tal como puede apreciarse, entonces, los experimentos y análisis requeridos para encontrar el método más eficaz a la hora de predecir enlaces en una red social presenta el desafío principal de este trabajo y la forma en la que se abordarán estas cuestiones se explicarán en la siguiente subsección.
1.2. Propuesta
El objetivo de este trabajo es poder cuantificar la noción intuitiva descrita en la sección anterior, donde se sostiene que la probabilidad de que se dé una interacción en el futuro entre dos cuentas de un grafo que representa a una red social, está relacionada con la similitud de los mismos.
Como se mencionó en la sección anterior es necesario poder modelar la red social mediante una representación que permita emplear sobre ella diferentes métricas útiles a la hora de determinar la similitud entre dos nodos y dicha representación será un grafo. Esta forma de entender una red social resulta adecuada ya que cada cuenta o persona en la red social se puede identificar mediante un nodo, los datos personales o características inherentes a la cuenta se ven como atributos propios de cada nodo y las relaciones entre ellos (ser amigos en el caso Facebook, que una persona siga la otra en Twitter, etc) se pueden representar mediante aristas entre los nodos. A partir de esto, se buscará poder determinar cuáles métricas llevan a realizar predicciones más precisas en una red, considerando aquellas que tengan un buen funcionamiento a nivel general así como las que mejor se desempeñen según características específicas de la red.
Para llevar a cabo la experimentación, será necesario disponer de una herramienta que permita la aplicación de métricas (o conjunto de métricas) sobre un grafo que esté representando a una red. Lógicamente, la misma no deberá sólamente permitir la aplicación de las métricas, sino también todas las tareas adicionales que esto conlleva, tales como: poder cargar un grafo que represente a una red social, guardar información propia de cada uno de los usuarios de la red social en forma de datos de cada nodo y editar, agregar y eliminar las relaciones y nodos que componen la red, entre otras.
similares a las requeridas. En caso de hallar una herramienta que por sus características se adapte en buena medida a los requerimientos antes descritos, se podría considerar la posibilidad de tomar la misma como base y reutilizarla aplicando los cambios y mejoras correspondientes para que se adapte a la problemática a tratar
Dichas mejoras no se limitan solo a añadir las métricas que se desean analizar, sino que se deberá crear un framework que permita combinar las mismas y que sea extensible, en el sentido de poder añadir nuevas métricas a la herramienta y que las mismas se puedan ejecutar y combinar sin problemas (siempre y cuando éstas estén bien definidas y sean compatibles). Esta última característica es fundamental debidoa que permitirá determinar si la aplicación de las métricas en conjunto puede mejorar la calidad de las predicciones realizadas utilizando cada métrica de forma individual.
Otra variante que se pretende incluir en la herramienta a desarrollar para este trabajo, es la posibilidad de realizar un preprocesamiento sobre la red antes de ejecutar la predicción de enlaces. Esta técnica se denomina clustering (Liben-Nowel y Kleinberg, 2004) y básicamente elimina las aristas más débiles (o, en otras palabras, los pares de nodos menos similares) de la red inicial, suponiendo que esto puede traducirse en una mejora de la calidad de las predicciones que se realicen luego sobre la red filtrada. Al igual que la posibilidad de combinar métricas, esta técnica se agrega de forma experimental, con el objetivo de determinar si su utilización puede mejorar efectivamente el desempeño de los predictores.
Una vez lograda la tarea de desarrollar la herramienta con las características deseadas, se realizarán los experimentos necesarios para poder establecer una comparación entre cada métrica (o combinación y ponderación de varias métricas), en la que se observe con qué eficacia predice cada una de ellas las interacciones que se darán entre nodos que aún no se han relacionado.
1.3. Organización de la tesis
Esta sección detalla la organización del resto del informe según el contenido incluído en cada capítulo.
En el capítulo 2 se introduce el marco conceptual y teórico relacionado al ámbito de la predicción de enlaces en redes sociales. Esto se lleva a cabo explicando los conceptos fundamentales sobre los que se basa el mismo, detallando las ideas fundamentales de trabajos relacionados y describiendo aquellas métricas y métodos de evaluación de las mismas que se emplearon.
relevamiento sobre herramientas de código libre para la predicción de enlaces y manejo de grafos que fue realizado con el fin de compararlas y seleccionar aquella que mejor cubra los requerimientos.
Llegando al capítulo 4, se lleva a cabo un análisis detallado de los requerimientos funcionales de la extensión y se describe la implementación que fue requerida para satisfacer los mismos. Para comprender mejor la tarea realizada, se incluyen los diagramas necesarios para comprender de qué forma fue agregada la nueva funcionalidad dentro de los módulos con los que contaba la herramienta tomada como base como así también los pseudocódigos asociados a los algoritmos más importantes que conforman la la extensión.
El capítulo 5 de este trabajo se encarga de explicar todos los aspectos relacionados a la experimentación con la herramienta desarrollada. Además de analizar la performance de las distintas métricas a partir de su aplicación en distintas redes sociales, se describen las características de cada uno de los datasets empleados y se justifican los valores seleccionados para los parámetros de configuración a la hora de realizar las pruebas.
2. Marco conceptual y teórico
Éste capítulo tiene como objetivo principal brindar una introducción al dominio del
presente trabajo, con el fin de poder comprender el lugar que ocupa el mismo dentro de todo lo que comprende la investigación y empleo de la técnica de predicción de enlaces.
En primer lugar se explican distintos conceptos fundamentales sobre los cuáles se
basa este trabajo, es decir, el marco teórico sobre el que se encuadra la predicción de enlaces y en especial este trabajo. Finalmente, se exponen las ideas principales
de algunos trabajos de investigación relacionados con el tema. Esto último servirá
para dar una idea del avance que existe en la actualidad con respecto a la técnica, así como para dejar al descubierto los sectores o variantes de la misma que todavía
no se han estudiado en profundidad y que pueden ser puntos de partida para
realizar avances o mejoras a futuro..
2.1 Marco teórico
Red social
Diariamente, la mayoría de las personas pasan mucho tiempo frente a sus pc´s, smartphones o tablets, y esto se debe en gran medida al auge que han tenido en los últimos años las redes sociales.
Las mismas son, por norma general, una plataforma compuesta por distintas cuentas que se relacionan entre sí mediante Internet. Estas cuentas, pueden estar asociadas tanto a organizaciones como a personas, teniendo como fin principal la comunicación entre ellas.
Las comunicaciones entre los usuarios se pueden dar de distintas maneras y sentidos de acuerdo a cada red social, ya sea solicitando la creación de un vínculo con otro usuario, intercambiando mensajes o información personal, y hasta compartiendo contenidos multimedia, etc. Debido a este intercambio continúo de información se dan vínculos entre los usuarios, con lo que la red puede verse también como una comunidad virtual.
Las redes sociales son elementos muy dinámicos, debido a que crecen y varían según el transcurso del tiempo. Las nuevas interacciones que se den entre los usuarios se traducirán en nuevos enlaces entre las cuentas que operan los mismos, o, traduciendo esto a la notación de grafos, los nodos que representan a las cuentas que van a interactuar serán conectados mediante una arista. Además, podrían suscribirse nuevos usuarios a la red social lo que involucraría la creación de un nuevos nodo en en el grafo. Por el contrario, si un usuario deseara dejar de formar parte de la red social, se deberían eliminar tanto el nodo asociado a su cuenta así como las aristas que inciden sobre el mismo.
Las redes sociales suelen tener algunas características especiales que deben ser consideradas a la hora de la aplicación de link prediction, principalmente en el momento en que se debe seleccionar el método de predicción que mejor se adapte a las características de la red. Tales particularidades se describen a continuación.
Efecto de mundo pequeño
Esta característica está referida al hecho de que la distancia promedio entre dos usuarios dentro una red es muy pequeña comparada con el tamaño real de la misma. En otras palabras, las redes sociales permiten que dos nodos relativamente lejanos puedan conectarse a través de un camino corto.
Esta propiedad se considera muy importante en el ámbito de las redes sociales ya que las nuevas ideas o noticias se esparcen rápidamente y permite que la difusión de un mensaje o contenido se logre con facilidad.
Sin embargo, a la hora de predecir enlaces este efecto denota un claro problema: dos usuarios que tengan poco en común en cuanto a sus datos personales (distintas localidades o países de residencia, diferentes ocupaciones, etc) pueden estar conectados por un camino bastante corto, siendo que probablemente no vayan a interactuar entre sí.
Debido a las características de éste fenómeno, el mismo puede afectar de forma negativa a algunas métricas de similitud, comprometiendo el desempeño de las predicciones realizadas con las mismas. Las métricas que se ven particularmente más perjudicadas, son aquellas que consideran únicamente la cercanía entre los nodos a la hora de calcular su similitud ya que, como se explicó anteriormente, la misma puede llegar a ser engañosa y no ser siempre una característica fiable dentro de la red.
Redes sin escalas: Existen redes cuya distribución de grados (es decir, la cantidad de arcos salientes de cada nodo) sigue una ley de potencia. A éste tipo de redes se las denomina redes sin escalas . 1
Como resultado de una investigación llevada a cabo por Derek de Solla Price (de Solla Price, 1965), se descubrió que el número de links asociados a documentos 1 "Scale-free network - Wikipedia, the free encyclopedia." 2011. 20 Sep. 2016
científicos o citaciones seguía una distribución de Pareto o ley de potencia, por lo que se trataba de una red sin escalas (aunque no las denominó de este modo). Price propuso un método para explicar cómo se daban las leyes de poder en las redes de citación de documentos, que luego se llamaría Conexión Preferencial (o Preferential Attachment).
En estudios más recientes, (Barabasi, 1999), se observó que algunos nodos tenían muchas más conexiones que otros y se los denominó “ejes”, ya que en cierta forma terminaban controlando el funcionamiento de la red. Luego de descubrir que otras redes en general también tenían una distribución del número de enlaces conectados a cada nodo que seguía una ley de potencia, fueron los primeros en denominar a este tipo de redes como “redes sin escala”.
Cabe destacar que los nodos ejes son solo unos pocos, ya que por lo general la mayoría de los nodos tiene muy pocos enlaces en este tipo de redes. Lo que muestra el efecto sin escalas de las redes es que la distribución de los grados de los nodos es bastante desigual en las redes de gran tamaño.
Análisis de redes sociales
Las redes sociales representan relaciones entre distintas entidades, las cuales pueden ser una persona, un grupo social, etc. Las relaciones pueden ser las que se dan comúnmente en una red social, tal como “amistad” en el caso de Facebook. El objetivo que tiene el análisis de las redes sociales es el de intentar hallar y explicar aquellos patrones que puedan existir a la hora de la generación de dichas relaciones, con el fin de comprender los fundamentos sobre los cuales se basa el crecimiento de cada red. Para esto se basa en la noción de que los individuos no son unidades autónomas e independientes dentro de una red social, sino que son interdependientes.
Las redes sociales son representadas mediante grafos para poder realizar sobre los mismos los cálculos y análisis necesarios que ayuden a determinar las causas de su evolución.
Grafo
Un grafo es una estructura de datos utilizado en las ciencias de la computación , que está compuesto por un conjunto de vértices o nodos que pueden representar cualquier entidad, y están unidos por arcos o aristas, las cuales representan las relaciones existentes entre los nodos.
Los grafos no solamente sirven para representar la relación entre datos en las ciencias de la computación, sino que pueden representar por ejemplo redes delictivas, caminos entre ciudades, etc. Más allá de la gran variedad de aplicaciones posibles de los mismos, la particularidad que interesa es la posibilidad que brindan los mismos de modelar redes sociales, tal como se ha dejado entrever en secciones anteriores.
Estas estructuras son objeto de estudio de la teoría de grafos, la cual tiene como objetivo principal analizar las propiedades de los mismos. Un gran porcentaje de las métricas que se conocen en la actualidad para emplearse en la predicción de enlaces están basadas completamente en los conceptos provistos por la teoría de grafos, tales como la distancia más corta entre dos nodos, grado de cada nodo, etc.
Link Prediction
La predicción de enlaces (o link prediction por su traducción al inglés) es el tema fundamental en torno al cual gira el desarrollo del presente trabajo. Esta técnica, que proviene del análisis de las redes sociales, busca inferir los futuros enlaces que se pueden dar en una red social basándose en distintas características actuales de la misma [Wang et al, 2015].
La predicción de enlaces ha empezado a cobrar más y más importancia por parte de los investigadores de todo el mundo en los últimos años, debido al gran crecimiento e importancia para las personas que han experimentado las redes sociales.Estas investigaciones que se han generado al respecto, tienen como objetivo principal profundizar el conocimiento que se dispone actualmente con respecto a las causas que motivan a las redes a crecer y, a partir de eso, determinar cómo lo harán en un futuro cercano. Por lo tanto, estos estudios no provienen solamente desde el campo de las ciencias de la computación, sino que distintos sectores privados pueden favorecerse si se conocen tales cuestiones, ya sea con fines publicitarios, políticos, etc.
varios aspectos.
El objetivo de link prediction, presentando con más especificidad, consiste en considerar la red social en dos tiempos particulares t 0 y t1 (con t 0 < t1) y predecir aquellas interacciones que no se hayan dado hasta el tiempo t 0y que se darán en el intervalo de tiempo comprendido entre t 0 y t1. El grafo asociado a la red social en el instante t 0 será G0 = <V,E0 >, y el asociado a la red en el tiempo t 1será G1 = <V,E1 >, donde E0 ⊂ E1.
Lógicamente las redes sociales crecen no sólo a través de la aparición de nuevas relaciones o vínculos que se dan entre los usuarios, sino también de nuevos nodos, los cuales pueden significar usuarios que se registran o dan de alta en la red social, o que restablecen una cuenta que tenían desactivada/suspendida.
Sin embargo, tal como se puede apreciar en la notación antes descrita para los grafos G0 y G1, se considerará al grafo G 1con los mismos nodos que hayan estado presentes en G0,(ya que no existe un V0 y un V1 respectivamente, sino que se denota con la misma V en los dos), donde lo único que varía son los vínculos entre los mismos. Si bien podría pensarse entonces que esta notación es errónea, dado que la cantidad de nodos también puede variar a lo largo del tiempo, esto se describe así ya que la predicción de enlaces captura una versión acotada del “problema” del dinamismo de una red social, teniendo en cuenta sólo las relaciones que se puedan dar a futuro entre los nodos, pero la cantidad de nodos que componen la red se supone constante. Esto se debe a que al ser una técnica enfocada en predecir enlaces no presentes en un tiempo t 0 pero si en un tiempo t 1, no es sensible a buscar predicciones de aristas entre nodos que no hayan estado presentes en el tiempo t 0. Las redes que analiza la predicción de enlaces entonces, a fines prácticos, podrían verse como que no permiten la suscripción de nuevos usuarios ni la desvinculación de los que ya pertenecen a la misma, pero sí la generación de nuevos enlaces entre los usuarios.
El funcionamiento general de la técnica de predicción de enlaces puede dividirse en dos grandes etapas. En primer lugar, se deben dividir las aristas del grafo en dos conjuntos, quedando en un conjunto aquellas relaciones que tuvieron lugar antes de t0(también denominado conjunto de entrenamiento) y por otro lado aquellas que se dieron entre t 0y t1(llamado conjunto de prueba o aristas ocultas). Una vez obtenidos ambos conjuntos, se procede a ejecutar el algoritmo de predicción sobre el conjunto de entrenamiento y se determina la eficacia con la que fueron predichas las relaciones presentes en el conjunto de prueba.
superen, Por el contrario, si no se disponen de marcas de tiempo en los enlaces de la red, se deberá simular el proceso anterior seleccionando un porcentaje de las aristas del grafo de forma aleatoria para formar parte del conjunto de pruebas y ser ocultadas. Debido a que en este caso las aristas ocultas no son las últimas que sucedieron en el grafo sino que son elegidas de forma azarosa, la fiabilidad de las predicciones realizadas seleccionando las aristas a ocultar con esta alternativa suele verse comprometida.
Para llevar a cabo la predicción de enlaces propiamente dicha, se emplean distintas métricas para asignarle un peso a cada arista que se pueda dar, es decir, a las potenciales arista entre cada par de nodos que no se encuentre conectado en t0. La magnitud del peso asociado a cada arista estará determinado por la semejanza entre los nodos que componen cada vínculo. La forma de calcular dicha semejanza y el tipo de datos que se emplean al hacerlo es lo que diferencia a cada métrica entre sí. De esta manera existen métricas basadas en características topológicas de la red, en información propia de cada nodo, entre otras.
Luego de obtener los valores de similitud para todas las potenciales aristas (independientemente de la métrica que haya sido empleada), se ordenan las mismas de forma decreciente de acuerdo a ese valor. Cuanto más alto sea el valor de la función similitud mayor será la probabilidad de que se vinculen los nodos (salvo algunos casos específicos, ya que para algunas métricas que se describirán más adelante no se cumple esta regla). Una vez ordenadas las aristas, se escogen las k que tengan el valor más alto de semejanza como las más promisorias, las cuales pasarán a ser las predicciones que sugerirá el algoritmo.
Una vez que se dispone del conjunto de predicciones, las mismas pueden ser comparadas contra aquellas aristas que fueron ocultadas y evaluar el desempeño del predictor (en caso de que así se requiera).
En conclusión, el interrogante principal que intenta responder esta técnica es en qué medida se puede inferir la evolución de una red social a partir los distintos tipos de datos que puedan obtenerse de la misma, ya sean características topológicas, propias de cada nodo, etc.
Campos de aplicación de la predicción de enlaces
Las características que suelen considerarse a la hora de establecer la similitud entre dos nodos por cualquiera de las métricas conocidas, abarcan desde la topografía de la red hasta los atributos propios de cada nodo. Debido a que esas propiedades son características básicas comunes a cualquier tipo de red, los campos de aplicación que puede tener esta técnica abarcan no solo las redes sociales virtuales, sino que es posible utilizar link prediction en otros campos y, por ende, en otro tipo de redes [Wang et al., 2015].
sería el caso de red social administrada internamente por una empresa. En una red de estas características, los nodos representarían a los empleados, los atributos de los nodos mostrarían el cargo en la empresa junto con otros datos personales, y las aristas entre los nodos determinarían las relaciones laborales entre los miembros de la empresa tales como jefe-empleado o similares. El beneficio que podría obtener empleando la predicción de enlaces sobre este tipo de red sería poder descubrir posibles interacciones o colaboraciones productivas que se podrían dar entre los empleados y todavía no han sido explotadas.
Otro uso posible es en el ámbito de la seguridad, a la hora de tratar con redes delictivas o terroristas. Lo que podría brindar link prediction, en este caso, sería establecer hipótesis sobre algunos individuos que estén operando en conjunto pero dicha interacción todavía no haya sido descubierta.
En bioinformática, link prediction se puede utilizar para descubrir interacciones entre proteínas. Además podría utilizarse en sistemas de recomendación o comercio electrónico, determinando a cual usuario conviene ofrecerle determinado tipo de producto o servicio.
Un uso alternativo que se le suele dar también a la predicción de enlaces surge cuando se sabe que la red social tiende a perder enlaces, ya sea porque la forma de almacenamiento de los mismos no es estable o cualquier otra causa. En este caso, el objetivo del empleo de la técnica es el de intentar identificar enlaces caídos o perdidos en la red, para de esa forma poder recuperarlos y reconstruir la red.
Las aplicaciones que se detallaron son solo algunas de las ramas en las que podría ser de utilidad el empleo de la predicción de enlaces, y queda claro que debido a la diversidad de cuestiones que pueden ser modeladas mediante redes, el rango de alcance de esta técnica es muy amplio.
Métricas empleadas
Tal como se mencionó al describir el funcionamiento general de la técnica de predicción de enlaces, a todo par de nodos que no estén conectados en un tiempo t0, se les asigna un valor de similitud calculado mediante una métrica determinada, para así poder considerar luego aquellos que hayan obtenido los valores más altos como las predicciones propiamente dichas.
Además de los dos grupos de métricas antes enunciados, en el presente trabajo se emplean dos métricas adicionales: la predicción aleatoria y la combinación de métricas (denominadas “Random predictor” y “Combine” respectivamente dentro de la aplicación). La primera de ellas realiza sus predicciones de forma azarosa, sin seguir ningún criterio específico, y fue incluída con el fin de comparar el desempeño de las demás métricas con respecto a una simple decisión al azar. Por otro lado, se propuso la posibilidad de permitir la combinación de métricas ya que no ha sido una alternativa lo suficientemente estudiada y existe la posibilidad de que brinde en algunos casos un desempeño (potencialmente) mejor al usar dos métricas a la vez que si se emplea cada una por separado.
Para la explicación de cada una de las métricas, se emplearán los siguientes conceptos con el fin de simplificar la legibilidad y el entendimiento de las mismas:
● Dado un nodo x se denota como Γ(x) al conjunto conformado por todos sus vecinos (en caso de ser el grafo dirigido, se consideran como vecinos aquellos nodos conectados por aristas salientes desde el nodo x)
● Se denomina grado de un nodo x a la cantidad de aristas incidentes al mismo. Lógicamente el grado también indica la cantidad de vecinos de un nodo (|Γ(x)|), ya que las aristas siempre conectan a un nodo con otro.
A continuación, se describe la clasificación de las técnicas empleadas en el presente trabajo. Para eso, todas las clases generales de técnicas antes mencionadas son explicadas y, por cada una de ellas, se hace una breve descripción de cada métrica o técnica que sean de ese tipo. Cabe destacar que cada métrica que se explique a continuación se incluye en la aplicación a desarrollar, para poder así experimentar con las mismas y determinar cuáles permiten obtener los mejores resultados.
MÉTRICAS TOPOLÓGICAS
Las métricas basadas en información topológica emplean medidas de proximidad, cantidad de vecinos en común, camino más corto, etc. a la hora de calcular la similitud entre dos nodos.
topológicas, hace que las mismas puedan variar desde algunas que son bastante simples y veloces para realizar su (tal como el método de vecinos comunes), hasta algoritmos más complejos que requieren una serie de cálculos específicos.
A continuación se explican las métricas más comunes de este tipo, clasificadas de acuerdo a categorías mencionadas en el párrafo anterior. Se hace una breve descripción de su funcionamiento y, cuando aplique, la fórmula empleada para calcular la similitud será explicada.
MÉTRICAS BASADAS EN LA VECINDAD DE LOS NODOS O LOCALES
Una gran variedad de métricas están basadas en la idea de que dos nodos x e y tienen más probabilidades de conectarse en un futuro si tienen muchos vecinos en común, es decir, si Γ(x) y Γ(y) tienen muchas coincidencias entre sí. Tomando esto desde el punto de vista de las redes sociales y considerando como ejemplo una del tipo de Facebook, se puede traducir ese concepto a que cuanto más amigos en común tengan dos usuarios, más probabilidades tienen de ser amigos en un futuro. La desventaja que tienen este tipo de métricas en comparación con los métodos globales es que sólo consideran información local. De hecho, sólo es posible calcular la similitud entre pares de nodos que tengan al menos un vecino compartido.
Sin embargo el hecho de que consideren una porción reducida de toda la información que se puede emplear para calcular la similitud entre dos nodos, también tiene una ventaja, aunque parezca contradictorio. Ya que la cantidad de información a procesar será menor, el tiempo de ejecución de estas métricas suele ser considerablemente menor que el requerido por los métodos globales y, aún así, es posible obtener desempeños aceptables.
Common neighbors (CN)
Es la implementación más representativa y simple dentro de los métodos basados en la vecindad de los nodos. Simplemente considera a la similitud entre dos nodos como la cantidad de vecinos en común que tengan los mismos.
Similitud(x, y) = |Γ(x) ∩ Γ(y)|
Jaccard coefficient (JC)
Esta métrica se suele considerar como una mejora de la métrica de vecinos comunes. En ésta última, sólo se considera la cantidad de vecinos en común entre los nodos x e y para establecer su similitud. Sin embargo, el hecho de que tengan vecinos en común puede ser que sea porque ambos nodos tienen una gran cantidad vecinos, y no necesariamente sea porque un gran porcentaje de los vecinos de cada uno son compartidos.
consideración de cantidad de hermanos que poseen entre los dos nodos, de forma tal de normalizar la similitud y ver que tanta relación tienen con respecto a la totalidad de sus vecinos. De esta manera, esta métrica permite determinar que tan fuertemente relacionados están los nodos entre sí.
Similitud(x, y) =
Preferential attachment (PA)
Esta métrica guía su funcionamiento en base a la premisa de que la probabilidad de que una nueva arista involucre al nodo x es proporcional a la cantidad de vecinos actuales de x (en símbolos |Γ(x)|).
Basándose en ese hecho, la probabilidad de que dos nodos puedan relacionarse en el futuro estará dada entonces por el producto entra la cantidad de vecinos de x y los de y.
Similitud(x, y) = |Γ(x)| · |Γ(y)|
Esta métrica se adapta perfectamente aquellas redes que presentan el fenómeno de crecimiento sin escalas mencionado al explicar las características de las redes sociales. En ese tipo de redes, existen nodos denominados ejes que abarcan un gran porcentaje de las relaciones dentro de la red y en cierta forma dominan la evolución de las mismas. En tales condiciones, es de esperarse que esta métrica le asigne mayor probabilidades de conectarse a los nodos ejes que a aquellos que están poco relacionados.
Adamic-Adar coefficient (AA)
Al igual que el coeficiente de Jaccard, esta medida también puede verse como un refinamiento a la técnica de vecinos comunes. La mejora en este caso radica en el agregado de la posibilidad de darle un mayor peso a aquellos vecinos en común que no estén muy compartidos con otros nodos. Este índice de similitud le asigna un valor más alto a aquellos nodos con grado menor, ya que los considera “raros”.
Similitud(x,y) =
Ejemplo: si el vecino en común entre x e y, llámese z, no está compartido con nadie más que con x e y, entonces Γ(z) = {x,y}, por lo que |Γ(z)| = 2 y se tiene que 1/log(2) = 1.4. En cambio, si z estuviera relacionado con otros 3 nodos más, se tendría que |Γ(z)| = 5 y el peso caería a 1/log(5) = 0.62. Este simple ejemplo demuestra cómo a los vecinos en común que son más raros se los considera más pesados que a los más comunes.
millones de seguidores aproximadamente) es menos representativo que si ambas siguen a Juan González (un perfil ficticio, suponiéndole a esta una cantidad de seguidores de 500). Debido a que a Obama lo sigue una gran cantidad de usuarios, no aporta demasiada utilidad saber que dos cuentas lo siguen. Sin embargo, dado que Juan González es un usuario mucho menos popular, el hecho de que ambas cuentas lo sigan es un indicador bastante más específico de cercanía social entre los usuarios.
Resource allocation (RA)
Esta métrica fue propuesta por Zhou et al. [94]. La forma de calcular la similitud es similar a la de Adamic-Adar, ya que ambas disminuyen la contribución que hacen los vecinos más comunes y le dan más valor a los vecinos de menor grado. Sin embargo, lo que varía con respecto a AA, es que la asignación de recursos penaliza con más fuerza a los vecinos más comunes. Por lo tanto, ambas métricas tienen predicciones muy parecidas para redes con un promedio bajo del grado de los nodos, pero se ha comprobado que RA funciona mejor para redes con un promedio alto.
Cabe destacar que lo que diferencia tanto a AA como RA de las demás métricas es que ambas consideran no sólo los vecinos de los nodos sobre los cuales se quiere obtener la similitud, sino también los vecinos de los vecinos.
Similitud(x,y) =
Sørensen Index (SI)
Además de considerar la cantidad de vecinos en común, esta métrica también refleja que, dados dos pares de nodos con la misma cantidad de vecinos en común, aquel par de nodos cuya suma de vecinos sea menor, tendrá una probabilidad más alta de conectarse.
Similitud(x, y) =
Al igual que JC, es una métrica cuya objetivo es cuantificar la intensidad de la relación entre dos nodos.
Salton Cosine Similarity (SC)
Es una medida seno común, la cual se emplea para medir la similitud entre dos nodos x e y.
Hub Promoted (HP)
Esta métrica define la superposición topológica de nodos x e y.
Como cociente de la fórmula, se toma el grado más bajo de los nodos sobre los cuales se pretende calcular su semejanza.
Similitud(x, y) =
Hub Depressed (HD)
Esta métrica es similar a HP, con la única diferencia de que el valor del cociente está determinado por el grado más alto de los nodos.
Similitud(x, y) =
Leicht-Holme-Nerman (LHN)
Esta métrica le asigna valores altos de similitud a aquellos pares de nodos que tengan muchos vecinos comunes en comparación con el producto de la cantidad de vecinos de cada uno.
Similitud(x, y) =
Parameter-Dependent (PD)
Esta métrica dispone de un parámetro libre λ que permite modificar la forma en que se calcula la similitud, haciendo que pueda derivar en otras métricas conocidas de acuerdo al valor que adopte dicho parámetro.
Similitud(x, y) =
El rango de valores permitidos para este métrica es el comprendido entre 0 y 1. Si λ = 0, se degenera en un método de vecinos comunes (recordar que esta estaba dada por |Γ(x) ∩ Γ(y)|), si λ = 0.5 deriva en un método de Salton Cosine Similarity y si λ = 1 se convierte en Leicht-Holme-Nerman.
MÉTRICAS BASADAS EN TODA LA TOPOLOGÍA DE LA RED O GLOBALES
Los métricas que se detallan a continuación, consideran (de distintas maneras) la longitud del camino que separa a los nodos sobre los cuales se desea establecer la semejanza.
El método más intuitivo que surge dentro de este conjunto es el que considera como valor de similitud la longitud del camino más corto que separa a los nodos. Sin embargo, varias métricas han refinado la noción de camino más corto, considerando alternativas que involucran también los caminos alternativos entre los dos nodos entre los cuales se quiere predecir el enlace.
Por lo general, debido a que requieren recorrer muchos caminos dentro del grafo, la complejidad computacional es considerablemente mayor a la de los métodos basados en la vecindad de los nodos, ya que estos últimos sólo requieren conocer la vecindad de los nodos que componen la predicción o, a lo sumo, los vecinos de los vecinos.
Las ventajas que ofrece este tipo de métricas con respecto a los métodos locales, son que permiten medir similitudes entre nodos que no tengan vecinos compartidos y el hecho de que en algunos casos pueden ofrecer mejores resultados ya que utilizan toda la información de la topología de la red.
Shortest path(SP)
La idea de esta métrica es simple y se basa en considerar la distancia mínima que separa a los nodos que compondrían el posible enlace. Esta distancia se determina como la cantidad de enlaces que los separa.
Una particularidad de ésta métrica es que la mayor similitud entre los nodos se da cuanto más bajo sea el valor calculado por la métrica, debido a que esta representa la distancia que los separa. De esa manera, aquellas potenciales aristas cuyos nodos están separados por distancias pequeñas tendrán valores menores que las que unirían nodos más distantes.
En el funcionamiento general de la técnica de predicción de enlaces, una vez que les fue asignado un valor de similitud a cada una de las aristas potenciales de la red, las mismas se ordenan decrecientemente para así tomar las k primeras (que tendrían los valores más altos) como las predicciones. Sin embargo, para el caso de esta métrica, debido a que los valores más altos representan menor similitud, debe realizarse un ajuste, el cual puede llevarse a cabo de dos maneras Una posibilidad es ordenar de forma creciente las aristas rotuladas, para así al considerar las k primeras se estén tomando aquellas menos distantes. Sino, al valor calculado de la distancia se lo puede considerar negativo, para así no alterar el funcionamiento general y seguir ordenandolas de formar decreciente.
Hitting Time (HT)
al nodo y, eligiendo siempre uniformemente al azar el próximo nodo destino. El HT(x,y) está basado en el concepto anterior, y representa el número de pasos que requiere un recorrido aleatorio para llegar al nodo y partiendo desde el nodo x. Debido a su naturaleza azarosa, si se ejecuta varias veces la métrica para el mismo par de nodos, existe una alta probabilidad de que la misma arroje resultados diferentes.
De acuerdo al criterio empleado por hitting time, la probabilidad de relacionarse que tendrán los nodos evaluados será inversamente proporcional al valor arrojado por la métrica, dado que su valor representa la longitud de un camino aleatorio que separa los nodos. En este caso sucede la misma particularidad que en la técnica de shortest path, ya que sus resultados están medidos en distancias y a menor distancia se supone una mayor similitud. Por lo tanto, deben realizarse las mismas consideraciones con respecto a la forma en que se ordenarán las aristas que fueron mencionadas para la métrica shortest path.
MÉTRICAS SOBRE LOS ATRIBUTOS DE LOS NODOS
La topología del grafo que modela a la red social no es la única fuente a partir de la cual puede obtenerse información útil para inferir enlaces.
Los servicios de redes sociales permiten a los usuarios crear una cuenta con un perfil que los identifica, en el cual se pueden incluir distintos datos personales asociados al usuario tales como localidad, empleo, edad, sexo, estado civil, trabajo, estudios realizados, pasatiempos, gustos musicales o deportivos, una biografía, etc. Considerando la cantidad de información que es posible asociar a cada cuenta, sería un total desperdicio no considerarla a la hora de determinar la semejanza entre dos nodos.
Una alternativa aplicable cuando los nodos de la red social poseen este tipo de información asociada a cada uno de ellos, es establecer también comparaciones entre estos campos de información propios. Esto permite que el hecho de determinar un valor de semejanza entre los nodos que conforman un posible par, pueda verse influido también por la similitud entre los atributos distintivos de los mismos.
Node Information (NI)
El primero de los algoritmos propuestos para considerar los atributos internos de cada nodo compara uno a uno los distintos campos que se le permiten cargar a los usuarios en busca de coincidencias. Este método, permite ponderar cada uno de los atributos que puedan tener los nodos de una red en caso de que desee destacar que la similitud de alguno de ellos sea más importante que los demás. Por ejemplo, el hecho de que dos usuarios trabajen en la misma empresa probablemente sea más importante a que vivan en la misma ciudad a la hora de calcular la similitud entre los mismos. Por lo tanto, si se desea reflejar esa relación, la ponderación asociada al atributo “Lugar de trabajo” debe ser mayor que la de “Localidad”.
Una vez ponderado cada uno de los atributos, el algoritmo compara uno a uno los valores contenidos por los mismos en los nodos a evaluar, y calcula el resultado de la métrica como la suma de las ponderaciones asociadas a los atributos que contienen valores iguales.
Las ponderaciones deben ser valores comprendidos entre 0 y 1, y la suma de las ponderaciones aplicadas a cada uno de los nodos debe ser 1. De esta manera, el valor que se obtendrá como salida de la métrica luego de ser aplicada sobre sobre un par de nodo cualesquiera, estará comprendido también entre 0 y 1. En tales condiciones, un valor de similitud de 1 representará que todos los atributos de ambos nodos tenían el mismo valor.
Ejemplo: Se tiene una red social simple cuyos nodos poseen los atributos “Localidad”, “Lugar de Trabajo” y “Edad”. Sobre la misma se aplica la técnica de predicción de enlaces, empleando la métrica Node Information con ponderaciones de 0,5, 0,3 y 0,2 sobre cada uno de los atributos de los nodos respectivamente. Dados un Nodo1 con los valores (“Tandil”, “Technisys”, 23) y un Nodo2 con los valores (“Tandil”, ”Globant”, 23), el valor que Node Information le asignaría al enlace entre el Nodo1 y el Nodo2 sería de 0,7, ya que este número es el resultado de sumar 0,5 y 0,2, que son las ponderaciones asociadas a los dos atributos que coincidieron (Localidad y Edad).
Si bien este método ofrece la posibilidad de ponderar cada uno de los atributos propios del nodo para asignarles a aquellos que se considere más importantes una mayor ponderación, esto conlleva una desventaja, ya que se requiere tener un conocimiento del dominio de la red social sobre que se aplicará la predicción de enlaces. De lo contrario, si se desconoce la importancia relativa de cada uno de los atributos de los nodos dentro de la red social, no se podrán establecer los valores de ponderación que permite configurar el algoritmo a conciencia, haciendo que las predicciones que se realicen posteriormente no sean confiables.
Vector Node Information (VNI)
La variante con respecto al método anterior para considerar información propia de cada nodo es una técnica denominada Vector Node Information.
conjuntos o listas de palabras y está basada en la suposición de que cuantas más palabras en común tengan los conjuntos comparados, más parecidos serán los nodos que los contienen. Ejemplos atributos comparables mediante esta métrica son los documentos de texto, posteos en una red social (tal como sucede con los tweets publicados en Twitter), descripciones de un perfil (tal como la biografía que se permite incluir en redes como Twitter), etc.
El funcionamiento para establecer la similitud entre los nodos Nodo 1 y Nodo 2 es el siguiente: por cada una de las palabras que contenga la lista de palabras asociada al Nodo 1, el algoritmo verifica si la misma se encuentra presente en la lista del Nodo 2 y de ser así suma una coincidencia. El proceso se repite por cada palabra que tenga el Nodo 1 y al finalizar esa iteración se obtiene la similitud entre los nodos, que estará dada por la cantidad de palabras de la lista del Nodo 1 que hayan estado presentes en el Nodo 2.
Ejemplo: Si el Nodo 1 tiene un documento que dice "La casa está pintada de blanca" y el Nodo 2 dispone de otro con "La casa fue incendiada", la similitud de la misma es de 2, dado que las palabras “La” y “casa” están en ambas.
Existen varias mejoras aplicables sobre esta técnica, las cuales no fueron incluídas en este trabajo ya que se prefirió simplificar el algoritmo con el objetivo de que sea más entendible y práctico. Un ejemplo de las mejoras aplicables para mejorar la calidad de las predicciones consiste en realizar un preprocesamiento sobre la lista de palabras o documento que se desean comparar. Entonces, antes de ejecutar la métrica, se podrían eliminar aquellos tipos de palabras que no sean relevantes y que no aporten verdadera información en caso de producirse una coincidencia tales como artículos o conjunciones, entre otras. De esa manera, la salida de la métrica seguiría siendo una cantidad de palabras coincidentes entre los dos nodos, pero se habrá calculado solamente en base a palabras importantes.
MÉTRICAS ADICIONALES
Las dos técnicas que se destacan a continuación no se alinean bajo ninguno de los tipos antes descritos, debido a que el objetivo con el que son empleadas difieren con los de las métricas tradicionales.
La primera de ellas, denominada Combine, fue incluída en la herramienta a desarrollar para poder predecir enlaces empleando pares de métricas ya conocidas y, de esta manera, experimentar con las mismas con el fin de determinar si pueden obtenerse mejores resultados.
Combine
Tal como se mencionó en la introducción al presente trabajo, uno de los principales objetivos del desarrollo del mismo fue verificar de forma empírica si la combinación de algunas de las métricas existentes para la predicción de enlaces logra un incremento en la eficacia de las predicciones.
Debido a esto, en la herramienta a desarrollar se incluye la posibilidad de seleccionar dos métricas y realizar las predicciones considerando los valores obtenidos por ambas. El resultado que devuelve la ejecución de una combinación de métricas sobre dos nodos, entonces, estará dado por el promedio de los valores que arrojaron individualmente cada una de las mismas.
Es importante aclarar que no todas las métricas son compatibles entre sí para combinarse. Esto se debe a que sólo tiene sentido combinar aquellas métricas cuyos resultados estén en el mismo rango de valores posibles. Por ejemplo: Las métricas Shortest Path y Hitting Time devuelven ambas un resultado que representa la distancia entre los nodos a evaluar (expresada en nodos que los separan), por lo tanto si pueden ser combinadas, ya que manejan la misma unidad. Por otro lado, si las métricas que se quisieran combinar fuesen Shortest Path y Jaccard Coefficient esto no podría hacerse, ya que la segunda no devuelve un número natural representando nodos de separación tal como sí lo hace la primera, sino un número real entre 0 y 1 que determina el grado de similitud entre los nodos evaluados. Por lo tanto, si se calculara el promedio entre dos unidades completamente distintas, el resultado sería un valor que no aporte verdadera información sobre ambas, lo cual se traduciría en una eficacia baja por parte de las predicciones realizadas.
Random Predictor
El funcionamiento de este predictor es sencillo, ya que para dar sus predicciones simplemente selecciona de forma aleatoria pares de nodos que no se hayan relacionado hasta el momento.
Si bien éste predictor no dispone de ninguna métrica capaz de asignarle similitudes a las aristas para realizar sus predicciones, fue incluido dentro de las posibles métricas seleccionables con un fin experimental. Esto se debe a que es una medida de gran utilidad para poder comparar el desempeño obtenido por las demás métricas con respecto al simple hecho de elegir las aristas a predecir aleatoriamente.
ENFOQUES DE ALTO NIVEL (PREPROCESAMIENTOS)
Estos enfoques, pueden ser utilizados en combinación con otros métodos de los mencionados anteriormente. Su objetivo principal es reducir el ruido presente en las redes en forma de enlaces falsos o “débiles”.
A este tipo de técnicas se las considera preprocesamientos ya que se debe analizar y procesar el grafo previamente a efectuar las predicciones reales.
El preprocesamiento que se incluyó en la aplicación fue clustering, el cual se detalla a continuación.
Clustering
Lo que busca esta técnica es mejorar la calidad de la predicción eliminando las aristas más tenues o débiles en la red inicial, para luego ejecutar el predictor en la red resultante luego de la limpieza de los enlaces débiles.
Cabe destacar que esta técnica se emplea en combinación con alguna de las métricas de similitud tradicionales, ya que se calcula la similitud de las aristas iniciales del grafo de acuerdo a alguno de estos criterios durante el preprocesamiento. Luego. se consideran como débiles aquellas aristas que hayan tenido los valores de similitud más bajos..
Finalmente se vuelve a ejecutar el predictor de enlaces de forma normal, solo que se ejecuta sobre el grafo refinado, con las aristas débiles eliminadas.
De esta manera, las predicciones finales se obtienen usando solo las aristas con más confianza del grafo inicial.
Una opción de personalización que brinda éste método, es la posibilidad de probar distintos valores para k, es decir, variar la cantidad de aristas débiles eliminadas del grafo inicial. De esta manera se podría experimentar para conocer cuál es el valor más efectivo en cada situación.
Métodos de evaluación
Para medir el desempeño obtenido por las distintas variantes presentadas anteriormente para la predicción de enlaces sobre una red social, existen dos alternativas comunes.
Una de ellas es el uso de curvas ROC, las cuales permiten analizar gráficamente el desempeño de las mismas. Además, una variante que admiten es considerar el área bajo las mismas, para así tener un valor numérico con el cual comparar dos curvas más fácilmente.
CURVA ROC
Una curva ROC (acrónimo de Receiver Operating Characteristic, o Característica Operativa del Receptor) es una representación gráfica en la cual se comparan la sensibilidad frente a (1 – especificidad) de un sistema clasificador binario, según se va variando el umbral de discriminación. Este valor umbral es aquel empleado por el clasificador para decidir si cada caso particular es positivo o no.
Dentro del ámbito de la predicción de enlaces, esta representación suele utilizarse para medir la capacidad de los valores asignados por una determinada métrica para inferir las relaciones entre nodos que se darán en un futuro cercano. Para lograrlo, se considera al predictor de enlaces como un clasificador, y se analizan los distintos valores de similitud que la misma haya asignado a las posibles aristas.
En el contexto antes mencionado, los casos a clasificar serán todas las posibles relaciones que no se hayan dado aún en la red social. Si se “clasifica” luego a una posible relación como positiva, significa que el predictor de enlaces consideró que la relación se dará y, en caso contrario, que no.
La clasificación propiamente dicha estará dada, entonces, por la decisión respecto a si cada una de las relaciones compone (o no) el conjunto de predicciones que realiza el algoritmo. En otras palabras, las relaciones que hayan sido clasificadas como positivas serán aquellas que hayan formado parte de las predicciones realizadas para cada nodo.
Como se mencionó, las curvas ROC emplean un valor umbral, al cual se lo hace variar sobre sus distintos valores posibles y se muestra el comportamiento del algoritmo para cada uno de sus valores. En el caso de la predicción de enlaces, estos valores serán todos aquellos grados de similitud que hayan sido asociados a las posibles relaciones.
En base a la analogía antes descrita entre un clasificador y un predictor de enlaces, el conjunto de aristas o relaciones a clasificar que haya empleado el predictor puede ser organizado dentro una estructura conocida como matriz de confusión. La misma contiene cuatro categorías que se conforman de la siguiente manera:
● Verdaderos positivos (VP): Está compuesta por aquellas aristas que se seleccionaron como predicciones en base a su similitud y que efectivamente fueron ocultas antes de ejecutar las métricas (recordar que la predicción de enlaces -si el grafo no dispone de marcas temporales- oculta una porción de las aristas del grafo para simular que las mismas son las que se darán en un futuro).
● Verdaderos negativos (VN): En el contexto a tratar (donde una clasificación “negativa” de una arista significa que la misma no formará parte del conjunto de predicciones propuesto para el nodo en cuestión) los verdaderos negativos serán todas aquellas aristas que no fueron consideradas como predicciones y que tampoco habían sido ocultas previamente.
● Falsos negativos (FN): Se refiere a las aristas que fueron ocultas para intentar que el algoritmo de predicción de enlaces las descubra, pero las mismas no aparecieron dentro de las predicciones realizadas. En otras palabras, simplemente se trata de aquellas predicciones que debieron realizarse y no se hicieron.
A partir de la combinación de algunas de las categorías anteriores, surgen dos derivados importantes a la hora de la construcción de la curva ROC:
● Razón o ratio de verdaderos positivos (VPR): También llamada sensibilidad o razón de éxitos, se encarga de medir la fracción de los casos positivos que fueron clasificados correctamente. Para el campo de aplicación del presente trabajo, esta medida representará a la porción de las aristas ocultas que fueron predichas correctamente. La fórmula, según lo anterior, está dada por: VPR = VP / (VP+FN)
Debido a su definición y la forma de calcularla, esta medida también representa el recall del predictor, indicador que será explicado con más detalle en la siguiente sección.
● Razón o ratio de falsos positivos (FPR): Indica la fracción de los casos negativos que fueron clasificados erróneamente como positivos. En el área de la predicción de enlaces, se emplea para determinar qué porcentaje de las aristas que no se ocultaron sí fueron predichas, considerándose éstas como una especie de “falsas alarmas”.
FPR = FP/(FP+VN)
Una vez explicados estos conceptos, podría decirse de forma más específica que la curva ROC representa gráficamente a los distintos valores de VPR en el eje x, y a los de FPR en el eje y, a medida que el umbral de clasificación se varía.
ÁREA BAJO LA CURVA (AUC)
Si bien la curva ROC es de gran utilidad ya que permite medir de forma pura la capacidad predictiva de un sistema, independientemente del valor de umbral empleado, en reiteradas ocasiones lo que se suele emplear en su lugar en muchos contextos es otra medida denominada área bajo la curva o AUC (por las iniciales de Area Under the Curve en su traducción al inglés). Este índice, en el contexto de la predicción de enlaces, representa la probabilidad de que un clasificador le asigne un valor de similitud más grande a una instancia positiva elegida aleatoriamente que a una negativa, también elegida al azar.
Debido a las características de esta métrica, la precisión obtenida por los resultados que obtuvo predictor podrá ir desde 0,5 a 1. Si el valor del AUC es 1, querrá decir que el predictor funciona de forma perfecta, ya que todas sus predicciones fueron sido verdaderos positivos y no hubo falsos positivos. Por otro lado, un área de 0,5 significa que los conceptos en los que se basa la métrica empleada por el predictor no tuvo capacidad discriminatoria alguna.
Por lo tanto, a medida que el valor de AUC obtenido por las predicciones realizadas se acerca a 1, se puede concluir las mismas son más precisas. De esta forma, el desempeño del predictor podría clasificarse de la siguiente manera de acuerdo a los valores de AUC obtenidos:
● .90-1.0 = excelente ● .80-.90 = bueno
● .70-.80 = razonablemente bueno ● .60-.70 = pobre
● .50-.60 = fracaso
RECALL VS PRECISION
La precisión y el recall (denominados también eficiencia y exhaustividad respectivamente en algunos casos) son dos índices empleados para medir el desempeño de distintos tipos de sistemas, tal como lo son los de recuperación de información, clasificación, predicción, etc. Por lo tanto, se decidió incluir tales medidas con el fin de evaluar funcionamiento de las métricas de similitud para la predicción de enlaces.
En este contexto particular, la eficiencia está dada por el porcentaje de las predicciones realizadas que efectivamente fueron ocultadas en la etapa previa. Por otro lado, el recall representa la fracción de las aristas ocultas previamente que efectivamente fueron predictas.
Si una métrica de similitud obtuvo un buen nivel de recall, no implica necesariamente bajo ningún punto de vista que la misma tuvo una buena precisión también. De hecho, tal como se detalla luego en la sección de análisis de los experimentos, se observó el hecho de que (para cualquiera de las métricas incluidas en la aplicación) si en diferentes configuraciones del algoritmo de predicción el valor de uno de los indicadores sube, el otro generalmente baja.
De esta manera, un predictor ideal debe tener un valor alto de precisión acompañado también de un alto recall, con lo cual se habrán predicho una gran cantidad de las aristas ocultas sin haber caído en el error de generar demasiadas predicciones para ver si alguna casualmente era correcta.
Finalmente y tal como se describió, ambas métricas quedan definidas mediante las siguientes ecuaciones:
Precisión = #Predicciones correctas / #Predicciones realizadas Recall = #Predicciones correctas / #Aristas ocultas
2.2 Trabajos relacionados
En esta sección se describen algunos de los trabajos existentes relacionados al dominio en el que se ubica el presente trabajo. Los mismos definen, emplean o referencian los conceptos teóricos descritos en el apartado anterior.
Se hará una reseña sobre tres investigaciones basadas en la técnica de predicción de enlaces. Los mismos son los trabajos que se referencian a continuación: (Liben-Nowel y Kleinberg, 2004), (Dong et al. 2013) y (Wan et al., 2015).
El segundo tiene el objetivo principal de proponer mejoras a la técnica de link prediction, a partir de la consideración de atributos que no suelen tenerse en cuenta en los algoritmos tradicionales.
Por otro lado, el primero y el último trabajo bibliográfico tienen un enfoque más abocado a hacer un relevamiento y comparaciones sobre las diferentes maneras de llevar a cabo la predicción de enlaces. Si bien sus objetivos son similares, se vió de utilidad incluir al tercero ya que éste es mucho más reciente y considera un espectro más grande de métricas para el cálculo de la similitud. De esta manera, es posible apreciar el avance que se ha logrado con el correr de los años en torno a la predicción de enlaces.
El primero de los documentos relevados está enmarcado en el estudio de la aplicación de link prediction sobre redes sociales y fué publicado en 2004 por David Liben-Nowell y Jon Kleinberg.
variedad de las métricas conocidas dentro de la predicción de enlaces, luego de ser aplicadas sobre una red de coautoría entre científicos.
En la primera parte del paper se describen las caracterìsticas de las redes sociales que motivan el estudio de su evolución, tal como su rápido crecimiento teniendo en cuenta la cantidad de nuevos usuarios o las interacciones entre los mismos que se dan frecuentemente. El funcionamiento de link prediction es explicado de forma introductoria y se mencionan aquellos campos en los que la técnica es de utilidad, pudiendo estos ir desde el descubrimiento de individuos que puedan estar trabajando en conjunto dentro de una red delictiva o terrorista hasta la posibilidad de encontrar un potencial colaborador para un próximo trabajo en la red de coautores de trabajos científicos que se estudia en ese trabajo.
Posteriormente se describen los cinco datasets que se utilizan para realizar los experimentos, los cuales están todos basados en la red de coautores antes mencionada. Dichos datasets están representados mediante grafos, donde cada nodo simboliza a un autor y cada arista conectando a dos nodos representa que ambos autores colaboraron a la hora de desarrollar un paper. Además, se hace un breve resumen de cómo se calcula la eficiencia de cada predictor, lo cual se hará determinando el tamaño de la intersección entre las aristas que logró predecir la métrica de predicción con las aristas que efectivamente aparecieron (o que se ocultaron para hacer la prueba y ver si se redescubren).
En la tercer sección del trabajo, las tres clases de enfoques que se pueden emplear a la hora de determinar la similitud entre dos nodos para inferir su probabilidad de interacción en un futuro son descritos. Dicha clasificación de enfoques es la que se menciona previamente en el marco teórico, siendo cada una de ellas: métodos basados en vecinos en común, los que se basan en el conjunto de todos los caminos y los enfoques de más alto nivel. Luego se mencionan y describen las métricas clasificadas dentro de cada uno de esos tres enfoques.
Los resultados obtenidos luego de aplicar las distintas métricas (y variantes de las mismas en caso de que alguna las tenga) sobre cada uno de los datasets son presentados y contrastados con un método de predicción aleatoria, mediante distintas tablas y gráficos. También se exponen la cantidad de predicciones iguales entre cada par de predictores y la cantidad de predicciones correctas en común entre los mismos.
El análisis de las comparaciones expuestas por los gráficos, permitió a los autores establecer diversas conclusiones. Entre otras, se observó que el método hitting time (aún considerando sus cuatro variantes) resultó ser peor que cualquiera de los demás métodos (en los 5 datasets) y, además, es el algoritmo que menos predicciones en común tuvo con los demás. También se encontraron métodos que tienden a devolver un conjunto similar de predicciones, aún cuando algunos de estos calculan la similitud de forma muy diferente.