Creazione di un sistema automaticu per cumbatte l'intrusi in u situ (fraude)

Per l'ultimi sei mesi, aghju creatu un sistema per cumbatte u fraudulente (attività fraudulenta, fraudulenta, etc.) senza alcuna infrastruttura iniziale per questu. L'idee d'oghje chì avemu truvatu è implementatu in u nostru sistema aiutanu à detectà è analizà parechje attività fraudulente. In questu articulu, vogliu parlà di i principii chì avemu seguitu è ​​ciò chì avemu fattu per ottene u statu attuale di u nostru sistema, senza entre in a parte tecnica.

Principi di u nostru sistema

Quandu si sentenu termini cum'è "automaticu" è "fraude", probabilmente cuminciate à pensà à l'apprendimentu di a macchina, Apache Spark, Hadoop, Python, Airflow, è altre tecnulugia da l'ecosistema di a Fundazione Apache è u campu di Data Science. Pensu chì ci hè un aspettu di l'usu di sti strumenti chì ùn sò micca generalmente citati: anu bisognu di certi prerequisiti in u vostru sistema di l'impresa prima di pudè cumincià à aduprà. In corta, avete bisognu di una piattaforma di dati di l'impresa chì include un lacu di dati è un magazzinu. Ma chì si ùn avete micca una tale piattaforma è avete sempre bisognu di sviluppà sta pratica? I seguenti principii chì sparte quì sottu ci anu aiutatu à ghjunghje à un puntu induve pudemu fucalizza nantu à migliurà e nostre idee invece di truvà una chì funziona. Tuttavia, questu ùn hè micca un pianu di prughjettu. Ci sò sempre assai cose in u pianu da un puntu di vista tecnologicu è di produttu.

Principiu 1: Valore di l'affari prima

Pudemu u "valore di l'affari" in prima linea di tutti i nostri sforzi. In generale, ogni sistema di analisi automatica appartene à u gruppu di sistemi cumplessi cù un altu livellu di automatizazione è cumplessità tecnica. A creazione di una suluzione cumpleta pigliarà assai tempu si crea da zero. Avemu decisu di mette u valore di l'affari prima è a cumpletezza tecnologica in seconda. In a vita reale, questu significa chì ùn accettemu micca a tecnulugia avanzata cum'è dogma. Scegliemu a tecnulugia chì travaglia megliu per noi in u mumentu. À u tempu, pò pare chì duvemu riimplementà certi moduli. Questu hè u cumprumissu chì avemu accettatu.

Principiu 2: Intelligenza aumentata

Aghju scumessa chì a maiò parte di e persone chì ùn sò micca prufondamente implicate in u sviluppu di suluzioni di apprendimentu automaticu puderanu pensà chì u scopu hè di rimpiazzà l'omu. In fatti, i suluzioni di l'apprendimentu automaticu sò luntanu da perfettu è solu in certi spazii hè pussibule di rimpiazzà. Avemu rifiutatu sta idea da u principiu per parechje motivi: dati sbilanciati nantu à l'attività fraudulenta è l'incapacità di furnisce una lista cumpleta di funziunalità per i mudelli di machine learning. In cuntrastu, avemu sceltu l'opzione di intelligenza rinfurzata. Questu hè un cuncettu alternativu di intelligenza artificiale chì si focalizeghja nantu à u rolu di supportu di l'IA, enfatizendu u fattu chì e tecnulugia cognitive sò destinate à rinfurzà l'intelligenza umana invece di rimpiazzà. [1]

Dopu questu, u sviluppu di una soluzione cumpleta di apprendimentu di macchina da u principiu richiederebbe un sforzu enormu, chì ritardaria a creazione di valore per a nostra attività. Avemu decisu di custruisce un sistema cù un aspettu di apprendimentu automaticu in crescita iterativa sottu a guida di i nostri esperti di duminiu. A parte sfida di u sviluppu di un tali sistema hè chì deve furnisce i nostri analisti cù casi micca solu in quantu à esse una attività fraudulenta o micca. In generale, ogni anomalia in u cumpurtamentu di u cliente hè un casu suspettu chì i specialisti anu bisognu à investigà è risponde in qualchì manera. Solu una frazione di questi casi riportati pò esse veramente classificatu cum'è fraud.

