Wykrywanie oszustw w uczeniu maszynowym: co musisz wiedzieć [2022]
Opublikowany: 2021-01-02Jedzenie, ubrania, akcesoria czy meble. Wszystko, co kiedyś kupowałeś w sklepach przy ruchliwych drogach, możesz teraz kupić online. Handel elektroniczny to wielomiliardowa branża, która stale rośnie. Nie trzeba dodawać, że to również jest w zasięgu świata przestępczego. Przestępcy internetowi są obecni we wszystkich sektorach internetowych, które możesz wymienić.
Wykrywanie oszustw za pomocą uczenia maszynowego jest możliwe dzięki zdolności modeli do uczenia się na podstawie danych dotyczących oszustw z przeszłości w celu rozpoznawania wzorców i przewidywania zasadności przyszłych transakcji. W większości przypadków jest bardziej skuteczny niż człowiek ze względu na szybkość i wydajność przetwarzania informacji.
Niektóre rodzaje oszustw internetowych to:
- Fałszerstwo identyfikatora. W dzisiejszych czasach identyfikatory są tak dobrze sfabrykowane, że prawie niemożliwe jest, aby ludzie mogli zweryfikować ich legalność i zapobiec oszustwom związanym z tożsamością.
Dzięki wykorzystaniu sztucznej inteligencji można analizować różne cechy wyglądu dowodu osobistego, aby uzyskać wynik dotyczący autentyczności dokumentu. Pozwala to firmom na ustalenie własnych kryteriów bezpieczeństwa, gdy składane są wnioski wymagające określonych dokumentów tożsamości.
- Oszustwa związane z pożyczkami bankowymi. Może się tak zdarzyć, jeśli dana osoba skontaktuje się z Tobą i zaproponuje program pożyczkowy na podejrzanie korzystnych warunkach. Tutaj osoba kontaktująca się z Tobą poprosi o dane bankowe lub o płatność z góry, bez posiadania odpowiednich informacji o firmie lub nawet przy użyciu międzynarodowego numeru kontaktowego. Sztuczna inteligencja może z łatwością poradzić sobie z takimi oszustwami, wykorzystując zapisy poprzednich wniosków o pożyczkę, aby odfiltrować osoby, które nie spłacają pożyczki.
- Wyłudzanie wiadomości e-mail. Jest to rodzaj cyberprzestępczości, w której fałszywe witryny i wiadomości są reklamowane użytkownikom, prosząc ich o udostępnienie danych osobowych. Jeśli dana osoba nie jest zbyt ostrożna, może wprowadzić wszelkie poufne dane, które mogą narazić ją na zagrożenia. Najlepszym sposobem na uniknięcie tego oszustwa jest zachowanie ostrożności przez samego użytkownika, jednak sztuczna inteligencja może wykonać zadanie wyszukiwania fałszywych wiadomości e-mail, filtrując je za pomocą podstawowych algorytmów uczenia maszynowego, takich jak regresja.
- Oszustwa związane z kartami kredytowymi. Jest to najczęstszy rodzaj oszustwa płatniczego. Dzieje się tak, ponieważ wszystkie dane są przechowywane online, co ułatwia dostęp przestępcom i hakerom. Karty wysłane pocztą można również łatwo przechwycić. Poniżej omówiono jeden ze sposobów filtrowania takich oszustw przy użyciu uczenia maszynowego.
- Kradzież tożsamości. Uczenie maszynowe do wykrywania kradzieży tożsamości pomaga sprawdzać w czasie rzeczywistym cenne dokumenty tożsamości, takie jak paszporty, karty PAN lub prawa jazdy. Ponadto informacje biometryczne mogą być czasami wymagane w celu jeszcze większego zwiększenia bezpieczeństwa. Te metody bezpieczeństwa wymagają osobistego uwierzytelnienia, co znacznie zmniejsza ryzyko oszustw.
Przeczytaj także: Wynagrodzenie inżyniera uczenia maszynowego w Indiach
Model do przewidywania oszustw przy użyciu danych karty kredytowej
W tym przypadku bardzo znany zbiór danych Kaggle służy do zademonstrowania, jak działa wykrywanie oszustw przy użyciu prostego modelu sieci neuronowej.

