Anomalijų aptikimas yra tylus duomenų operacijų herojus – dūmų detektorius, kuris šnabžda prieš užsiliepsnojant.
Paprastai tariant: dirbtinis intelektas išmoksta, kaip atrodo „normalu“, suteikia naujiems įvykiams anomalijos balą ir tada, remdamasis slenksčiu, nusprendžia, ar siųsti pranešimą žmogui (ar automatiškai blokuoti tą dalyką) . Visa esmė slypi tame, kaip apibrėžiate „normalu“, kai jūsų duomenys yra sezoniniai, netvarkingi, dreifuojantys ir kartais jums meluojantys. [1]
Straipsniai, kuriuos galbūt norėsite perskaityti po šio:
🔗 Kodėl dirbtinis intelektas gali būti žalingas visuomenei?
Nagrinėjamos etinės, ekonominės ir socialinės rizikos, susijusios su plačiu dirbtinio intelekto diegimu.
🔗 Kiek vandens iš tikrųjų sunaudoja dirbtinio intelekto sistemos.
Paaiškina duomenų centro aušinimą, mokymo poreikius ir vandens poveikį aplinkai.
🔗 Kas yra dirbtinio intelekto duomenų rinkinys ir kodėl jis svarbus?
Apibrėžia duomenų rinkinius, žymėjimą, šaltinius ir jų vaidmenį modelio veikime.
🔗 Kaip dirbtinis intelektas prognozuoja tendencijas iš sudėtingų duomenų.
Apima šablonų atpažinimą, mašininio mokymosi modelius ir realaus pasaulio prognozavimo panaudojimą.
„Kaip dirbtinis intelektas aptinka anomalijas?“
Geras atsakymas turėtų apimti daugiau nei algoritmų sąrašą. Jame turėtų būti paaiškinta mechanika ir kaip ji atrodo, kai taikoma realiems, netobuliems duomenims. Geriausi paaiškinimai:
-
Pateikite pagrindinius ingredientus: savybes , pradinius rodiklius , balus ir slenksčius . [1]
-
Palyginkite praktines šeimas: atstumas, tankis, vienos klasės, izoliacija, tikimybinė, rekonstrukcija. [1]
-
Atsižvelkite į laiko eilučių ypatumus: „normalu“ priklauso nuo paros laiko, savaitės dienos, leidimų ir švenčių. [1]
-
Vertinimą traktuokite kaip tikrą suvaržymą: klaidingi pavojaus signalai ne tik erzina – jie griauna pasitikėjimą. [4]
-
Įtraukite interpretuojamumą + žmogaus dalyvavimą procese, nes „keista“ nėra pagrindinė priežastis. [5]
Pagrindinė mechanika: pradiniai rodikliai, balai, slenksčiai 🧠
Dauguma anomalinių sistemų – įmantrios ar ne – susiveda į tris judančias dalis:
mato modelis )
Neapdorotų signalų retai kada pakanka. Arba kuriate funkcijas (slenkančią statistiką, santykius, vėlavimus, sezoninius skirtumus), arba mokotės reprezentacijų (įterpimų, poskyrių, rekonstrukcijų). [1]
2) Taškų skaičiavimas (dar žinomas kaip: ar tai „keista“?)
Įprastos vertinimo idėjos apima:
-
Atstumu pagrįstas : toli nuo kaimynų = įtartinas. [1]
-
Tankumo pagrindu : mažas vietinis tankis = įtartinas (LOF yra antraeilis rodiklis). [1]
-
Vienos klasės ribos : išsiaiškinkite, kas yra „normalu“, pažymėkite, kas nepatenka į už jų ribų. [1]
-
Tikimybinis : maža tikimybė pagal pritaikytą modelį = įtartina. [1]
-
Rekonstrukcijos klaida : jei modelis, apmokytas normaliu režimu, negali jo atkurti, jis tikriausiai neveikia. [1]
3) Slenksčio nustatymas (dar žinomas kaip kada skambinti varpeliu)
Slenksčiai gali būti fiksuoti, pagrįsti kvantiliais, segmentams arba jautrūs sąnaudoms, tačiau jie turėtų būti kalibruojami atsižvelgiant į įspėjimo biudžetus ir tolesnes sąnaudas, o ne į vibracijas. [4]
Viena labai praktiška detalė: „scikit-learn“ išskirtinių/naujumo detektoriai aptinka neapdorotus balus ir tada taiko slenkstį (dažnai kontroliuojamą naudojant užterštumo tipo prielaidą), kad balus paverstų į išskirtinius/įprastus sprendimus [2].
Greiti apibrėžimai, kurie vėliau padeda išvengti skausmo 🧯
Du skirtumai, kurie apsaugo jus nuo subtilių klaidų:
-
Išskirtinių reikšmių aptikimas : jūsų mokymo duomenyse jau gali būti išskirtinių reikšmių; algoritmas vis tiek bando modeliuoti „tankiąją normaliąją sritį“.
-
Naujumo aptikimas : mokymo duomenys laikomi švariais; jūs vertinate, ar nauji stebėjimai atitinka išmoktą normalų modelį. [2]
Taip pat: naujumo aptikimas dažnai apibrėžiamas kaip vienos klasės klasifikacija – modeliuojant normalų, nes nenormalūs pavyzdžiai yra reti arba neapibrėžti [1].

