Предсказание ссылок в социальных сетях. Презентация...

Post on 15-Apr-2017

67 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Предсказание ссылок в социальных сетях

Арсен ХажоянДекабрь 2016

Computer Science Center

актуальность

Кому это нужно?

• Социальные сети• e-commerce• Правоохранительные органы• Биоинформатики• Многие другие

2/22

постановка задачи

Социальная сеть представима в виде графа G(E, V):

• Вершина v ∈ V обозначает пользователясоциальной сети

• Ребро e = (u, v) ∈ E обозначает связь вида«пользователи u и v являются друзьями»

Некоторые рёбра в графе являются скрытыми изадача состоит в предсказании скрытых рёбер.

3/22

детали

В данных содержится информация о «характередружбы»: являются ли пользователи просто друзьями,или родственниками, или коллегами.

Tак же дана информация о самих пользователях:

• дата рождения и пол пользователя• страна и город, указанные в профиле• и прочее

4/22

предобработка

• Граф загружен в память в виде разреженнойматрицы csr_matrix из модуля scipy.sparse

• Информация о пользователях загружена в видеpandas.Dataframe

• Случайным образом скрыты 5% связей.

5/22

постановка задачи обучения

Поставлена задача бинарной классификации:

(u, v) →

1, u и v являются друзьями0, u и v не являются друзьями

Метрика — AUC-ROC.

6/22

матрица признаков

Базовая матрица признаков X:

• количество общих друзей двух пользователей• разница в возрасте• факт совпадения или различия:

• пола• города• страны• локации, из которой пользователь заходит чащевсего

7/22

предпосчёт количества общих друзей

• Матрица друзей F — симметричная: F = FT

• Матрица количества друзей C = FT · F = F2

• Для матрицы F = [500000× 500000] вычислениязаняли около двух минут

8/22

методы

Методы машинного обучения:

• метод k ближайших соседей (kNN)• метод опорных векторов (SVM)• случайный лес (Random Forest)• градиентный бустинг деревьев (XGBoost)

Подбор гиперпараметров:

• полный перебор по сетке параметров• случайный перебор

9/22

первый запуск

Запустим методы на базовой матрице признаков безизменений:

Таблица 1: Результаты методов:

Метод AUC–ROC

Random Forest 0.8704XGBoost 0.9145SVM 0.5486kNN 0.5564

10/22

сглаживание

Рис. 1: Гистограмма признака ”количество общих друзей”

11/22

сглаживание

Рис. 2: Гистограмма логарифма признака ”количествообщих друзей”

12/22

сглаживание

Таблица 2: Результаты методов до и после сглаживания:

Метод AUC–ROC до AUC–ROC после

SVM 0.5486 0.909kNN 0.5564 0.9112

13/22

масштабирование

• признаки распределены в разных интервалах• интервалы никак не связаны с важностьюпризнаков

• негативное влияние на метрические алгоритмы

Результаты kNN до и после масштабирования: 0.9112 и0.9117 соответственно.

14/22

коэффициент жаккара

Рассмотрим две ситуации:

• два пользователя, имеющие по 10 друзей каждый,имеют 2 общих друга;

• два пользователя, имеющие по 1000 друзейкаждый, имеют 2 общих друга;

Проблема: количества общих друзей равны, новероятность связи во второй паре ниже.

15/22

коэффициент жаккара

Решение: коэффициент Жаккара:

J(A,B) = |A ∩ B||A ∪ B| =

|A ∩ B||A|+ |B| − |A ∩ B| , 0 ≤ J(A,B) ≤ 1.

Результаты SVM до и после введения коэффициентаЖаккара: 0.909 и 0.9122 соответственно.

16/22

коэффициент адамик-адара

A(u, v) =∑

w∈common(u,v)

1log |w|

Таблица 3: Результаты методов до и после коэффициентаАдамик-Адара:

Метод AUC–ROC до AUC–ROC после

XGBoost 0.9145 0.9174SVM 0.9122 0.9163

17/22

ещё признаки

Идея — использовать характер связи. Добавимследующие признаки:

• количество друзей пользователя• отношение количества «близких» друзей кколичеству всех друзей

• отношение количества «обычных» друзей кколичеству «близких» друзей

Попробуем эти новые признаки с разнымикомбинациями признаков из предыдущихэкспериментов.

18/22

ещё признаки

Таблица 4: Результаты методов до и после добавленияпризнаков:

Метод AUC–ROC до AUC–ROC после

Random Forest 0.9002 0.9221XGBoost 0.9174 0.9421SVM 0.9163 0.9402kNN 0.9104 0.9282

19/22

оптимизация гиперпараметров

Выберем лучшие модели (XGBoost и SVM) и совершимполный перебор гиперпараметров.

Таблица 5: Результаты методов до и после оптимизациигиперпараметров:

Метод AUC–ROC до AUC–ROC после

XGBoost 0.9421 0.9445SVM 0.9402 0.9425

20/22

персонализированный page rank

• метод, учитывающий структуру графа• основан на Page Rank• вычислен с помощью Power Method

21/22

заключение

• проведено сравнение ряда методов предсказанияссылок

• успешно использована дополнительнаяинформация о связях

• написан код, работающий с разреженнымиматрицами

22/22

top related