en el primer ejemplo vimos las predicciones a nivel individual, usando el
modelo de estados de costos
este es un artículo de las conferencias SocialCom del año 2013
titulado Comprendiendo el poder predictivo de la mecánica computacional y las redes
de estado de eco en los medios; en el escenario de las redes de estado de eco
tenemos otro algoritmo de aprendizaje de máquina que nos muestra lo que podemos
hacer, las redes de estado de eco forman una estructura de red recurrente
que a la gente le suele gustar debido a que tiene estas propiedades interesantes
para el aprendizaje de sistemas con conexiones internas aleatorias
cableadas en forma aleatoria
queremos tener algo contra lo que poder comparar nuestros modelos de mecánica
computacional
aquí vemos el problema básico y que, por cierto, es el mismo problema
Social Media es un canal de marketing muy importante, sin embargo hay mucho ruido y
no queda claro cuando los usuarios no están prestando atención
queremos entender cuando los usuarios están activos y para ello creamos una
herramienta que nos permite predecir cuando algunos usuarios particulares
twitearán, que estarán probablemente más allá de la línea, que probablemente vayan
a usar el twitter; entonces queremos construir una herramienta que pueda
predecir cuando la gente va a twitear, así podemos predecir cuando estén online
tenemos el conjunto de datos de los usuarios de twitter, tenemos una red de
15 mil seguidores, y conocemos todas sus relaciones, y tenemos estos datos
recolectados durante 4 o 5 años, pero en este contexto particular, vamos a usar los
estados de los usuarios recolectados durante 7 semanas y vamos a concentrarnos
en los 3 mil usuarios que más frecuentemente twitean, podemos ver
algunas cosas como una distribución de ley de potencia a la reactividad, lo que
quiere decir que hay muy pocos usuarios que twitean constantemente y muchos
usuarios que nunca twitean nada
aquí están los datos
tenemos una estampa temporal que llega hasta el nivel de los segundos y podemos
sumar los valores de mayor nivel, tenemos el texto, pero para este caso en
particular no nos va a interesar el texto, sino sólo el tiempo, estamos interesados
en predecir únicamente cuando se va a twitear y no qué se twiteó
una vez que obtenemos los datos, podemos procesarla con estas unidades, donde
tenemos en nuestro conjunto de datos, un 0 si no se twiteó y 1 si se twiteó y para
alcanzar a los usuarios usamos la v y el tiempo es la t, si es igual a 0 significa
que no twiteó y 1 significa que sí twiteó Podemos sumar todos estos datos
y observar como cambia a lo largo del tiempo, en este contexto particular,
estamos buscando lo que sucedió durante 7 semanas y de izquierda a derecha vemos los
segundos durante el día y entonces podemos ver cuando es más probable que los
usuarios envíen un twit, durante el curso del día; este usuario es interesante,
tiene una estructura en su conducta que parece cambiar cada vez más tarde a medida
que el día avanza y nos preguntamos si no es el resultado de un sorprendente
calendario automático o algo así que posee esa conducta de twiteo
otros usuarios tienen otras conductas, algunos parecen twitear constantemente
y eso es interesante. Entonces como construimos estos modelos? dejenme saltar
al caso y les mostraré algunos de los resultados de todo esto, nosotros vamos a
pre probar nuestro modelo, prediciendo para cada usuario en forma separada
entrenando durante 45 días podemos crear un modelo consistente, lo vamos a testear
para 4 días, tendremos una mirada hacia atrás de 10 pasos y cada paso en este caso
es un incremento de 10 minutos, entonces miramos para atrás hasta 1 hora y 40
minutos, y lo que vamos a predecir es un solo paso, vamos a usar el 0 y 1 para la
pérdida y vamos a comparar todos los casos con una base de "mayoría de votos" debido
a que honestamente, la mayor parte de los usuarios nunca twitean, entonces si
predecimos que no van a twitear, la tasa de certeza lo hará bien, pero en vez
de ello lo que queremos hacer es comparar con una línea de base donde asumimos que
si no twitearon en el pasado, tampoco lo harán en el futuro y si lo hicieron en el
pasado, significa que lo harán en el futuro, y vamos a mostrarles como mejorar
más allá de esa línea de base
aquí tenemos los resultados, para el modelo de estados de costo, donde
mostramos los resultados de la mejora en el modelo de estados
vemos que la mayor parte de la mejora no es muy significativa, pero hay algo de
mejora, donde tenemos algunos usuarios que realmente mejoran por sobre la línea de
base; esto es una mejora sobre la línea de base, no una mejora sobre los números,
sólo muestran cuanto mejoró
y lo que está bueno de esto es que desde que vemos estos puntos, la red de estados
que es un tipo de aprendizaje de máquina moderno del tipo caja negra
lo hace mucho mejor que el modelo de estados, que es un modelo de aprendizaje
de máquina de caja blanca
y podemos buscar al interior del modelo de estados, podemos buscar las reglas del
agente, podemos entender por qué el sitio es lo que es; en el modelo de red, algunas
de las conexiones son aleatorias, en verdad no sabemos que ocurre
otra forma en la que podemos pensar en eso es en la tasa de twits; con cuanta
frecuencia alguien twitea y cuanto mejoramos por sobre la conducta basada en
la frecuencia del twiteo
y lo que vemos es que los usuarios que nunca twitean y los usuarios que siempre
twitean no son los que más nos interesan pero para los que están en el medio se
hace complicado predecir porque twitean la mitad del tiempo, aquellos usuarios que
tienen el nivel más alto de aprobación en nuestros resultados
el modelo de estados de costos puede hacer un lindo trabajo prediciendo la conducta
aquí vemos un ejemplo en particular, aquí tenemos un usuario particular, DanielZeevi
en este caso particular, él twiteó cerca del 45% del tiempo y debo mencionar que
nosotros sólo miramos desde las 7 hasta las 10 pm para la actividad de twitter, no
la actividad en twitter durante todo el tiempo, y durante este período de tiempo
Daniel twitteó durante el 45% del tiempo que estamos explorando
el modelo de estados de costo fue capaz de predecir con certeza cuando él estaba por
twittear en un 94.77% del tiempo, mientras que el de las redes de estado de eco nos
predijo en un 94.19% del tiempo; es bastante certero, podemos ver otros
ejemplos donde el modelo de agregación también lo hace muy bien
en este punto vemos que tenemos alguna certeza que el modelo de estados de costo
que pudimos construir, basados en las reglas del agente de bajo nivel, termina
trabajando como si fueran agentes globales entonces la pregunta es, cómo podemos
juntar esa conducta para hacer predicciones de más alto nivel