L’Anomaly Detection è una strategia utilizzata per riconoscere gli esempi strani che non si adattano alla condotta prevista, le cosiddette anomalie. Ha numerose applicazioni nel mondo degli affari, dal riconoscimento delle interruzioni (riconoscimento di esempi anomali nel traffico di sistema che potrebbero segnalare un hack) all’osservazione del benessere del quadro (rilevamento di un tumore pericoloso in un filtro a raggi X), e dall’identificazione di estorsioni negli scambi di visti per dare la colpa alla localizzazione in situazioni lavorative.
Questo diagramma coprirà alcune strategie per il riconoscimento delle anomalie, così come la produzione di un identificatore in Python utilizzando il canale di base in movimento normale (SMA) o il canale passa-basso.
Cosa sono le particolarità?
Prima di iniziare, è imperativo costruire alcuni limiti sul significato di una stranezza. Le anomalie possono essere ampiamente ordinate come:
Punto incoerenze: Un esempio solitario di informazione è strano se è eccessivamente lontano dal resto. Caso d’uso commerciale: Distinguere l’estorsione del visto dipende dalla “somma spesa”.
Curiosità rilevanti: L’anomalia si sta impostando in modo esplicito. Questo tipo di bizzarria è fondamentale nelle informazioni sulla disposizione temporale. Caso d’uso commerciale: Bruciare fino a 100 dollari di cibo in modo costante durante il periodo natalizio è ordinario, ma potrebbe essere strano in generale.
Particolarità aggregate: Molti esempi di informazioni, nel complesso, aiutano a riconoscere le irregolarità. Caso d’uso commerciale: Qualcuno sta tentando di duplicare all’improvviso la struttura delle informazioni di una macchina remota ad un host vicino, una peculiarità che verrebbe acclamata come un potenziale attacco digitale.
L’identificazione della peculiarità è come – ma non tanto equivalente – all’espulsione del clamore e alla scoperta della stranezza. L’identificazione della curiosità è preoccupata di riconoscere un esempio segreto in nuove percezioni escluse nella preparazione delle informazioni – come un entusiasmo inaspettato per un altro canale su YouTube durante il Natale, per esempio. L’evacuazione della commozione (NR) è la via per vaccinare l’esame dall’evento di percezioni indesiderate; alla fine della giornata, espellere il clamore da un segno generalmente importante.
Procedure di localizzazione dell’anormalità
Tecniche di fatto semplici
Il modo più semplice per affrontare le anomalie di distinzione delle informazioni è quello di segnalare le informazioni che si allontanano dalle proprietà di base misurabili della circolazione, tra cui media, media, modalità e quantili. Supponiamo che il significato di un punto di informazione irregolare sia quello di una deviazione standard specifica dalla media. Navigare significa che dopo un certo tempo le informazioni di disposizione non sono in realtà irrilevanti, in quanto non sono statiche. Si avrebbe bisogno di una finestra mobile per elaborare il normale sopra i focus delle informazioni. In realtà, questo è noto come un normale in movimento o un normale in movimento, e si propone di smussare le variazioni transitorie e di caratterizzare quelle a lungo raggio. Numericamente, un periodo di un normale in movimento può anche essere caratterizzato come un “canale passa-basso”.
Metodologie basate sull’IA
Di seguito è riportata una breve descrizione delle principali procedure basate sull’IA per l’identificazione delle anomalie.
Rilevamento dell’anomalia basata sulla densità
Il rilevamento delle anomalie basato sulla densità si basa sull’algoritmo dei vicini k-nearest.
Supposizione: Le informazioni tipiche si concentrano intorno ad un quartiere denso e le variazioni rispetto alla norma sono molto lontane.
La disposizione più vicina dei focus informativi viene valutata utilizzando un punteggio, che potrebbe essere una separazione euclediana o una misura comparabile a seconda del tipo di informazione (a tutto campo o numerica). Essi potrebbero essere disposti in modo completo in due calcoli:
K-closest neighbor: k-NN è un metodo di base, non parametrico di apprendimento lento, usato per organizzare le informazioni che dipendono dalle similitudini nelle misure di separazione, per esempio, la separazione Eucledian, Manhattan, Minkowski, o Hamming.
La densità relativa dei dati: Questo è anche chiamato fattore di eccezione vicino (LOF). Questa idea dipende da una metrica di separazione chiamata separazione di raggiungibilità.
Posizione della stranezza basata sul raggruppamento
Il raggruppamento è una delle idee più diffuse nel campo dell’apprendimento non assistito.
Sospetto: Le informazioni indicano che sono comparativi tendono ad avere un posto con raduni o grappoli comparativi, come dettato dai loro buoni modi dai vicini centroidi.
K-implies è un calcolo a grappolo generalmente utilizzato. Esso rende “k” gruppi di informazioni confrontabili tra loro. Le informazioni che non rientrano in questi raggruppamenti possono essere distinte come incoerenze.
Bolster Vector Vector – Scoperta dell’anormalità basata sulla macchina
Una macchina vettoriale di rinforzo è un altro metodo convincente per distinguere le anomalie. Una SVM è normalmente collegata con l’adattamento gestito, ma ci sono espansioni (OneClassCVM, per esempio) che possono essere utilizzate per riconoscere le irregolarità come una questione non assistita (in cui la preparazione delle informazioni non è nominata). Il calcolo impara un limite delicato in modo da raggruppare le informazioni ordinarie che si verificano utilizzando il set di preparazione, e poi, utilizzando l’occasione del test, si sintonizza per distinguere le variazioni dalla norma che ricadono al di fuori dell’area scientifica.
In base al caso di utilizzo, il risultato di un identificatore di irregolarità potrebbe essere una stima numerica scalare per la vagliatura dei limiti espliciti dell’area o dei segni letterari (per esempio, due nomi multipli).
Costruire un sistema di riconoscimento semplice utilizzando un canale passa-basso
In questo segmento, ci concentreremo sulla costruzione di un semplice bundle di localizzazione incoerente utilizzando lo spostamento normale per riconoscere le anomalie nel numero di macchie solari ogni mese in un set di dati di esempio, che può essere scaricato qui utilizzando l’ordine di accompagnamento:
wget -c -b http://www-personal.umich.edu/~mejn/cp/data/sunspots.txt
Il record ha 3.143 righe, che contengono dati sulle macchie solari raccolte tra gli anni 1749-1984. Le macchie solari sono caratterizzate come macchie scure all’esterno del sole. L’indagine sulle macchie solari aiuta i ricercatori a comprendere le proprietà del sole per un certo periodo di tempo; in particolare, le sue proprietà attraenti…
Media mobile utilizzando una concreta convoluzione lineare
La rivoluzione è un’attività scientifica che si svolge su due capacità per fornire una terza capacità. Scientificamente, potrebbe essere descritta come l’indispensabile del risultato di due capacità, dopo che una è girata e spostata: $f*g(t)$ = $\int_-\infty}^^infty} f(T)*g(t-T) dT$, dove f(T) è una capacità informativa che contiene la quantità di intrighi (per esempio il conteggio delle macchie solari al momento T). g(t – T) è la capacità di ponderazione mossa da una somma t. Lungo queste linee, al variare di t, vengono distribuiti vari carichi al lavoro di informazione f(T). Per la nostra situazione, f(T) parla al conteggio delle macchie solari al tempo T. g(t – T) è il bit normale in movimento.
da __futuro__ divisione importazione
da itertools importare izip, contare
importare matplotlib.pyplot come plt
da linspace di importazione intorpidito, loadtxt, ones, convolve
importare intorpidito come np
importare panda come pd
collezioni d’importazione
da randint di importazione casuale
da matplotlib import style
style.use (‘cinquantotto’)
%matplotlib in linea
# 1. 2. Scaricare il dataset delle macchie solari e caricare lo stesso nella directory del dataset
# Carica il dataset delle macchie solari come una matrice
mkdir -p dataset
!wget -c -b http://www-personal.umich.edu/~mejn/cp/data/sunspots.txt -P dataset
data = loadtxt(“dataset/sunspots.txt”, float)
# 2. Visualizzare i dati come tabella
data_as_frame = pd.DataFrame(dati, colonne=[‘Mesi’, ‘SunSpots’])
dati_come_frame.head()