Журнал "Information Security/ Информационная безопасность" #5, 2019

Анализ данных показал, что для покрытия более чем 90% всех ATM/POS достаточно взять транзак- ции 20% клиентов в течение 1–1,5 месяцев. слоя сети (матрица W на рис. 4) оптимизируются, чтобы мини- мизировать функцию потерь (например, Cross-Entropy). Результатом работы такой модели становится матрица W, строки которой – векторные представления (Embedding) слов. В рамках реализации подхода была также опробована модель GloVe (Global Vector), но ее результаты оказались хуже по сравнению со CBOW. Для нашей задачи в качестве аналога слов в CBOW мы решили использовать ID бан- коматов и устройств само- обслуживания (обозначим их вместе как ATM) и ID физиче- ских платежных терминалов (POS), а в качестве аналогов предложений – упорядоченную во времени последователь- ность использования ATM/POS одним клиентом за определен- ный временной интервал (под- бирался эмпирическим путем и в итоге составил 1,5 месяца). При этом была задействована дополнительная предобработ- ка "предложений": если устрой- ство-"слово" использовалось два или более раз подряд, то повторные использования уда- лялись, но если это устройство использовалось дальше после другого, то оно оставалось в выборке. Пример предобработки последовательности использо- вания ATM/POS: l исходная последовательность "слов": -> А -> А -> С -> А -> В - > В; l последовательность после обработки: -> А -> С -> A - > B. Результатом работы такой модели будут векторные пред- ставления устройств-"слов" (POS/ATM), но для нашей зада- чи нам нужно получить вектор- ное представление клиентов. Эмбеддинг клиента рассчиты- вался по алгоритму: l ко всем точкам, которые использовал клиент за задан- ный период времени, присоеди- нялись рассчитанные измере- ния эмбеддинга (если по како- му-то из устройств эмбеддинг отсутствовал, то он удалялся из "предложения"); l для каждой координаты век- тора эмбеддинга бралась медиа- на из соответствующих коорди- нат. Например, если клиент использовал ATM/POS с вектор- ными представлениями ((1,1,1), (2,0,5), (1,1,1), (0,1,4)), то итого- вое векторное представление самого клиента – (1,1,2.5). Для определения близости/ удаленности клиентов в полу- ченном векторном представле- нии использовалось косинусное расстояние между векторами: Cosine Distance = 1 - Cosine Simi- larity. Например, три клиента имеют следующие векторные представ- ления: Иванов И.И. = (1,1,2.5), Петров П.П. = (1,1.2,2.1), Сидоров С.С. = (4, 0, 0.3). Тогда расстоя- ние между Ивановым и другими двумя клиентами: l Cosine Distance (Иванов, Пет- ров) = 1 - (1х1 + 1х1,2 + 2,5х2,1)/ (2,87х2,62) = 1 - 0,99 = 0,01; l Cosine Distance (Иванов, Сидо- ров) = 1 - (1х4 + 1х0 + 2,5х0,3)/ (2,87x4,01) = 1 - 0,41 = 0,59. Из примера видно, что Ива- нов и Петров с точки зрения косинусного расстояния распо- ложены гораздо ближе друг к другу по сравнению с Ивановым и Сидоровым. Итоговая размерность "слов"/клиентов была выбрана равной 50 (а в примерах выше она была равна 3), в итоге каж- дому ID ATM/POS сопоставлялся вектор из 50 вещественных чисел. При их агрегации каждый клиент также был представлен вектором из 50 чисел. В рамках обучения и тестирования моде- ли было опробовано еще несколько вариантов размерно- сти, отличной от 50, но на этапе интеграции с моделью выявле- ния мошеннических переводов результаты были хуже. Данные для обучения модели Анализ данных показал, что для покрытия более чем 90% всех ATM/POS (наш словарь, если говорить в терминах NLP) достаточно взять транзакции 20% клиентов в течение 1–1,5 месяцев. При этом отсутствие 32 • ТЕХНОЛОГИИ 3 https://lilianweng.github.io/lil-log/2017/10/15/learning-word-embedding.html Рис.4. Input – слова из контекста выбранного слова, но представленные в виде 1-Hot-Encoding. Output – ожидаемое предсказание модели, само слово из контекста, также представленное в 1-Hot-Encode виде 3 Рис. 5. Пример 20 ближайших (верхний) и 20 самых удаленных по эмбеддинг- расстоянию ATM (исходный ATM – синий)

RkJQdWJsaXNoZXIy Mzk4NzYw