[๋จธ์ ๋ฌ๋] ๊ฑฐ๋ฆฌโข๊ตฐ์งโข์ํฌํธ๋ฒกํฐ ๊ธฐ๋ฐ ์ด์ํ์ง ๊ธฐ๋ฒ
์๋ณธ ๊ฒ์๊ธ: https://velog.io/@euisuk-chung/๋จธ์ ๋ฌ๋์ฐจ์์ถ์-์ด์์น-ํ์ง-๊ธฐ๋ฒ-๊ฑฐ๋ฆฌ๊ตฐ์ง์ํฌํธ๋ฒกํฐ-๊ธฐ๋ฐ-์ด์์นํ์ง
๋ณธ ํฌ์คํธ๋ ๊ณ ๋ ค๋ํ๊ต ๊ฐํ์ฑ ๊ต์๋์ ๊ฐ์
๋ฅผ ์๊ฐ ํ ์ ๋ฆฌ๋ฅผ ํ ๊ฒ์
๋๋ค. ์์ฑ ๋ฐ ์ค๋ช
์ ํธ์๋ฅผ ์ํด ์๋ ํฌ์คํธ๋ ๋ฐ๋ง๋ก ์์ฑํ ์ ์ํด๋ถํ๋๋ฆฝ๋๋ค.
๊ฑฐ๋ฆฌ ๊ธฐ๋ฐ ์ด์์นํ์ง
K-Nearest Neighbor-based Anomaly Detection
- ๊ฐ ๋ฐ์ดํฐ์ ๋ํ Anomaly Score๋ฅผ K๊ฐ์ ๊ทผ์ ์ด์๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๊ณ์ฐํ๋ค. ์ด์๊น์ง์ ๊ฑฐ๋ฆฌ๊ฐ ๋ค๋ฅธ ๋ฐ์ดํฐ์ ๋นํด ํฌ๋ค๋ฉด, ํด๋น ๋ฐ์ดํฐ๋ ์ด์์น์ผ ํ๋ฅ ์ด ๋๋ค.
-
๊ธฐ์กด์๋ ๊ฑฐ๋ฆฌ ๊ณ์ฐ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ค์ 3๊ฐ์ง ๋ฐฉ๋ฒ๋ค์ ์ด์ฉํด์์ง๋ง, ํด๋น ๊ฑฐ๋ฆฌ ๊ณ์ฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฐพ์๋ด์ง ๋ชปํ๋ ์ผ์ด์ค๋ค์ด ์กด์ฌํ๋ค.
-
์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์๋ก์ด convex-hull distance๋ฅผ ๋์ ํดํ๊ณ , ์ด๋ฅผ ํ์ฉํ์ฌ hybrid distance๋ฅผ ์ ์ํด์ค์ผ๋ก์ ํ์ง ์ฑ๋ฅ์ ํฅ์์์ผฐ๋ค.
๊ตฐ์ง ๊ธฐ๋ฐ ์ด์์นํ์ง
K-Means Clustering-based Anomaly Detection
- ๊ตฐ์งํ๋ฅผ ์ํํ๊ณ ๊ตฐ์ง์ ํ ๋นํ์ง ์๋ ๊ฐ์ฒด๋ค์ ์ด์์น๋ก ์ทจ๊ธํ๋ค.
-
Anomaly Score by K-Means Clustering-based Anomaly Detection(KMC)
โ ์ ๋์ ๊ฑฐ๋ฆฌ : A anomaly score (a1) = B anomaly score (b1)
โก ์๋์ ๊ฑฐ๋ฆฌ : A anomaly score (a1/a2) < B anomaly score (b1/b2)
PCA-based Novelty Detection Method
-
๊ธฐ๋ณธ PCA์ ๋ชฉ์ ์ ์ฌ์ ํ ๋ถ์ฐ์ ์ต๋ํํ๋ ๊ฒ์ด๋ค. PCA๊ธฐ๋ฐ ์ด์์น ํ์ง๋ ๊ธฐ์กด์ ์ฌ์ํ๋ ๊ฒ์ ๋ค์ ๋ณต์์ ์ํํ์ฌ ๊ธฐ์กด์ ๊ฐ๊ณผ ์ฐจ์ด๊ฐ ๋ง์ด ๋๋ฉด ์ด์์น์ผ ํ๋ฅ ์ด ๋์ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค.
Auto-Encoder
-
Auto Encoder๋ ๋ชจ๋ธ์ ์ถ๋ ฅ ๊ฐ๊ณผ ์ ๋ ฅ ๊ฐ์ด ๋น์ทํด์ง๋๋ก ํ์ต์ด ์ํ๋๋ฉฐ, ์๋์ ๊ฐ์ด 4๊ฐ์ Layer๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
-
Mapping Layer(Encoder)
Encoder
์์๋ Input ๋ฐ์ดํฐ๋ฅผ Bottleneck Layer ๋ก ๋ณด๋ด Input ์ ๋ณด๋ฅผ ์ ์ฐจ์์ผ๋ก ์์ถํ๋ ์ญํ ์ ์ํํ๋ค.
- Bottleneck Layer
-
Demapping Layer(Decoder)
Decoder
์์๋ ์์ถ๋ ํํ์ Input ์ ๋ณด๋ฅผ ์๋์ Input ๋ฐ์ดํฐ๋ก ๋ณต์ํ๋ค.
- Output Layer
-
Auto-Encoder์ ๋ชฉํ๋ input ๋ฐ์ดํฐ์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์์ธกํ๋ ๊ฒ์ด๋ฏ๋ก Output Layer๋ฅผ ํตํด ๋์ค๋ ์์ธก ๊ฐ๊ณผ ์ค์ ๊ฐ์ ์ฐจ์ด๋ฅผ Loss Function์ผ๋ก ์ ์ํ๊ณ ํ์ต์ ์ํํ๋ฉฐ, ํด๋น Loss Function์ Reconstruction Error๋ผ๊ณ ํ๋ค.
-
ํ๋ จ ๋ฐ์ดํฐ(์ ์ ๋ฐ์ดํฐ)์ ์์ดํ ํน์ง์ ์ง๋ ๋น์ ์ ๋ฐ์ดํฐ์ธ Abnormal Data๋ฅผ ์ ๋ ฅํ๋ฉด Reconstruction Error๊ฐ ์ปค์ง๊ฒ ๋์ด, ์ด๋ฌํ Reconstruction Error๋ฅผ Anomaly Score ๋ก ์ฌ์ฉํ ์ ์๋ค.
Support Vector-based Novelty Detection
-
์ ๊ท ๋ฐ ๋น์ ์ ๊ด์ธก์น๋ฅผ ๊ตฌ๋ถํ๋ ํจ์๋ฅผ ์ฐพ์ ์ง์ ์ ๊ท ์์ญ์ ๊ฒฝ๊ณ ์ ์ํด์ฃผ๋ ๋ฐฉ๋ฒ๋ก
1-C-SVM (One-class SVM)
- ๋ฐ์ดํฐ๋ฅผ ์ปค๋์ ํด๋นํ๋ feature space ์์ ๋งคํํ์ฌ ์ ์๋ฐ์ดํฐ๋ฅผ ์์ ์ผ๋ก๋ถํฐ ์ต๋ํ ๋ฉ์ด์ง๋๋ก ๊ตฌ๋ถํ๋ ๊ฒ์ด ์ฃผ๋ชฉ์ ์ด๋ค.
-
Formulation (Primal, Dual์ ํตํด ์ฆ๋ช ๋ ์ ์๋ค)
-
Support Vector of 1-SVM
vl์ ์๋ฏธ(์ญํ )
-
์ฐ๋ฆฌ๊ฐ ๊ฐ์ง ์ ์๋ support vector์ ์ต์ ๊ฐ์ vl๊ฐ
-
margin์ ๋ฒ์ด๋์ ์์ ์ ์๋ ์ต๋์ support vector ๊ฐ์ vl๊ฐ
v์ ์๋ฏธ(์ญํ )
-
v๋ support vector์ ํํ ๋น์จ (lower bound for the fraction of support vector)
-
v๋ ์๋ฌ์ ์ํ ๋น์จ (upper bound for the fraction of errors)
-
v๊ฐ ํด์๋ก ๋ณต์กํ decision boundary๊ฐ ์์ฑ๋๋ค.
SVDD (Support Vector Data Description)
- ๋ฐ์ดํฐ๋ฅผ ์ปค๋์ ํด๋นํ๋ feature space ์์ ๋งคํํ์ฌ ์ ์๋ฐ์ดํฐ๋ฅผ ๊ฐ์ธ ์์ ์ ์๋ ์ด๊ตฌ(hypershere)๋ฅผ ๊ตฌํ๋ ๊ฒ์ด ์ฃผ๋ชฉ์ ์ด๋ค.
-
formulation
-
Support Vector of SVDD
-
s์ ์ญํ (RBF์ปค๋ ์ฌ์ฉ ์) : ์์์๋ก ๋ณต์ก๋๊ฐ ์ปค์ง๊ณ , ํด์๋ก ๊ตฌ์ ๊ฐ๊น์์ง๋ค.
Isolation Forest
- ํน์ ๊ฐ์ฒด๋ฅผ ๋ค๋ฅธ ๋ฐ์ดํฐ์ ๋ถ๋ฆฌ(๊ณ ๋ฆฝ)ํ๋ ๊ณผ์ ์ ํตํด ์ ์ ๋ฐ์ดํฐ์ ์ด์ ๋ฐ์ดํฐ๋ฅผ ํ๋ณํ๋ ๋ฐฉ๋ฒ์ด๋ค.
Motivation
โ ์ด์์น ๋ฐ์ดํฐ๋ ๊ณ ๋ฆฝ์ํค๊ธฐ๊ฐ ์๋์ ์ผ๋ก ์ฌ์ธ ๊ฒ์ด๋ค. (= ์ ์ split์ด ํ์ํ ๊ฒ์ด๋ค)
โก ์ ์ ๋ฐ์ดํฐ๋ ๊ณ ๋ฆฝ์ํค๊ธฐ๊ฐ ์๋์ ์ผ๋ก ์ด๋ ค์ธ ๊ฒ์ด๋ค. (= ๋ง์ split์ด ํ์ํ ๊ฒ์ด๋ค)
-
๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌ ์, ์์์ ๋ณ์, ์์์ ๊ฐ์ ์ฌ์ฉํ์ฌ ๋ถ๋ฆฌ๋ฅผ ์ํํ๋ค. Isolation Tree์์ ํน์ ๊ฐ์ฒด์ ๊ณ ๋ฆฝ๊น์ง ํ์ํ split์ ๊ฐ์๋ค์ ํ๊ท (average path to the terminal node)๋ฅผ Isolation Forest์ novelty score๋ก ์ด์ฉํ๋ค.
์ฉ์ด์ ๋ฆฌ
(1) Isolation Tree(iTree)
- ์ ์ฒด dataset์์ X dataset์ samplingํ๊ณ , ์ด๋ ๊ฒ ์ ํ๋ X๋ฅผ ์ง์์ ์ผ๋ก randomํ๊ฒ ์ ํ๋ variable๊ณผ value๋ก ๋ถํ ํ๋ค.
-
์ด๋, X =1์ด๊ฑฐ๋, ๊ฐ terminal node์ ์๋ Instance์ ๊ฐ์ด ๋ชจ๋ ๊ฐ๊ฑฐ๋, hyper parameter๋ก ์ ํด ๋ height limit์ ๊ฑธ๋ฆฌ๋ฉด ํ์ต์ ๋ฉ์ถ๋ค.
(2) Path Length
-
Isolation ๋ ๋๊น์ง ์ฌ์ฉ๋ split์ ๊ฐ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ค์ผ๋ฌ ์์๋ฅผ ํตํด ์ ๊ทํ๊ฐ ๋ ์ ์๋ค.
(3) Novelty Score
-
์ด์์น ์ ์๋ ์๋ ์์ผ๋ก ์๋์ ๊ฐ์ด ์ ์๋๋ฉฐ, ํน์ ๊ฐ์ฒด์ ํ๊ท path length๊ฐ ํฐ ๊ฒฝ์ฐ(์ ์ ๋ฐ์ดํฐ์ผ ํ๋ฅ ์ด ํด ๊ฒฝ์ฐ), s(x,n)๋ 0์ผ๋ก ๊ทผ์ฌํ๊ณ , ๋ฐ๋๋ก path length๊ฐ ์์ ๊ฒฝ์ฐ(์ด์์น ๋ฐ์ดํฐ์ผ ํ๋ฅ ์ด ํด ๊ฒฝ์ฐ)๋ 1์ ๊ทผ์ฌํ๊ฒ ๋๋ค.
(์ฐธ๊ณ ) Extended Isolation Forest
-
Isolation Forest๋ ์ผ๋ฐ์ ์ผ๋ก ์ํ์ ๋๋ ์์ง์ ๋ง์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ๊ณ ๋ฆฝ์ํจ๋ค. ํ์ง๋ง, ์ด์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก๋ ๋ช ๊ฐ์ง ์ ํ์ ๋ฐ์ดํฐ์ ๋ํด์๋ ์ด์์น ๊ตฌ๊ฐ์ ์ ์์์ญ์ด๋ผ๊ณ ๋ณด๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค.
-
์ด๋ฌํ ๋จ์ ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์ถ์ ์์ง์ด ์๋, slope๋ฅผ ํตํ random cut ๋ฐฉ์์ ์ ์ํ ๊ฒ์ด Extended Isolation Forest์ด๋ค.
๊ธด ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ^~^