[ML Study] ๋จธ์ ๋ฌ๋ ์ฒซ๊ฑธ์: Classification ๋ชจ๋ธ ์์ ์ ๋ณต (1)
Introduction
์ปดํจํฐ๊ฐ ์ฃผ์ด์ง ์ฌ์ง์ ๋ณด๊ณ ๊ณ ์์ด์ ๊ฐ์์ง๋ฅผ ๊ตฌ๋ณํด๋ด๋ ๊ฒ์ ์์ํด ๋ณด์ธ์. ์ฐ๋ฆฌ์๊ฒ๋ ๋๋ฌด๋ ์ง๊ด์ ์ธ ์ผ์ด์ง๋ง, ๊ธฐ๊ณ์๊ฒ๋ ๋ณต์กํ ํ์ต ๊ณผ์ ์ด ํ์ํฉ๋๋ค. ์ด๋ ๊ฒ ๋ฐ์ดํฐ๋ฅผ ํน์ ์นดํ ๊ณ ๋ฆฌ๋ก ๋๋๋ ์์ ์ '๋ถ๋ฅ(Classification)'๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ด๋ ํ๋ ์ธ๊ณต์ง๋ฅ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๋ฉด์๋ ํต์ฌ์ ์ธ ๋ฅ๋ ฅ ์ค ํ๋์ ๋๋ค.
์ด ๊ธ์ ํ๊ตญ๊ธฐ์ด๊ณผํ์ง์์ฐ๊ตฌ์(KBSI)์ AI/ML ์คํฐ๋ ์๋ฃ๋ฅผ ๋ฐํ์ผ๋ก, ์ธ๊ณต์ง๋ฅ๊ณผ ๋จธ์ ๋ฌ๋์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ ์์ํ์ฌ, ์ค์ ๋ก ๋ถ๋ฅ ๋ชจ๋ธ์ ์ด๋ป๊ฒ ํ๋ จํ๊ณ ๊ทธ ์ฑ๋ฅ์ ์ ๊ตํ๊ฒ ํ๊ฐํ๋์ง ๋จ๊ณ๋ณ๋ก ์๋ดํฉ๋๋ค. ๋จธ์ ๋ฌ๋์ ์ฒ์ ์ ํ๋ ์ ๋ฌธ์๋ถํฐ ๊ฐ๋ ์ ๋ค์ ์ ๋ฆฌํ๊ณ ์ถ์ ์ค๋ฌด์๊น์ง, ๋ชจ๋์๊ฒ ์ ์ฉํ ๊ฐ์ด๋๊ฐ ๋ ๊ฒ์ ๋๋ค.
๋ณธ๋ฌธ์์๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ๋ค์ ์์๋๋ก ๋ค๋ฃฐ ์์ ์ ๋๋ค.
- AI, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋์ ๊ด๊ณ
- ์ฒซ ๋ฒ์งธ ๊ณผ์ : MNIST ์ ๊ธ์จ ์ซ์ ๋ถ๋ฅ
- ์ด์ง ๋ถ๋ฅ๊ธฐ ํ๋ จ ๋ฐฉ๋ฒ
- ๋ชจ๋ธ ์ฑ๋ฅ ์ธก์ ์ ๋ชจ๋ ๊ฒ
1. AI, ๋จธ์ ๋ฌ๋(Machine Learning) & ๋ฅ๋ฌ๋(Deep Learning)์ ์ธ๊ณ
์ธ๊ณต์ง๋ฅ ์๋๋ฅผ ์ด์๊ฐ๋ฉด์ AI, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋์ด๋ผ๋ ์ฉ์ด๋ฅผ ์์ฃผ ์ ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ค์ ๋จ์ํ ์ ํ์ด๊ฐ ์๋๋ผ, ๋ช ํํ ๋ฒ์์ ๊ด๊ณ๋ฅผ ๊ฐ์ง ๊ธฐ์ ๋ถ์ผ์ ๋๋ค. ์ฑ๊ณต์ ์ธ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ธฐ ์ํด์๋ ์ด๋ค์ ๊ด๊ณ๋ฅผ ์ ํํ ์ดํดํ๋ ๊ฒ์ด ์ฒซ๊ฑธ์์ ๋๋ค.
๊ฐ๋ ์ ๊ณ์ธต ๊ตฌ์กฐ
AI, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋์ ํฌํจ ๊ด๊ณ๋ฅผ ๊ฐ์ง๋๋ค. ๊ฐ์ฅ ๋์ ๊ฐ๋ ์ **์ธ๊ณต์ง๋ฅ(AI)**์ด๋ฉฐ, **๋จธ์ ๋ฌ๋(ML)**์ ๊ทธ ํต์ฌ์ ์ธ ํ์ ๋ถ์ผ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ **๋ฅ๋ฌ๋(DL)**์ ๋จธ์ ๋ฌ๋์ ์ฌ๋ฌ ๊ธฐ๋ฒ ์ค ํ๋๋ก, ๋์ฑ ์ ๋ฌธํ๋ ์์ญ์ ๋๋ค.
- ์ธ๊ณต์ง๋ฅ (Artificial Intelligence, AI): ์ธ๊ฐ์ ์ง๋ฅ์ ๋ชจ๋ฐฉํ์ฌ, ์ฌ๋์ด ์ํํ๋ ์ผ์ ์ปดํจํฐ๊ฐ ํ ์ ์๋๋ก ๊ตฌํํ๋ ๊ฐ์ฅ ํฌ๊ด์ ์ธ ๊ธฐ์ ์ ๋๋ค.
- ๋จธ์ ๋ฌ๋ (Machine Learning, ML): AI๋ฅผ ๊ตฌํํ๋ ๋ํ์ ์ธ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค. ๊ธฐ๊ณ๊ฐ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ค์ค๋ก ํ์ตํ์ฌ ํน์ ์์ ์ ์ํํ๋ ๊ธฐ์ ์ ์๋ฏธํฉ๋๋ค. ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ ์ธ๊ณต ์ ๊ฒฝ๋ง, ์ํฌํธ ๋ฒกํฐ ๋จธ์ (SVM), ๊ฒฐ์ ํธ๋ฆฌ ๋ฑ์ด ์์ต๋๋ค.
- ๋ฅ๋ฌ๋ (Deep Learning, DL): ๋จธ์ ๋ฌ๋์ ํ ๋ถ์ผ๋ก, ์ธ๊ณต ์ ๊ฒฝ๋ง์ ๊น๊ฒ(์ฌ๋ฌ ์ธต์ผ๋ก) ์์์ฌ๋ ค ๋ณต์กํ ํจํด์ ํ์ตํ๋ ๊ธฐ์ ์ ๋๋ค. CNN, RNN, RBM ๋ฑ์ด ์ฌ๊ธฐ์ ์ํฉ๋๋ค.
๋จธ์ ๋ฌ๋(ML)๊ณผ ๋ฅ๋ฌ๋(DL)์ ๊ฒฐ์ ์ ์ฐจ์ด
๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ 'ํน์ฑ ์ถ์ถ(Feature Extraction)' ๊ณผ์ ์ ์์ต๋๋ค.
- ๋จธ์ ๋ฌ๋(ML): ์ฌ๋์ด ์ง์ ๋ฐ์ดํฐ์ ์ค์ํ ํน์ง(์: ์๋์ฐจ์ ๋ฐํด, ํธ๋ค)์ ์ถ์ถํ์ฌ ๋ชจ๋ธ์ ์ ๋ ฅํด์ผ ํฉ๋๋ค. ์ด ๊ณผ์ ์์ ์ฌ๋์ ์ ๋ฌธ ์ง์๊ณผ ๊ฐ์ ์ด ์ค์ํฉ๋๋ค.
- ๋ฅ๋ฌ๋(DL): ๋ชจ๋ธ์ด ๋ฐ์ดํฐ๋ก๋ถํฐ ์ง์ ์ฃผ์ ํน์ง์ ํ์ตํ๊ณ ๋ถ๋ฅ๊น์ง ์๋์ผ๋ก ์ํํฉ๋๋ค. ์ฌ๋์ ๊ฐ์ ์ ์ต์ํํ๊ณ ๋ฐ์ดํฐ ์์ฒด์ ํจํด์ ๊น์ด ์๊ฒ ํ์ ํฉ๋๋ค.
๋ ๊ธฐ์ ์ ์ฐจ์ด์ ์ ํ๋ก ์ ๋ฆฌํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

