Introduction
์ด์ํ์ง(๊ฐ์ง)๋ ๋ฌด์์ธ๊ฐ?
- ์์๋์ง ์์ ใ
ํด์ ๋ฐ์ดํฐ์์ ์ฐพ์๋ด๋ ๊ฒ
- ์ ์๊ณผ ๋น์ ์์ ๊ตฌ๋ถํด๋ด๋ ๊ฒ
- ๋น์ ์, ํน์ด, ์ด์์น ๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ค.
์ด์ ๋ฐ์ดํฐ์ ์ข
๋ฅ
Global outlier
- ์ง๊ด์ ์ผ๋ก ๋ ์ค๋ฅด๋ ์ ์ ์ํ์ ๊ตฌ๋ถ๋๋ ํน์ดํ ๊ฐ
- ์ผ๋ฐ์ ์ธ ๊ด์ธก์น๋ค๊ณผ ์๋นํ ๋๋จ์ด์ง ๊ด์ธก์น๋ค์ ์๋ฏธ
- ์ผ๋ง๋ ๋จ์ด์ ธ ์๋๊ฐ๋ฅผ ์ด๋ป๊ฒ ์ธก์ ํ ๊ฒ์ธ๊ฐ๊ฐ ๋ฌธ์
Contextual outlier (local outlier)
- ํน์ ๋ถ๋ถ์์ ๋ค๋ฅธ ๋ถ๋ถ๊ณผ๋ ๋ค๋ฅธ ์์์ ๋๋ ์ด์์น
- ex.) ์๋ ์ค์นด์ ๊ธฐ์จ 30๋, ์ฌํ๋ผ์ ๊ธฐ์จ 30๋
- ๊ด์ธก๋ ๊ฐ๋ค์ Context๋ฅผ ์ด๋ป๊ฒ ์ค์ ํ๋์ง๊ฐ ์ค์
Collective outlier
- ๋ฐ์ดํฐ๋ฅผ ์ ์ฒด ์ง๋จ์ (Collective)์ผ๋ก ๋ณด์์ ๋, outlier(์ด์์น)๋ผ๋ ๊ฒ.
- ๊ฐ์ฅ ์ฐพ๊ธฐ๊ฐ ์ด๋ ค์ด abnormal data์ด๋ค.
์ด์ ํ์ง๊ฐ ์ด๋ ค์ด ์ด์
1. ์ ์๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ๊ตฌ๋ถํ๊ธฐ ์ด๋ ต๋ค.
- ์ด์ ์ฌ๋ถ๋ฅผ ์ ํํ ํ๋ณํ๊ธฐ ์ํด์๋ ๋ง์ ์์ ์ ๋ฌธ์ ์ธ ์ง์์ด ํ์.
- ์ด์ ๋ฐ๋ฅธ ์๊ฐ๊ณผ ๋น์ฉ์ ์๋ชจ๊ฐ ํผ
- ์ ์๊ณผ ์ด์์ ๊ฒฝ๊ณ๊ฐ ๋ถ๋ถ๋ช
ํ ๋ถ๋ถ์ด ์์.
2. ๋ฐ์ดํฐ์ ๋ถ๊ท ํ
- ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ด์๋ฐ์ดํฐ๊ฐ ์ ์ ๋ฐ์ดํฐ๋ณด๋ค ํจ์ฌ ๋ถ์กฑํ๋ค.
3. ๋ฐ์ดํฐ๋ง๋ค ์ด์/์ ์์ ๊ตฌ๋ถ์ด ๋ค๋ฆ
- ๊ฐ ๋๋ฉ์ธ(data pool)๋ง๋ค ์ด์ ๋ฐ์ดํฐ์ ํจํด, ์ฑํฅ์ด ๋ค๋ฅด๊ณ ์ ์ ๋ํ ๋ค๋ฆ
Classificatin VS. Anomaly Detection
Classification
์ ์ ๋ฐ์ดํฐ, ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ์ต์ํจ ๋ค, ์ด ๋์ ๋ถ๋ฅํด๋ธ๋ค.
Anmaly Detection
์ ์ ๋ฐ์ดํฐ๋ง์ ๊ฐ์ง๊ณ ํ์ต์ํค๊ณ , ๋ง์ผ ์ ์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ฐ์ดํฐ๊ฐ ์ ๊ทผ ์, Abnormalํจ์ ๊ฐ์งํด๋ธ๋ค.
์ด๋ค ๊ฑธ ์ฌ์ฉํด์ผํ ๊น?
-
๋ฐ์ดํฐ ์
์ ํด๋์ค๊ฐ ๋ถ๊ท ํํ๊ฐ?
-> ๋ถ๊ท ํํ์ง ์๊ณ ๊ณ ๋ฅด๋ค๋ฉด Classification
-
๋ถ๋ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ์ถฉ๋ถํ๊ฐ?
-> ๋ถ๋ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ๋ช๊ฐ ์๋ค๋ฉด, Anomaly detection
๊ทธ๋ฆผ์ผ๋ก ๋ณด๋ ๋์ ์ฐจ์ด
๋ฐ๋ผ์ ์ด์ ํ์ง๋ ์ ์ ๋ฐ์ดํฐ๋ง์ผ๋ก ํ์ตํ์ฌ, ์ ์๋ฐ์ดํฐ์ ์์ญ์ ๊ตฌ์ฑํ๊ณ ์ด๋ฅผ ๋ฒ์ด๋๋ฉด ๋น์ ์์ผ๋ก ๋ถ๋ฅํ๋ค.
์ด์ ํ์ง๋ฅผ ํ์ตํ๋ ๋ฐฉ๋ฒ
1. Supervised Learning
์ฃผ์ด์ง ํ์ต ๋ฐ์ดํฐ ์
์ ์ ์ sample๊ณผ ๋น์ ์ sample์ data์ label์ด ๋ชจ๋ ์กด์ฌ.
2. Semi-Supervised Learning
- Supervised Learning์ ํด๋์ค ๋ถ๊ท ํ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋์จ ๋ฐฉ๋ฒ
- ์ค์ง ์ ์ sample์ ํตํด์๋ง ๋ชจ๋ธ์ ํ์ตํ๋ ๋ฐฉ์
3. Unsupervised Learning
- Labeling์ด ๋์ด์์ง ์์ ๋ฐ์ดํฐ์์, ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๊ฐ ์ ์์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ ํ์ต์ํค๋ ๋ฐฉ๋ฒ.
ํ์ต ํ ์ด์ ํ์ง๋ฅผ ํ๋ ๋ฐฉ๋ฒ
1. PCA
์ฐจ์ ์ถ์ ํ ๋ณต์๊ณผ์ ์ ํตํด์ ๋น์ ์ Sample์ ๊ฒ์ถํ๋ค.
2. Autoencoder
encoder๋ก ์ถ์ฝ์ํค๊ณ ์ ์์ฒ๋ผ ์ฌ ๋ณต์(decoder)์์ผฐ์ ๋ ๊ฒฐ๊ณผ์ ์ฐจ์ด๊ฐ ์ด๋์ ๋ ๋๋๊ฐ?
encoding๋ ํํ๋งํด ์์ถ์ด๋ค. decoding์ ๋ณต์ ์ฆ ์์ถํด์ ๋ผ ์๊ฐํ๋ฉด ๋๋ค.
Autoencoder๋ ์ ์ ๋ฐ์ดํฐ๋ง์ ์ด์ฉํด์ ํ์ต์ ์งํํ๋ค๋ ๊ฒ์ด ํน์ง์ด๋ค.
How?
์ ์ ๋ฐ์ดํฐ๋ง์ ์ด์ฉํด์ ํ์ต์ ์งํํ๋ฉด ์คํ ์ธ์ฝ๋๋ data๊ฐ ๋ค์ด์์ ๋, ์ ์์ ๊ธฐ์ค์ผ๋ก ๋ณต์ํ๋๋ก ๋์ด์์ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ ์ ์์ ๋ฃ๋ ๊ฒฝ์ฐ encoding ํ decoding์ ์ํํ๋๋ผ๋ ๊ทธ๋๋ก ๋ณต์์ด ๋๋ค.
ํ๋ ์ด๋ฌํ Autoencoder์ ๋น์ ์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
๋น์ ์์ ์ด๋ป๊ฒ ๋ณต์ํด์ผํ๋ ์ง ํ์ต๋์ง์์๋ค. ๋ฐ๋ผ์ ๋น์ ์ ๋ํ ๋ง์น ์ ์"์ฒ๋ผ" ๋์ฝ๋ฉ ๋์ด ๋์ฌ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ฒ ๋๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก encoding์ ์ํํ๊ธฐ ์ Input์์ x์ encoding ์ดํ decoding๋์ด ๋์จ ๊ฒฐ๊ณผ ์์ xโฒ๋ ์๋ก ์ฐจ์ด๋ฅผ ๋ณด์ผ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๋น์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ถํด๋ด๋ ๊ฒ์ Autoencoder๋ผ๊ณ ํ๋ค.
์๊ณ์ด ๋ฐ์ดํฐ
์๊ณ์ด ๋ฐ์ดํฐ๋?
๊ด์ธก์น๊ฐ ์๊ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ ์
์ ์งํฉ
- ์ผ์, edge devices๋ฑ ์ฐ์
์ ๋ฐ์ ๋ค์ํ ๋๋ฉ์ธ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ
- ์ต๊ทผ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ํค๋ ์ดํ๋ฆฌ์ผ์ด์
์ ์ฆ๊ฐ๋ก ์๊ณ์ด ๋ฐ์ดํฐ์ ์ด์ ํ์ง์ ๋ํ ์์๊ฐ ์ฆ๊ฐ.
์๊ณ์ด ๋ฐ์ดํฐ์ ์ด์ ํ์ ์ ์
- ์์ ์ด์ : ๋น์ ์์ ์ธ ๊ฐ์ ๋๋ฌํ๋ ๋จ์ผ ์์ ๋๋ ์ฐ์์ ์ธ ์์
- ๊ธฐ๊ฐ ์ด์ : ํน์ ๊ตฌ๊ฐ์์ ์ด์ํ์์ด ์๊ธฐ๋ ๊ฒฝ์ฐ
์๊ณ์ด ๋ฐ์ดํฐ์ ๋ํ ์ด์ ๊ฐ์ง ๋ฐฉ๋ฒ ๊ตฌ๋ถ
0. ์ด์ ๊ฐ์ง -> 1. ์ง๋ํ์ต OR 2. ๋น์ง๋ ํ์ต
1. ์ง๋ ํ์ต -> ๋ถ๋ฅ
- ๋น์ง๋ ํ์ต -> ์ ์ฌ์ฑ(KNN), ์์ธก(LSTM, RNN), ์ฌ๊ตฌ์ฑ(Autoencoder, PCA)