Как да разработим система за откриване на измами, използвайки машинно обучение?

8 юли
Игор Кауфман, ръководител на ML/DS дивизията в DataArt
Как да разработим система за откриване на измами, използвайки машинно обучение?
С напредъка на новите технологии се увеличава и процентът на измами и кражби данни. В същото време развитието на методите за засичане на този тип престъпления трудно може да бъде в крак с набиращите скорост хакерски атаки. В тази статия Игор Кауфман, ръководител на ML/DS дивизията в DataArt, предлага конкретни идеи в няколко стъпки, свързани с изграждането на платформа за откриване на измами.

Всички говорят за AI базирани системи за откриване на измами, но как всъщност работят тези системи? Какви са точните стъпки за изграждане на такъв тип решение за сигурност?  Ето някои отговори:

Стъпка 0. Подготовка на данни

Данните са гориво на машинното обучение: колкото по-добро е горивото, толкова по-бързо работи автомобилът. Ще пропусна частта, която описва как да се агрегират данните и как да се съхраняват и транспортират, и ще премина направо към това, което трябва да се направи с тях, за да се случи ML магията.

Важно е да започнете с т. нар. „изчистване“ на данните, за да получите определен набор от функции за анализ. Нека разгледаме плащанията като пример: в случая имаме данни за купувача, данни за продавача, сума за плащане, час на изпращане на трансакцията, банкови данни, IP адреси и др. Всъщност може да има стотици параметри. Колкото по-сложно е полето, толкова повече параметри са необходими. Следователно, колкото по-добре изчистим данните, премахвайки зависими или свързани характеристики, толкова по-добра е ефективността на крайния алгоритъм. В противен случай би било трудно да се каже коя характеристика е довела до прогнозата. Обикновено подготовката и проучването на данни може да отнеме толкова или дори повече време от останалата част от проекта за машинно обучение.

image

Графика: червените квадратчета са силно свързани характеристики - колкото по-малко червени квадратчета имаме, толкова по-добра е интерпретативността на модела.

Стъпка 1. Контролирано обучение или какво можете да извлечете от това, което вече знаете?

Фирмите често имат някакъв вид система за откриване на измами. Те могат да бъдат или базирани на правила и да станат непосилни поради големия брой на тези правила (стремейки се да филтрират всички подозрителни случаи), или базирани на AI системи, предоставени от трети доставчик, който обработва чувствителни данни извън инфраструктурата на компанията.

Ако решите да заложите на защита чрез изграждане на вътрешна система за откриване на измами, може би се питате има ли начин да използвате съществуващите знания за измамите? Всъщност - има. Контролираното машинно обучение означава, че човек казва на машината какво не е наред и кое е правилно. Използвайки надеждни резултати и данни от съществуващи системи, можете да ускорите драстично процеса на обучение.

Обикновено има редица алгоритми, които могат да бъдат използвани. Основната цел е да се намери този от тях, който работи най-добре с определен набор от данни и да настроите параметрите му, за да получите най-добрия баланс между истински позитиви (реална измама), фалшиви позитиви (нереална измама, маркирани като такава) и фалшиви негативи (реална измама, която не е идентифицирани изобщо). Съществува диаграма, наречена „Матрица на объркване“, която работещите с данни използват за оптимизиране на алгоритмите.

image

Матрица на объркване - оранжево или не?

Колкото по-добри цифри постигнете тук, толкова по-бързо новата система може да замести остарелите и толкова по-добре ще се е обучила тя от историческите данни.

Стъпка 2. Откриване на измама

Но какво ще стане, ако в съществуващите алгоритми липсват редица елементи, свързани с измамите? В случая е необходимо да намерим подозрителни записи, които биха могли да бъдат измамни.

За да направим това, се нуждаем от групиране на всички елементи: трансакции, плащания или с каквито други компоненти работим. Малките и далечни клъстери са подозрителните елементи. Това означава, че алгоритъмът за клъстериране ги маркира като нетипични. Разбира се, не е задължително те да са измамни, но си струва да се разгледат с цел по задълбочено проучване.

image

Графика: 3D представяне на клъстери. Реалната размерност може да е стотици D.

Например:

  • всички записи не изглеждат правомерни и всички нови трансакции, които се появяват в този клъстер, трябва да бъдат блокирани автоматично
  • само част от записите са подозрителни и е нужно или да оправим параметрите на клъстера, или да изпратим всички тези съмнителни записи на специалист, който да ги прегледа ръчно.

Стъпка 3. Анализ на времето и динамични ограничения

По принцип клъстерирането може да се извърши на статичен набор от данни, но трябва да се имат предвид и някои особености или промени. Например моделът, свързан с личните или бизнес приходите може да се променя в резултат на нарастване на тези приходи. Но когато те растат, се увеличават и моделите на разходите. В допълнение, разходите могат да имат сезонен характер, например разходите са по-големи през празничния сезон. Тези модели на поведение също трябва да бъдат съобразени, за да се гарантира, че системата работи добре. Това изисква преразглеждане на необичайните трансакции, като същевременно динамично се коригира очакваният диапазон, за да се съобрази с еволюиращия характер на трансакциите във времето.

Предсказването на набора с нисък риск е работа за алгоритмите от времеви серии, като се започне от по-прости модели на авторегресия и се премине към по-сложни модели, като FBProphet (разработен от Facebook), който отчита фактора на сезонността.

image

Графика: тъмносинята линия показва реални и очаквани стойности, светлосинята - очаквано отклонение, черните точки представляват реални стойности. Черните точки, намиращи се извън обхвата, са подозрителни.

Стъпка 4. Интеграция

След като подготвим данните и сме обучили и тествали модела, как да го интегрираме със съществуващата инфраструктура?

По отношение на технологиите няма нищо сложно. Моделът ML изпълнява функцията на Representational state transfer (REST), за да има API, така че останалата част от системата да може да си взаимодейства с него. Тогава той трябва да бъде тестван и разгърнат (като контейнер на Docker), свързан към източниците на данни и потребителския интерфейс за поддръжка на решения.

От гледна точка на управлението на риска валидирането може да се извърши като паралелно се използва, както новата система за откриване на измами, така и старата (ако съществува такава), за да се гарантира, че новата е последователна. В допълнение, валидирането с помощта на човешка намеса може да бъде въведено с цел намаляване на риска от грешни решения в реални ситуации, както и за подобряване на моделите чрез допълнително обучение под надзор.

***

DataArt е компания със солиден опит в използването на изкуствен интелект и машинно обучение при изграждането на платформи за откриване на измами, както и при разработването на системи за прогнозиране и препоръки. Свържете се с нас, ако търсите технически партньор за изграждане на такъв тип решения.