Principiu 3: Rich Analytics Platform

A parte più sfida di u nostru sistema hè a verificazione end-to-end di u flussu di travagliu di u sistema. L'analisti è i sviluppatori anu da ottene facilmente set di dati storichi cù tutte e metriche utilizzate per l'analisi. Inoltre, a piattaforma di dati deve furnisce un modu faciule per cumplementà un settore di metriche esistenti cù novi. I prucessi chì creamu, è questi ùn sò micca solu prucessi di software, duveranu permette di ricalculate facilmente i periodi precedenti, aghjunghje novi metriche è cambià a previsione di dati. Pudemu ottene questu accumulendu tutte e dati chì u nostru sistema di produzzione genera. In questu casu, i dati diventeranu gradualmente un fastidiu. Avemu bisognu di almacenà una quantità crescente di dati chì ùn avemu micca aduprà è prutegge. In un tali scenariu, i dati diventeranu più è più irrilevanti cù u tempu, ma ancu esige i nostri sforzi per gestisce. Per noi, l'accumulazione di dati ùn hà micca sensu, cusì avemu decisu di piglià un approcciu diversu. Avemu decisu di urganizà e magazzini di dati in tempu reale intornu à l'entità di destinazione chì vulemu classificà, è almacenà solu e dati chì ci permettenu di verificà i periodi più recenti è pertinenti. A sfida à stu sforzu hè chì u nostru sistema hè eterogeneu, cù parechje magazzini di dati è moduli di software chì necessitanu una pianificazione curretta per operare in modu coherente.

Cuncepzioni di cuncepimentu di u nostru sistema

Avemu quattru cumpunenti principali in u nostru sistema: sistema di ingestione, computazionale, analisi BI è sistema di seguimentu. Servinu scopi specifichi, isolati, è i mantenemu isolati seguendu approcci di cuncepimentu specifichi.

Creazione di un sistema automaticu per cumbatte l'intrusi in u situ (fraude)

Disegnu basatu nantu à u cuntrattu

Prima di tuttu, avemu accunsentutu chì i cumpunenti duveranu s'appoghjanu solu nantu à certe strutture di dati (cuntratti) chì sò passati trà elli. Questu facilita l'integrazione trà elli è micca impone una cumpusizioni specifica (è ordine) di cumpunenti. Per esempiu, in certi casi, ci permette di integrà direttamente u sistema di ingesta cù u sistema di seguimentu d'alerta. In questu casu, questu serà fattu in cunfurmità cù u cuntrattu d'alerta accunsentutu. Questu significa chì i dui cumpunenti seranu integrati cù un cuntrattu chì qualsiasi altru cumpunente pò aduprà. Ùn aghjunghje micca un cuntrattu supplementu per aghjunghje alerti à u sistema di seguimentu da u sistema di input. Stu approcciu richiede l'usu di un numeru minimu predeterminatu di cuntratti è simplificà u sistema è e cumunicazioni. Essenzialmente, pigliamu un approcciu chjamatu "Contract First Design" è l'applichemu à i cuntratti in streaming. [2]

Streaming in ogni locu

