Upload
ontico
View
691
Download
2
Embed Size (px)
Citation preview
Эффективные
алгоритмы поиска
подобных объектов
для терабайтов данных
Евгений Журин,
data scientist,
Segmento
5
Задача: Look aLike
Вся аудитория,
которую
мы видим
Интересная аудитория,
которую надо найти
example.com
просмотрели >=2
страниц
8
Что такое для нас профиль?
offline данные
История поведения
в интернете
Контекстная
информация
(где, откуда,
с какого устройства)
11
Чистим данные
1. Выкидываем профили
с недостаточной статистикой
2. И сайты, с которых идет больше
всего и меньше всего трафика
13
Матричное
представление профилейhosts/profiles index
kaggle.com 1 1 0 1
habrahabr.ru 2 0 1 0
machinelearning.
ru
3 1 0 1
analyticsvidhya.c
om
4 0 1 0
15
Хэш функции
index
kaggle.com 1
machinelearning.ru 3
index
kaggle.co
m
machinelearning.ru Minhash
(index + 1) mod 3 2 1 1
(2*index + 1) mod 3 0 1 0
18
Как выбрать количество
хэш функций
0.0 0.02 0.04 0.06 0.08 0.10
200000
400000
600000
800000
1000000
Nu
mb
er
of
ha
sh f
un
ctio
ns
Error
Например: мы хотим ошибку не больше, чем 10% ,
для этого нам нужно 100 хэш функций,
а для ошибки 1% процент нам нужно уже 10000 функций.
19
Как выбрать параметры
хэш функций?
a, b — случайные целые числа < max(x)
c — простое число, чуть большее чем max(x), общее для всех
h(x) = (ax + b) mod c
22
Этап выделения профилей
для расчета расcтояний
Band 1 Band 2 Band 3 Band 4
целевая аудитория (просмотрел
на example.com >=2 страниц)
ФильтруемИнтересный бэнд
Фильтруем
24
1 – (1-s^10)^10
Jaccard similarty of profiles
0.0 0.2 0.4 0.6 0.8 1.0
1.0
0.8
0.6
0.4
0.2
0.0
Pro
ba
bil
ity o
f b
eco
min
g a
ca
nd
ida
te
1 – (1-s^5)^20
Как выбрать количество
бэндов?
29
Что у нас есть?machinelearning.ru habrahabr.ru
1 4
8 1
7 9
Матрица A
размерности MxN, где M >> N и 0 <= a <=1 и
кол-во ненулевых элементов в строке <= L << N
30
Что хотим найти?
Похожесть сайтов на основе
их посещения аудиторией.
Более формально и в более общем виде –
задача расчета матрицы расстояний
между столбами.