Total process of Machine Learning
๋จธ์ ๋ฌ๋ ํ๋ก์ ํธ๋ ํฌ๊ฒ ๋ ๋จ๊ณ๋ก ๋๋ฉ๋๋ค.
- ํ์ต ๋จ๊ณ (Training Phase): ์ ๋ต์ด ์๋ ๋ฐ์ดํฐ(Label)๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ํ๋ จ์ํต๋๋ค. ๋ฐ์ดํฐ์์ ํน์ง์ ์ถ์ถํ๊ณ , ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ์ฌ ๋ถ๋ฅ ๋๋ ์์ธก ๋ชจ๋ธ์ ์์ฑํฉ๋๋ค. ์ด ๋ชจ๋ธ์ ๋ฐ๋ณต์ ์ธ ํ์ต์ ํตํด ์ ์ฐจ ์ ๊ตํด์ง๋๋ค.
- ์์ธก ๋จ๊ณ (Prediction Phase): ํ์ต์ด ์๋ฃ๋ ๋ชจ๋ธ์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํฉ๋๋ค. ๋ชจ๋ธ์ ํ์ต๋ ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ์ด ์๋ก์ด ๋ฐ์ดํฐ์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํฉ๋๋ค.
๋จธ์ ๋ฌ๋์ 3๊ฐ์ง ์ ํ
๋จธ์ ๋ฌ๋์ ํ์ต ๋ฐฉ์์ ๋ฐ๋ผ ํฌ๊ฒ ์ธ ๊ฐ์ง๋ก ๋ถ๋ฅ๋ฉ๋๋ค.
- ์ง๋ ํ์ต (Supervised Learning): ์ ๋ต(๋ ์ด๋ธ)์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ํ์ต์ํต๋๋ค. ์คํธ ๋ฉ์ผ ๋ถ๋ฅ์ฒ๋ผ, ๊ฐ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ๋ฒ์ฃผ์ ์ํ๋์ง ๋ช ํํ ์๋ ค์ฃผ๊ณ ํจํด์ ๋ฐฐ์ฐ๊ฒ ํ๋ ๋ฐฉ์์ ๋๋ค.
- ๋น์ง๋ ํ์ต (Unsupervised Learning): ์ ๋ต์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฐ์ดํฐ ๋ด์ ์จ๊ฒจ์ง ๊ตฌ์กฐ๋ ํจํด, ๊ทธ๋ฃน์ ์ค์ค๋ก ์ฐพ์๋ด๋๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๋ค์ ๋น์ทํ ์ฑํฅ์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๋ ๊ตฐ์งํ(Clustering)๊ฐ ์์ต๋๋ค.
- ๊ฐํ ํ์ต (Reinforcement Learning): ์์ด์ ํธ(Agent)๊ฐ ํน์ ํ๊ฒฝ ๋ด์์ ํ๋ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ก ์ป๋ ๋ณด์(Reward)๊ณผ ๋ฒ์ (Penalty)์ ํตํด ์ต์ ์ ํ๋ ์ ์ฑ ์ ํ์ตํ๋ ๋ฐฉ์์ ๋๋ค.
์ด์ ์ด๋ฌํ ๊ธฐ๋ณธ ์ง์์ ๋ฐํ์ผ๋ก, ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ฉฐ ๊ฐ๋ ์ ๊ตฌ์ฒดํํด ๋ณด๊ฒ ์ต๋๋ค.
2. ์ฒซ ๋ฒ์งธ ๊ณผ์ : MNIST ์ ๊ธ์จ ์ซ์ ๋ถ๋ฅ
๋จธ์ ๋ฌ๋ ๋ถ์ผ์๋ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ํํ๊ณ ๋น๊ตํ๊ธฐ ์ํ ํ์ค ๋ฐ์ดํฐ์ ๋ค์ด ์กด์ฌํฉ๋๋ค. ๊ทธ์ค MNIST ๋ฐ์ดํฐ์ ์ ์ด๋ฏธ์ง ๋ถ๋ฅ๋ฅผ ์ฒ์ ์์ํ๋ ๋ชจ๋ ์ด๋ค์ด ๊ฑฐ์ณ ๊ฐ๋ 'Hello, World!'์ ๊ฐ์ ์กด์ฌ์ ๋๋ค.
MNIST ๋ฐ์ดํฐ์ ์ด๋?
MNIST๋ 0๋ถํฐ 9๊น์ง์ ์์ผ๋ก ์ด ์ซ์ ์ด๋ฏธ์ง 70,000๊ฐ๋ก ๊ตฌ์ฑ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ์ด ๋ฐ์ดํฐ์ ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด ๋ฐ์ดํฐ ์: 70,000๊ฐ์ ์ด๋ฏธ์ง
- ์ด๋ฏธ์ง ํฌ๊ธฐ: ๊ฐ ์ด๋ฏธ์ง๋ 28x28 ํฝ์ ์ ํ๋ฐฑ ์ด๋ฏธ์ง์ ๋๋ค.
- ํน์ฑ (Features): ๊ฐ ์ด๋ฏธ์ง๋ 28 * 28 = 784๊ฐ์ ํฝ์ ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ฐ ํฝ์ ์ ๋ฐ๊ธฐ(๊ฐ๋) ๊ฐ์ด ํ๋์ ํน์ฑ์ด ๋ฉ๋๋ค.
๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ (70000, 784) ํํ์ ๋ฐฐ์ด๋ก ํํ๋๋ฉฐ, ์ด๋ 70,000๊ฐ์ ์ํ ๊ฐ๊ฐ์ด 784๊ฐ์ ํน์ฑ์ ๊ฐ์ง๊ณ ์์์ ์๋ฏธํฉ๋๋ค. ๊ฐ ์ํ์ ํด๋นํ๋ ์ค์ ์ซ์ ๊ฐ(๋ ์ด๋ธ)์ (70000,) ํํ์ ๋ฐฐ์ด์ ์ ์ฅ๋ฉ๋๋ค.
๋ฐ์ดํฐ์ ํํ ํ์ธ
X.shape, y.shape
์ถ๋ ฅ: (70000, 784), (70000,)
์ด์ ๋ฐ์ดํฐ๊ฐ ์ค๋น๋์์ผ๋, "์ฃผ์ด์ง ์ด๋ฏธ์ง๊ฐ ํน์ ์ซ์์ธ์ง ์๋์ง"์ ๊ฐ์ ๊ฐ๋จํ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์์ง ์์๋ณด๊ฒ ์ต๋๋ค.
3. ์ด์ง ๋ถ๋ฅ๊ธฐ (Binary Classifier) ํ๋ จํ๊ธฐ
**์ด์ง ๋ถ๋ฅ๊ธฐ(Binary Classifier)**๋ ๊ฐ์ฅ ๋จ์ํ๋ฉด์๋ ๊ฐ๋ ฅํ ๋ถ๋ฅ ๋ชจ๋ธ ์ค ํ๋์ ๋๋ค. ์ด๋ฆ ๊ทธ๋๋ก, ๋ฐ์ดํฐ๋ฅผ '์' ๋๋ '์๋์ค'์ ๋ ๊ฐ์ง ๋ฒ์ฃผ ์ค ํ๋๋ก ๋ถ๋ฅํ๋ ์ญํ ์ ํฉ๋๋ค.
๊ฐ๋ ์ ํ์ค๋ก: '5-ํ์ง๊ธฐ' ๋ง๋ค๊ธฐ
MNIST ๋ฐ์ดํฐ์ ์ ํ์ฉํ์ฌ ์ด ๊ฐ๋ ์ ๊ตฌ์ฒดํํด ๋ด ์๋ค. 0๋ถํฐ 9๊น์ง ๋ชจ๋ ์ซ์๋ฅผ ํ ๋ฒ์ ๊ตฌ๋ณํ๋ ๊ฒ์ ๋ค์ ๋ณต์กํ ์ ์์ผ๋, ๋ฌธ์ ๋ฅผ ๋จ์ํํ์ฌ "์ด ์ด๋ฏธ์ง๋ ์ซ์ 5์ธ๊ฐ, ์๋๊ฐ?"๋ฅผ ํ๋ณํ๋ '5-ํ์ง๊ธฐ' ๋ชจ๋ธ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
์ด ๋ชจ๋ธ์ ์๋ฌด๋ ๋ช ํํฉ๋๋ค.
- '5' (Positive): ์ด๋ฏธ์ง๊ฐ ์ซ์ 5์ผ ๊ฒฝ์ฐ
- '5 ์๋' (Negative): ์ด๋ฏธ์ง๊ฐ 5๊ฐ ์๋ ๋ค๋ฅธ ์ซ์์ผ ๊ฒฝ์ฐ
์ด๋ ๊ฒ 10๊ฐ์ ํด๋์ค(0~9)๋ฅผ ๋ถ๋ฅํ๋ ๋ค์ค ํด๋์ค ๋ฌธ์ ๋ฅผ ๋ ๊ฐ์ ํด๋์ค('5' vs 'not-5')๋ก ๋ถ๋ฅํ๋ ์ด์ง ๋ถ๋ฅ ๋ฌธ์ ๋ก ๋ฐ๊พธ์ด ์ ๊ทผํ๋ฉด, ๋ชจ๋ธ ํ๋ จ๊ณผ ํ๊ฐ์ ํต์ฌ ์๋ฆฌ๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์์ต๋๋ค.
๋ชจ๋ธ ํ๋ จ์ด ๋๋ฌ๋ค๋ฉด, ๊ฐ์ฅ ์ค์ํ ๋จ๊ณ๊ฐ ๋จ์์์ต๋๋ค. ๋ฐ๋ก ์ด ๋ชจ๋ธ์ด ์ผ๋ง๋ ์ ์๋ํ๋์ง ์๊ฒฉํ๊ฒ ํ๊ฐํ๋ ๊ฒ์ ๋๋ค.
4. ๋ชจ๋ธ ์ฑ๋ฅ, ์ด๋ป๊ฒ ์ธก์ ํ ๊น? (Performance Measures)
๋ชจ๋ธ์ ๋ง๋๋ ๊ฒ๋งํผ์ด๋ ์ค์ํ ๊ฒ์ ๊ทธ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๊ฐ๊ด์ ์ผ๋ก ์ธก์ ํ๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ธ์ ๊ทธ๊ฒ์ ์ธก์ ํ๋ ์งํ๋งํผ๋ง ๊ฐ์น๊ฐ ์์ผ๋ฉฐ, ๋จ ํ๋์ ์ซ์๋ง ๋ณด๊ณ ์ฑ๋ฅ์ ํ๋จํ๋ ๊ฒ์ ๋งค์ฐ ์ํํ ์ ์์ต๋๋ค. ์ด ์น์ ์์๋ ๋ชจ๋ธ ์ฑ๋ฅ์ ์ ํํ๊ฒ ์ธก์ ํ๋ ๋ฐ ํ์์ ์ธ ๋๊ตฌ๋ค์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
- ๊ต์ฐจ ๊ฒ์ฆ (Cross-Validation)
๋ฐ์ดํฐ๋ฅผ ํ๋ จ(train) ์ธํธ์ ํ ์คํธ(test) ์ธํธ๋ก ๋จ ํ ๋ฒ๋ง ๋๋์ด ํ๊ฐํ๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๊ฐ ์ฐ์ฐํ ์ข๊ฑฐ๋ ๋์ ๋ฐ์ดํฐ ๋ถํ ์ ์ํด ์ข์ฐ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ด ๋ฐ๋ก ๊ต์ฐจ ๊ฒ์ฆ์ ๋๋ค.
๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ **k-๊ฒน ๊ต์ฐจ ๊ฒ์ฆ (k-fold cross-validation)**์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํฉ๋๋ค.
-
ํ๋ จ ๋ฐ์ดํฐ๋ฅผ k๊ฐ์ ๋์ผํ ๋ถ๋ถ(fold)์ผ๋ก ๋๋๋๋ค.
-
์ฒซ ๋ฒ์งธ fold๋ฅผ ๊ฒ์ฆ(validation) ์ธํธ๋ก ์ฌ์ฉํ๊ณ , ๋๋จธ์ง k-1๊ฐ fold๋ก ๋ชจ๋ธ์ ํ๋ จ์ํต๋๋ค.
-
๋ ๋ฒ์งธ fold๋ฅผ ๊ฒ์ฆ ์ธํธ๋ก ์ฌ์ฉํ๋ ๋ฑ, k๋ฒ์ ํ๋ จ๊ณผ ๊ฒ์ฆ์ ๋ฐ๋ณตํฉ๋๋ค.
-
์ต์ข ์ฑ๋ฅ์ k๋ฒ์ ๊ฒ์ฆ ๊ฒฐ๊ณผ์ ํ๊ท ์ผ๋ก ๊ณ์ฐํ์ฌ, ํจ์ฌ ์์ ์ ์ด๊ณ ์ ๋ขฐ๋ ๋์ ํ๊ฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
์ค์ฐจ ํ๋ ฌ (Confusion Matrix)
์ค์ฐจ ํ๋ ฌ์ ๋ถ๋ฅ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์์ธํ๊ฒ ๋ถ์ํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋๊ตฌ์ ๋๋ค. ๋ชจ๋ธ์ ์์ธก ๊ฐ์ด ์ค์ ๊ฐ๊ณผ ์ผ๋ง๋ ์ผ์นํ๋์ง๋ฅผ ํ ํํ๋ก ๋ณด์ฌ์ฃผ์ด, ๋ชจ๋ธ์ด ์ด๋ค ์ข ๋ฅ์ ์ค์๋ฅผ ์ ์ง๋ฅด๋์ง ๋ช ํํ ํ์ ํ ์ ์๊ฒ ํฉ๋๋ค.
'5-ํ์ง๊ธฐ' ์์๋ฅผ ๋ฐํ์ผ๋ก ์ค์ฐจ ํ๋ ฌ์ ๋ค ๊ฐ์ง ํต์ฌ ์์๋ฅผ ์ ์ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- True Positive (TP): ์ค์ '5'๋ฅผ '5'๋ผ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์์ธกํ ๊ฒฝ์ฐ.
- True Negative (TN): ์ค์ '5 ์๋'์ '5 ์๋'์ด๋ผ๊ณ ์ฌ๋ฐ๋ฅด๊ฒ ์์ธกํ ๊ฒฝ์ฐ.
- False Positive (FP): ์ค์ '5 ์๋'์ '5'๋ผ๊ณ ์๋ชป ์์ธกํ ๊ฒฝ์ฐ.
- False Negative (FN): ์ค์ '5'๋ฅผ '5 ์๋'์ด๋ผ๊ณ ์๋ชป ์์ธกํ ๊ฒฝ์ฐ.
- ํต์ฌ ์ฑ๋ฅ ์งํ
์ค์ฐจ ํ๋ ฌ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ํ ์ฑ๋ฅ ์งํ๋ฅผ ๊ณ์ฐํ ์ ์์ต๋๋ค. ๊ฐ ์งํ๋ ์๋ก ๋ค๋ฅธ ๊ด์ ์์ ๋ชจ๋ธ์ ํ๊ฐํฉ๋๋ค.
- ์ ํ๋ (Accuracy)
- ๊ณต์: (TP + TN) / (TP + TN + FP + FN)
- ์๋ฏธ: "์ ์ฒด ์์ธก ์ค ์ผ๋ง๋ ์ ํํ๊ฒ ๋งํ๋๊ฐ?"
- ๊ฐ์ฅ ์ง๊ด์ ์ธ ์งํ์ง๋ง, ๋ฐ์ดํฐ๊ฐ ๋ถ๊ท ํํ ๊ฒฝ์ฐ(์: 1000๊ฐ์ ์ด๋ฉ์ผ ์ค ์คํธ์ด 10๊ฐ๋ฟ์ธ ๊ฒฝ์ฐ, ๋ชจ๋ ๋ฉ์ผ์ '์ ์'์ผ๋ก ์์ธกํด๋ ์ ํ๋๊ฐ 99%์ ๋ฌํจ) ์ฑ๋ฅ์ ์๊ณกํ ์ ์์ต๋๋ค.
- ์ ๋ฐ๋ (Precision)
- ๊ณต์: TP / (TP + FP)
- ์๋ฏธ: "๋ชจ๋ธ์ด 'Positive'๋ผ๊ณ ์์ธกํ ๊ฒ๋ค ์ค, ์ค์ 'Positive'์ธ ๋น์จ์ ์ผ๋ง์ธ๊ฐ?"
- Positive ์์ธก์ ์ ๋ขฐ๋๋ฅผ ๋ํ๋ ๋๋ค. ์ ๋ฐ๋๊ฐ ๋์์๋ก ๋ชจ๋ธ์ Positive ํ์ ์ ๋ฏฟ์ ๋งํฉ๋๋ค.
- ์ฌํ์จ (Recall / Sensitivity / TPR)
- ๊ณต์: TP / (TP + FN)
- ์๋ฏธ: "์ค์ ๋ชจ๋ 'Positive' ์ค์์, ๋ชจ๋ธ์ด ์ผ๋ง๋ ๋ง์ด ์ฐพ์๋๋๊ฐ?"
- ๋ชจ๋ธ์ด ์ค์ Positive ์ํ์ ๋์น์ง ์๋ ๋ฅ๋ ฅ์ ์ธก์ ํฉ๋๋ค.
- F1-Score
- ๊ณต์: 2 * (์ ๋ฐ๋ * ์ฌํ์จ) / (์ ๋ฐ๋ + ์ฌํ์จ)
- ์๋ฏธ: ์ ๋ฐ๋์ ์ฌํ์จ์ ์กฐํ ํ๊ท .
- ๋ ์งํ๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ๊ท ํ ์กํ ์ฑ๋ฅ์ ํ๊ฐํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์ ๋ฐ๋์ ์ฌํ์จ์ด ๋ชจ๋ ๋์ ๋ F1-Score๋ ๋์์ง๋๋ค.
- ์ ๋ฐ๋์ ์ฌํ์จ์ ํธ๋ ์ด๋์คํ (Tradeoff)
์ ๋ฐ๋์ ์ฌํ์จ์ ์ผ๋ฐ์ ์ผ๋ก ๋ฐ๋น๋ก ๊ด๊ณ์ ์์ต๋๋ค. ์ฆ, ํ๋๋ฅผ ๋์ด๋ฉด ๋ค๋ฅธ ํ๋๊ฐ ๋ฎ์์ง๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ์ด ๊ด๊ณ๋ **๊ฒฐ์ ์๊ณ๊ฐ(Decision Threshold)**์ ์ํด ์กฐ์ ๋ฉ๋๋ค.
- ์๊ณ๊ฐ์ ๋ฎ์ถ๋ฉด: ๋ชจ๋ธ์ด ๋ ๋ง์ ์ํ์ Positive๋ก ๋ถ๋ฅํ๊ฒ ๋์ด, ์ฌํ์จ์ ์ฌ๋ผ๊ฐ์ง๋ง(๋ ๋ง์ ์ค์ Positive๋ฅผ ์ฐพ์) ์ ๋ฐ๋๋ ๋จ์ด์ง๋๋ค(์๋ชป๋ Positive ์์ธก ์ฆ๊ฐ).
- ์๊ณ๊ฐ์ ๋์ด๋ฉด: ๋ชจ๋ธ์ด ๋ ์๊ฒฉํ๊ฒ Positive๋ฅผ ํ์ ํ๊ฒ ๋์ด, ์ ๋ฐ๋๋ ์ฌ๋ผ๊ฐ์ง๋ง ์ฌํ์จ์ ๋จ์ด์ง๋๋ค(๊น๋ค๋ก์ด ๊ธฐ์ค์ผ๋ก ์ธํด ์ค์ Positive๋ฅผ ๋์น ์ ์์).
์ด ํธ๋ ์ด๋์คํ๋ ๋ฌธ์ ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์ค์๋๊ฐ ๋ฌ๋ผ์ง๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์ง๋จ ๋ชจ๋ธ์์๋ ์ค์ ์ ํ์๋ฅผ ๋์น๋ ๊ฒฝ์ฐ(FN)๊ฐ ๊ฑฐ์ง ์์ฑ ํ์ (FP)๋ณด๋ค ํจ์ฌ ์น๋ช ์ ์ด๋ฏ๋ก, ์ฌํ์จ์ ์ต๋ํ ๋์ด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
5. ROC ๊ณก์ ๊ณผ AUC
ROC(Receiver Operating Characteristic) ๊ณก์ ์ ์ด์ง ๋ถ๋ฅ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์๊ฐ์ ์ผ๋ก ํ๊ฐํ๋ ์ค์ํ ๋๊ตฌ์ ๋๋ค.
ROC ๊ณก์ ์ ์ถ์ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค. Y์ถ์ **์ง์์ฑ ๋น์จ(True Positive Rate, TPR)**๋ก, ์ฐ๋ฆฌ๊ฐ ์ด๋ฏธ ์ดํด๋ณธ **์ฌํ์จ(Recall)**๊ณผ ๋์ผํ ์งํ์ ๋๋ค. X์ถ์ **์์์ฑ ๋น์จ(False Positive Rate, FPR)**์ ๋๋ค.
- Y์ถ: ์ง์์ฑ ๋น์จ (True Positive Rate, TPR) - ์ค์ Positive ์ค Positive๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์์ธกํ ๋น์จ. ๊ณต์์ TP / (TP + FN) ์ ๋๋ค.
- X์ถ: ์์์ฑ ๋น์จ (False Positive Rate, FPR) - ์ค์ Negative ์ค Positive๋ก ์๋ชป ์์ธกํ ๋น์จ. ๊ณต์์ FPR = FP / (FP + TN) ์ ๋๋ค.
๊ณก์ ํด์:
- ๊ณก์ ์ด ์ข์ธก ์๋จ์ ๊ฐ๊น์ธ์๋ก ๋ชจ๋ธ์ ์ฑ๋ฅ์ด ์ฐ์ํจ์ ์๋ฏธํฉ๋๋ค.
- ๋๊ฐ์ ์ ์ ์ ๋ฌด์์๋ก ์ถ์ธกํ๋ ๋ถ๋ฅ๊ธฐ(์ฑ๋ฅ์ด ์๋ ๋ชจ๋ธ)๋ฅผ ๋ํ๋ ๋๋ค.
**AUC (Area Under the Curve)**๋ ROC ๊ณก์ ์๋์ ๋ฉด์ ์ ๋ํ๋ด๋ ๊ฐ์ผ๋ก, 0๊ณผ 1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋๋ค. AUC๋ ๋ชจ๋ธ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ ๋จ์ผ ์ซ์๋ก ์์ฝํด ์ค๋๋ค.
- AUC = 1.0: ์๋ฒฝํ ๋ถ๋ฅ๊ธฐ
- AUC = 0.5: ๋ฌด์์ ๋ถ๋ฅ๊ธฐ์ ๋์ผํ ์ฑ๋ฅ
์ฌ๋ฐ๋ฅธ ์ฑ๋ฅ ์งํ๋ฅผ ์ ํํ๋ ๊ฒ์ ๊ธฐ์ ์ ์ธ ์ ์ฐจ๋ฅผ ๋์ด, ํด๊ฒฐํ๊ณ ์ ํ๋ ๋ฌธ์ ์ ๋ชฉํ์ ์ง๊ฒฐ๋ ์ ๋ต์ ์ธ ๊ฒฐ์ ์ ๋๋ค.
๋งบ์๋ง: ๋ถ๋ฅ๋ฅผ ๋์ด ๋ค์ ๋จ๊ณ๋ก
์ง๊ธ๊น์ง ์ฐ๋ฆฌ๋ ์ธ๊ณต์ง๋ฅ, ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ ๋ฆฝํ๊ณ , MNIST ๋ฐ์ดํฐ์ ์ ํตํด ์ด์ง ๋ถ๋ฅ ๋ชจ๋ธ์ ํ๋ จํ๋ ๊ณผ์ ์ ์ดํด๋ณด์์ต๋๋ค. ๋ ๋์๊ฐ, ๋จ์ ์ ํ๋๋ฅผ ๋์ด ์ ๋ฐ๋, ์ฌํ์จ, F1-Score, ROC/AUC์ ๊ฐ์ ์ ๊ตํ ์งํ๋ค์ ํตํด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋ค๊ฐ์ ์ผ๋ก ํ๊ฐํ๋ ๋ฐฉ๋ฒ๊น์ง ํ์ตํ์ต๋๋ค.
ํจ๊ณผ์ ์ธ ๋จธ์ ๋ฌ๋์ ๋จ์ํ ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ ๊ฒ์์ ๋๋์ง ์์ต๋๋ค. ์ค์ ๋ฌธ์ ์ ๋งฅ๋ฝ ์์์ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ธก์ ํ๊ณ ํด์ํ๋ ๋ฅ๋ ฅ์ด ๋ฌด์๋ณด๋ค ์ค์ํฉ๋๋ค. ์ค๋ ๋ฐฐ์ด ๊ฐ๋ ๋ค์ ๋ฐํ์ผ๋ก ์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ฉฐ ์คํํด ๋ณด์๊ธธ ๋ฐ๋๋๋ค.
๋ค์ "๋ถ๋ฅ (2)" ํฌ์คํธ์์๋ ์ฌ๋ฌ ํด๋์ค๋ฅผ ๋์์ ๋ถ๋ฅํ๋ ๋ค์ค ํด๋์ค ๋ถ๋ฅ์ ๋ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
๊ธด ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ ์๊ฒ ์ฐ๋ฝ์ ์ฃผ๊ณ ์ถ์ผ์ ๊ฒ์ด ์์ผ์๋ค๋ฉด
- LinkedIn : www.linkedin.com/in/sehoon-park-575b8b22a
- Github : https://github.com/sehooni
- Email : 74sehoon@gmail.com
- ๋ธ๋ก๊ทธ ๋๊ธ
์ผ๋ก ์ฐ๋ฝ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