Neprižiūrimi darbiniai arkliai, kuriuos iš tikrųjų naudosite 🧰
Kai etikečių trūksta (o tai iš esmės visada yra), tikruose vamzdynuose atsiranda šie įrankiai:
-
„Isolation Forest“ : stipri numatytoji reikšmė daugeliu lentelinių atvejų, plačiai naudojama praktikoje ir įdiegta „scikit-learn“. [2]
-
Vienos klasės SVM : gali būti efektyvus, bet jautrus derinimui ir prielaidoms; „scikit-learn“ aiškiai nurodo kruopštaus hiperparametrų derinimo poreikį. [2]
-
Vietinis išskirtinių reikšmių faktorius (LOF) : klasikinis tankiu pagrįstas vertinimas; puikiai tinka, kai „normalus“ nėra tvarkingas lašas. [1]
Praktiškas atradimas, kurį komandos atranda kiekvieną savaitę: LOF elgiasi skirtingai, priklausomai nuo to, ar mokymo rinkinyje atliekate išskirtinių duomenų aptikimą, ar naujumo aptikimą naujiems duomenims – „scikit-learn“ netgi reikalauja, kad novelty=True, kad saugiai surinktų nematytus taškus. [2]
Tvirtas bazinis lygis, kuris vis dar veikia, kai duomenys yra kaprizingi 🪓
Jei esate nusiteikę „mums tiesiog reikia kažko, kas mūsų nenustumtų į užmarštį“, patikimos statistikos neįmanoma įvertinti.
Modifikuotas z balas naudoja medianą ir MAD (medianinį absoliutų nuokrypį) , kad sumažintų jautrumą ekstremalioms vertėms. NIST EDA vadove dokumentuojama modifikuota z balo forma ir nurodoma dažnai naudojama „potencialaus išskirtinio“ nykščio taisyklė, kai absoliuti vertė yra didesnė nei 3,5 . [3]
Tai neišspręs visų anomalijų problemų, tačiau dažnai tai yra stipri pirmoji gynybos linija, ypač triukšmingų metrikų ir ankstyvojo etapo stebėjimo atveju. [3]
Laiko eilučių realybė: „Normalumas“ priklauso nuo to, kada ⏱️📈
Laiko eilučių anomalijos yra keblios, nes svarbiausia yra kontekstas: galima tikėtis šuolio vidurdienį; tas pats šuolis 3 val. nakties gali reikšti, kad kažkas dega. Todėl daugelis praktinių sistemų modeliuoja normalumą naudodamos laiko atžvilgiu jautrias funkcijas (vėlavimą, sezoninius pokyčius, slenkančius langus) ir įvertina nuokrypius, palyginti su numatomu modeliu. [1]
Jei prisiminsite tik vieną taisyklę: prieš paskelbdami pusę srauto „anomaliu“, suskirstykite savo bazinę liniją
Įvertinimas: retų įvykių spąstai 🧪
Anomalijų aptikimas dažnai yra „adatos ieškojimas šieno kupetoje“, todėl vertinimas yra keistas:
-
ROC kreivės gali atrodyti apgaulingai gerai, kai teigiami rezultatai reti.
-
Tikslaus atkūrimo rodiniai dažnai yra informatyvesni nesubalansuotoms aplinkybėms, nes juose daugiausia dėmesio skiriama teigiamos klasės našumui. [4]
-
Operaciniu požiūriu, taip pat reikalingas įspėjimų biudžetas : kiek įspėjimų per valandą žmonės gali iš tikrųjų įvertinti spūstis nenumalšindami pykčio? [4]
Atgalinis testavimas naudojant slenkančius langus padeda pastebėti klasikinį gedimo režimą: „viskas veikia puikiai... su praėjusio mėnesio paskirstymu.“ [1]
Aiškinamasis aspektas ir pagrindinė priežastis: parodykite savo darbą 🪄
Įspėti be paaiškinimo – tai tas pats, kas gauti paslaptingą atviruką. Naudinga, bet erzina.
Interpretavimo įrankiai gali padėti nurodydami, kurios savybės labiausiai prisidėjo prie anomalijos balo, arba pateikdami paaiškinimus, pavyzdžiant „ką reikėtų pakeisti, kad tai atrodytų normalu?“. Knyga „ Interpretuojamas mašininis mokymasis “ yra patikimas ir kritiškas vadovas, apimantis įprastus metodus (įskaitant SHAP stiliaus priskyrimus) ir jų apribojimus. [5]
Tikslas yra ne tik suinteresuotųjų šalių patogumas – tai greitesnis skubos nustatymas ir mažiau pasikartojančių incidentų.
Diegimo, dreifo ir grįžtamojo ryšio ciklai 🚀
Modeliai negyvena skaidrėse. Jie gyvena vamzdynuose.
Dažna „pirmojo gamybos mėnesio“ istorija: detektorius dažniausiai žymi diegimus, paketines užduotis ir trūkstamus duomenis... tai vis tiek naudinga, nes verčia atskirti „duomenų kokybės incidentus“ nuo „verslo anomalijų“.
Praktiškai:
-
Stebėkite poslinkį ir, pasikeitus elgsenai, permokykite / iš naujo kalibruokite. [1]
-
Žurnalų balų įvestis + modelio versija , kad galėtumėte atkurti, kodėl kažkas buvo nuskaityta. [5]
-
Užfiksuokite žmonių atsiliepimus (naudingus ir triukšmingus įspėjimus), kad laikui bėgant galėtumėte koreguoti slenksčius ir segmentus. [4]
Saugumo kampas: IDS ir elgsenos analizė 🛡️
Saugumo komandos dažnai derina anomalijų idėjas su taisyklėmis pagrįstu aptikimu: „įprasto pagrindinio kompiuterio elgesio“ baziniai lygiai, plius parašai ir politikos, skirtos žinomiems blogiems modeliams. NIST SP 800-94 (galutinis) išlieka plačiai cituojama įsilaužimų aptikimo ir prevencijos sistemų svarstymo sistema; jame taip pat pažymima, kad 2012 m. projektas „Rev. 1“ niekada netapo galutinis ir vėliau buvo pašalintas [3].
Vertimas: naudokite mašininį mokymąsi ten, kur tai padeda, bet neišmeskite nuobodžių taisyklių – jos nuobodžios, nes veikia.
Palyginimo lentelė: populiarūs metodai trumpai 📊
| Įrankis / metodas | Geriausiai tinka | Kodėl tai veikia (praktiškai) |
|---|---|---|
| Tvirti / modifikuoti z balai | Paprasti rodikliai, greiti baziniai rodikliai | Stiprus pirmas bandymas, kai reikia „pakankamai gero“ ir mažiau klaidingų aliarmų. [3] |
| Izoliacijos miškas | Lentelinės, mišrios funkcijos | Patikimas numatytasis įgyvendinimas ir plačiai naudojamas praktikoje. [2] |
| Vienos klasės SVM | Kompaktiški „normalūs“ regionai | Ribomis pagrįstas naujumo aptikimas; derinimas yra labai svarbus. [2] |
| Vietinis išskirtinis veiksnys | Įvairiapusės normalės | Tankio kontrastas, palyginti su kaimynais, atskleidžia vietinį keistumą. [1] |
| Rekonstrukcijos klaida (pvz., automatinio kodavimo stiliaus) | Didelio matmens raštai | Mokymas įprastai; didelės rekonstrukcijos paklaidos gali rodyti nukrypimus [1]. |
Cheat kodas: pradėkite nuo tvirtų bazinių linijų + nuobodaus neprižiūrimo metodo, tada pridėkite sudėtingumo tik ten, kur jis atsiperka.
Mini vadovas: nuo nulio iki įspėjimų 🧭
-
Apibrėžkite „keistą“ operatyviai (vėlavimas, sukčiavimo rizika, procesoriaus apkrovimas, atsargų rizika).
-
Pradėkite nuo pradinio lygio (patikimos statistikos arba segmentuotų slenksčių). [3]
-
Pirmajam bandymui pasirinkite vieną neprižiūrimą modelį
-
Nustatykite ribas su įspėjamuoju biudžetu ir, jei teigiami rezultatai reti, vertinkite remdamiesi PR mąstymu. [4]
-
Pridėkite paaiškinimus + registravimą , kad kiekvieną įspėjimą būtų galima atkurti ir derinti. [5]
-
Atgalinis testavimas, išsiuntimas, mokymasis, perkalibravimas – poslinkis yra normalus. [1]
Tai tikrai galite padaryti per savaitę... jei jūsų laiko žymos nėra suklijuotos lipnia juosta ir viltimi. 😅
Baigiamosios pastabos – per ilga, neskaičiau🧾
Dirbtinis intelektas aptinka anomalijas, mokydamasis praktinio „normalumo“ vaizdo, įvertindamas nukrypimus ir pažymėdamas, kas peržengia ribą. Geriausios sistemos laimi ne dėl to, kad yra prašmatnios, o dėl to, kad yra sukalibruotos : segmentuoti baziniai taškai, įspėjimų biudžetai, interpretuojami išėjimai ir grįžtamojo ryšio ciklas, kuris triukšmingus pavojaus signalus paverčia patikimu signalu. [1]
Nuorodos
-
Pimentel ir kt. (2014) – Naujumo aptikimo apžvalga (PDF, Oksfordo universitetas) skaitykite daugiau
-
„scikit-learn“ dokumentacija – naujumo ir išskirtinių verčių aptikimas (skaityti daugiau)
-
NIST/SEMATECH el. vadovas – išskirtinių verčių aptikimas (skaityti daugiau) ir NIST CSRC – SP 800-94 (galutinė versija): įsilaužimų aptikimo ir prevencijos sistemų (IDPS) vadovas (skaityti daugiau)
-
Saito ir Rehmsmeier (2015) – „Precision-Recall“ grafikas yra informatyvesnis nei ROC grafikas vertinant dvejetainius klasifikatorius nesubalansuotuose duomenų rinkiniuose (PLOS ONE) (skaityti daugiau)
-
Molnar - Interpretuojamas mašininis mokymasis (internetinė knyga) skaityti daugiau