A salvezza è a gestione di u statu in un sistema inevitabbilmente porta à cumplicazioni in a so implementazione. In generale, u statu deve esse accessibile da ogni cumpunente, deve esse coherente è furnisce u valore più attuale in tutti i cumpunenti, è deve esse affidatu cù i valori curretti. Inoltre, avè chjamate à u almacenamiento persistente per ricuperà l'ultimu statu aumenterà u numeru di operazioni I / O è a cumplessità di l'algoritmi utilizati in i nostri pipeline in tempu reale. Per via di questu, avemu decisu di sguassà l'almacenamiento statale, se pussibule, cumpletamente da u nostru sistema. Stu approcciu richiede chì tutti i dati necessarii sò inclusi in u bloccu di dati trasmessi (messaghju). Per esempiu, se avemu bisognu di calculà u numeru tutale di qualchi osservazioni (u nùmeru di operazioni o casi cù certe caratteristiche), calculemu in memoria è generà un flussu di tali valori. I moduli dipendenti utilizanu partizioni è batching per sparte u flussu in entità è operanu nantu à l'ultimi valori. Stu approcciu hà eliminatu a necessità di avè un almacenamiento persistente di discu per tali dati. U nostru sistema usa Kafka cum'è un broker di messagiu è pò esse usatu cum'è una basa di dati cù KSQL. [3] Ma l'usu averia ligatu assai a nostra suluzione à Kafka, è avemu decisu di ùn aduprà. L'approcciu chì avemu sceltu ci permette di rimpiazzà Kafka cù un altru broker di messagi senza grandi cambiamenti interni à u sistema.

Stu cuncettu ùn significa micca chì ùn usemu micca u almacenamiento di discu è e basa di dati. Per pruvà è analizà u rendiment di u sistema, avemu bisognu di almacenà una quantità significativa di dati nantu à u discu chì rapprisenta diverse metriche è stati. U puntu impurtante quì hè chì l'algoritmi in tempu reale ùn dependenu micca di tali dati. In a maiò parte di i casi, usemu i dati almacenati per l'analisi offline, debugging è seguimentu di casi specifichi è risultati chì u sistema pruduce.

I prublemi di u nostru sistema

Ci sò certi prublemi chì avemu risoltu à un certu livellu, ma esigenu suluzioni più penseru. Avà vogliu solu citalli quì perchè ogni puntu vale u so propiu articulu.

  • Avemu sempre bisognu di definisce prucessi è pulitiche chì sustenenu l'accumulazione di dati significati è pertinenti per a nostra analisi, scuperta è esplorazione automatizata di dati.
  • Incorporazione di i risultati di l'analisi umani in u prucessu di stallà automaticamente u sistema per aghjurnà cù l'ultimi dati. Questu ùn hè micca solu aghjurnà u nostru mudellu, ma ancu aghjurnà i nostri prucessi è migliurà a nostra cunniscenza di i nostri dati.
  • Trouver un équilibre entre l'approche déterministe de IF-ELSE et ML. Qualchissia hà dettu: "ML hè un strumentu per i disperati". Questu significa chì vulete usà ML quandu ùn capisce più cumu per ottimisà è migliurà i vostri algoritmi. Per d 'altra banda, l'approcciu deterministicu ùn permette micca a deteczione di anomalie chì ùn sò micca previste.
  • Avemu bisognu di un modu simplice per pruvà e nostre ipotesi o correlazioni trà e metriche in i dati.
  • U sistema deve avè parechji livelli di veri risultati pusitivi. I casi di frode sò solu una frazzioni di tutti i casi chì ponu esse cunsiderati pusitivi per u sistema. Per esempiu, l'analista volenu riceve tutti i casi suspetti per a verificazione, è solu una piccula parte di elli sò frauds. U sistema deve presentà in modu efficiente tutti i casi à l'analisti, indipendentemente s'ellu si tratta di una frode reale o solu un cumpurtamentu suspettu.
  • A piattaforma di dati deve esse capace di ricuperà insemi di dati storichi cù calculi generati è calculati nantu à a mosca.
  • Implementa facilmente è automaticamente qualsiasi cumpunenti di u sistema in almenu trè ambienti differenti: produzzione, sperimentale (beta) è per sviluppatori.
  • È l'ultimu ma micca menu. Avemu bisognu di custruisce una piattaforma ricca di teste di rendiment nantu à quale pudemu analizà i nostri mudelli. [4]

referenze

  1. Cosa hè l'Intelligenza Aumentata?
  2. Implementazione di una API-First Design Methodology
  3. Kafka si trasforma in una "base di dati di streaming di eventi"
  4. Capisce a curva AUC - ROC

Source: www.habr.com

Add a comment