Import:
importuj pandy jako PD
importuj numer jako np
importuj tensorflow jako tf
importuj keras
ze sklearn.preprocessing import StandardScaler
z keras.models import Sequential
z keras.layers importuj Dense
ze sklearn.model_selection importuj train_test_split
ze sklearn.metrics importu Classification_report
Spójrz na zbiór danych tutaj . Kolumna Kwota jest znormalizowana, podobnie jak wszystkie inne funkcje, a kolumna Czas jest usuwana, ponieważ jest nieistotna.
data= pd.read_csv ( 'creditcard.csv' )
data [ 'Kwota_norma' ] = StandardScaler () .fit_transform ( data [ 'Kwota' ] .values.reshape ( -1 , 1 ))
data= data.drop ([ 'Kwota' ], oś= 1 )

data= data.drop ([ 'Czas' ], oś= 1 )
dane= dane [: -1 ]
data.info()
Teraz, po pewnym wyczyszczeniu danych, nasz zestaw danych zawiera łącznie 28 funkcji i jeden cel, z których wszystkie mają wartości zmiennoprzecinkowe, które nie są puste.
Naszym celem jest kolumna Class , która określa, czy dana transakcja kartą kredytową jest oszustwem, czy nie. Tak więc zbiór danych jest odpowiednio podzielony na pociąg i test, zachowując zwykły stosunek podziału 80:20. ( Naprawiono random_state , aby pomóc w odtworzeniu podzielonych danych)
X = data.iloc [:, data.columns != 'Klasa' ]
y = data.iloc [:, data.columns == 'Klasa' ]
X_train , X_test , y_train , y_test = train_test_split ( X , y , test_size = 0.2 , random_state= 0 )
Wykorzystujemy model sekwencyjny z biblioteki keras do budowy sieci neuronowej z 3 gęstymi warstwami. Warstwa wyjściowa zawiera tylko jeden neuron, który użyje funkcji sigmoid , aby uzyskać klasę dodatnią lub ujemną.
Model jest następnie kompilowany za pomocą optymalizatora adam , chociaż zdecydowanie zaleca się samodzielne wypróbowanie różnych wartości hiperparametrów, takich jak liczba jednostek w każdej warstwie, aktywacja, optymalizator itp., aby zobaczyć, co działa najlepiej dla danego zbiór danych.
model= sekwencyjny ()
model.add ( Gęsty ( jednostki= 16 , aktywacja = 'relu' , input_dim = 29 ))
model.add ( Gęste ( jednostki= 16 , aktywacja = 'relu' ))
model.add ( Gęsty ( jednostki= 1 , aktywacja = 'sigmoid' ))
Model. kompilacja ( Optimizer = 'adam' , loss = 'binary_crossentropy' , metrics = [ 'accuracy' ])
model.fit ( X_train , y_train , batch_size = 32 , epoki = 15 )
To wynik po uruchomieniu modelu przez kilka epok.
Widzimy, że model bardzo szybko daje 99,97% dokładności. Poniżej y_pred zawiera przewidywania wykonane przez nasz model na podstawie danych testowych oraz zgrabne podsumowanie jego wydajności.
y_pred = model.predict ( X_test )

y_pred = ( y_pred > 0.5 )
drukuj ( raport_klasyfikacji ( y_test , y_pred ))
Przeczytaj: Pomysły na projekty uczenia maszynowego dla początkujących
Wniosek
W ten sposób udało nam się z powodzeniem zbudować bardzo dokładny model do wykrywania nieuczciwych transakcji. Są one bardzo przydatne do celów zarządzania ryzykiem.
Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznego szkolenia, ponad 30 studiów przypadków i zadań, IIIT- Status absolwenta B, ponad 5 praktycznych, praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.