Detectarea fraudelor în învățarea automată: Ce trebuie să știți [2022]
Publicat: 2021-01-02Mâncare, haine, accesorii sau mobilier. Tot ce obișnuiai să cumperi din magazinele de pe drumurile aglomerate poate fi acum cumpărat online. Comerțul electronic este o industrie de miliarde de dolari și doar crește din ce în ce mai mult. Inutil să spun că și acesta este în stăpânirea lumii criminale. Infractorii online sunt prezenți în toate sectoarele online pe care le puteți numi.
Detectarea fraudelor cu învățare automată este posibilă datorită capacității modelelor de a învăța din datele fraudelor anterioare pentru a recunoaște tiparele și a prezice legitimitatea tranzacțiilor viitoare. În majoritatea cazurilor, este mai eficient decât oamenii datorită vitezei și eficienței procesării informațiilor.
Unele tipuri de fraude pe internet sunt:
- falsificare de identitate. În zilele noastre , ID-urile sunt fabricate atât de bine încât este aproape imposibil pentru oameni să-și verifice legitimitatea și să prevină orice fraudă de identitate.
Prin utilizarea AI, pot fi analizate diverse caracteristici ale aspectului cărții de identitate pentru a da un rezultat asupra autenticității documentului. Acest lucru permite companiilor să-și stabilească propriile criterii de securitate atunci când se fac cereri care necesită anumite documente de identitate.
- Escrocherii la credite bancare. Acestea se pot întâmpla dacă o persoană vă contactează și vă oferă o schemă de împrumut cu condiții suspect de favorabile. Aici persoana care vă va contacta vă va cere detaliile bancare sau plata în avans, fără a avea informații adecvate despre companie sau chiar să folosească un număr de contact internațional. Astfel de fraude pot fi tratate cu ușurință de către AI folosind înregistrările anterioare ale cererilor de împrumut pentru a elimina cei care ne împrumută.
- phishing prin e-mail. Acesta este un fel de infracțiune cibernetică în care site-urile și mesajele false sunt anunțate utilizatorilor, cerându-le să partajeze date personale. Dacă o persoană nu este prea atentă, el sau ea poate introduce orice date confidențiale care o pot face vulnerabilă la amenințări. Cel mai bun mod de a evita această fraudă este ca utilizatorul să fie atent, cu toate acestea, AI poate face treaba de a descoperi e-mailurile frauduloase prin filtrarea lor folosind algoritmi de bază de învățare automată, cum ar fi regresia.
- Fraude cu carduri de credit. Acesta este cel mai frecvent tip de fraudă de plată. Acest lucru se datorează faptului că toate detaliile sunt stocate online, ceea ce facilitează accesul infractorilor și hackerilor. Cardurile trimise prin poștă pot fi, de asemenea, ușor interceptate. O modalitate de a filtra astfel de tranzacții frauduloase folosind învățarea automată este discutată mai jos.
- Furt de identitate. Învățarea automată pentru detectarea furtului de identitate ajută la verificarea în timp real a documentelor de identitate valoroase, cum ar fi pașapoarte, carduri PAN sau permise de conducere. Mai mult, informațiile biometrice pot fi uneori necesare pentru a îmbunătăți și mai mult securitatea. Aceste metode de securitate au nevoie de autentificare personală, ceea ce scade șansele de fraudă într-o mare măsură.
Citește și despre: Salariul inginerului de învățare automată în India
Model pentru a prezice frauda folosind datele cardului de credit
Aici este folosit un set de date Kaggle foarte faimos pentru a demonstra modul în care funcționează detectarea fraudei folosind un model simplu de rețea neuronală.

Importuri:
importa panda ca pd
import numpy ca np
import tensorflow ca tf
import keras
din sklearn.preprocessing import StandardScaler
din keras.models import Sequential
din keras.straturi import Dense
din sklearn.model_selection import train_test_split
din sklearn.metrics import classification_report
Aruncă o privire la setul de date aici . Coloana Sumă este normalizată ca toate celelalte caracteristici, iar coloana Timp este eliminată, deoarece este irelevantă.
data= pd.read_csv ( 'creditcard.csv' )
data [ 'Amount_norm' ] = StandardScaler () .fit_transform ( data [ 'Amount' ] .values.reshape ( -1 , 1 ))
data= data.drop ([ 'Sumă' ], axa= 1 )

data= data.drop ([ 'Timp' ], axa= 1 )
date= date [: -1 ]
data.info()
Acum, după câteva curățări de date, setul nostru de date conține un total de 28 de caracteristici și o țintă, toate având valori flotante care nu sunt goale.
Ținta noastră este coloana Clasă care determină dacă tranzacția cu cardul de credit este fraudă sau nu. Deci, setul de date este împărțit în mod corespunzător în tren și test, păstrând raportul obișnuit de împărțire de 80:20. ( random_state este fixat pentru a vă ajuta să reproduceți datele împărțite)
X = data.iloc [:, data.columns != 'Class' ]
y = data.iloc [:, data.columns == 'Clasă' ]
X_train , X_test , y_train , y_test = tren_test_split ( X , y , dimensiunea_test = 0,2 , stare_aleatorie = 0 )
Folosim modelul secvenţial din biblioteca Keras pentru a construi o reţea neuronală cu 3 straturi dense. Stratul de ieșire conține doar un singur neuron care va folosi funcția sigmoidă pentru a rezulta fie o clasă pozitivă, fie o clasă negativă.
Modelul este apoi compilat cu Adam Optimizer, deși este foarte recomandat să încercați singur diferite valori ale hiper parametrilor, cum ar fi numărul de unități din fiecare strat, activare, optimizator etc. pentru a vedea ce funcționează cel mai bine pentru un anumit nivel. set de date.
model= secvenţial ()
model.add ( Dens ( unități= 16 , activation = 'relu' , input_dim = 29 ))
model.add ( Dens ( units= 16 , activation = 'relu' ))
model.add ( Dens ( unități = 1 , activare = 'sigmoid' ))
model. compilare ( optimizator = 'adam' , pierdere = 'binary_crossentropy' , metrics = [ 'accuracy' ])
model.fit ( X_train , y_train , batch_size = 32 , epochs = 15 )
Acesta este rezultatul după rularea modelului pentru câteva epoci.
Vedem că modelul oferă o precizie de 99,97% foarte rapid. Mai jos, y_pred conține predicțiile făcute de modelul nostru asupra datelor de testare și este afișat un rezumat clar al performanței sale.
y_pred = model.predict ( X_test )

y_pred = ( y_pred > 0,5 )
imprimare ( raportul_clasificare ( y_test , y_pred ))
Citiți: Idei de proiecte de învățare automată pentru începători
Concluzie
Astfel, am reușit să construim cu succes un model extrem de precis pentru a determina tranzacțiile frauduloase. Acestea sunt foarte utile în scopuri de gestionare a riscurilor.
Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.