ML ๋ชจ๋ธ์ ๋ชฉํ๋ฅผ ์ค์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
- ํ๋์ evaluation metric์ ์ ํ๋ผ.
- ์ฌ๋ฌ๊ฐ์ง์ evaluation metric์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ, ํ๋๋ฅผ metric์ผ๋ก ๋๋จธ์ง๋ ์กฐ๊ฑด์ผ๋ก ์ค์ ํ๋ผ.
- dev / test์ ๋ถํฌ๋ ๋์ผํด์ผ ํ๋ฉฐ, ์ค์ ํ๊ฒฝ๊ณผ ์ ์ฌํ ๋ถํฌ์ ๋ฐ์ดํฐ์ฌ์ผ ํ๋ค.
- ๋ฐ์ดํฐ๊ฐ ๋ง๋ค๋ฉด, train : dev : test = 0.98 : 0.01 : 0.01 ๋น์จ๋ก ๋๋์ด๋ผ
- metric์ ์ํด ๋ถ์ฌ๋ ์์๊ฐ ์ค์ ํ๊ฒฝ์์์ ์์์ ๋ถ์ผ์นํ๋ฉด, metric, dev/test set์ ๋ฐ๊ฟ๋ผ.
1) ํ๋์ evaluation metric์ ์ ํ๋ผ
- ํน์ ํ ๋ชจ๋ธ์ ์ ํํ ๋ precision, recall 2๊ฐ์ ์งํ๋ฅผ ๋์์ ๋ณด๋ ๊ฒ๋ณด๋ค, F1 score ํ๋ ๋ณด๋ ๊ฒ์ด ์ข๋ค.
- A, B, C, D ๊ตญ๊ฐ์ ์ ํ๋๋ฅผ ๋ฐ๋ก๋ฐ๋ก ๋ณด๋ ๊ฒ๋ณด๋ค, ํ๊ท ์ ํ๋๋ฅผ ๋ณด๊ณ ๋ชจ๋ธ์ ํ๊ฐํ๋ ๊ฒ์ด ์ข๋ค.
- ์ด์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ ํ๊ฐ์งํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ํ๊ฐํ๋ ๊ฒ์ด ์๋๋ผ, ํ๋์ ํ๊ฐ์งํ๋ฅผ ์ค์ ํ๋ผ.
- ์ฌ๋ฌ๊ฐ์ ํ๊ฐ์งํ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ธ์ ๋น๊ตํ๊ธฐ ์ด๋ ต๋ค.
2) ์กฐ๊ฑด๊ณผ optimizingํ๊ณ ์ ํ๋ metric ์ค์ ํ๊ธฐ
- ์ฌ๋ฌ๊ฐ์ง ํ๊ฐ์งํ(N๊ฐ)๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ,
N-1๊ฐ๋ ์กฐ๊ฑด์ผ๋ก, ๋๋จธ์ง 1๊ฐ๋ฅผ optimizingํ๊ณ ์ ํ๋ metric์ผ๋ก ์ค์ ํ๋ผ.
classifier | accuracy | running time |
A | 90% | 80ms |
B | 92% | 95ms |
C | 95% | 1500ms |
- A, B, C ๋ชจ๋ธ์ ๋ํ accuracy, running time ์ ๋ณด๊ฐ ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํ์
๋ชจ๋ธ ์ ํํ๋๋ฐ ์์ด accuracy, running time ๋ ๋ค ๊ณ ๋ ค๋์ด์ผ ํ๋ ์ฌํญ์ด๋ผ๋ฉด,
ํ๋๋ optimizingํ๋ metric์ผ๋ก ์ค์ ํ๊ณ , ๋๋จธ์ง๋ ์ถฉ์กฑ๋์ด์ผ ํ๋ ์กฐ๊ฑด์ผ๋ก ์ค์ ํ๋ค. - ์์ ์์์์ running time์ ์กฐ๊ฑด์ผ๋ก ์ค์ ํ๊ณ , accuracy๋ฅผ optimizingํ๊ณ ์ ํ๋ metric์ผ๋ก ์ค์ ํ๋ค๊ณ ํ์.
๊ทธ๋ ๋ค๋ฉด, "running time์ 100ms ์ดํ"๋ผ๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ฉด ๋์ด์ running time์ ๊ณ ๋ คํ์ง ์๊ณ
accuracy๋ง์ ์ด์ฉํ์ฌ ๋ชจ๋ธ์ ์ ํํ๋ ๊ฒ์ด๋ค. - C ๋ชจ๋ธ์ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์๊ธฐ์ 1์ฐจ ํ๋ฝํ๊ณ , ์กฐ๊ฑด์ ๋ง์กฑํ๋ A, B ๋ชจ๋ธ๋ง ๋จ๋๋ค.
๊ทธ ๋ค์์๋ running time์ ๋ณด์ง ์๊ณ , accuracy๋ง ๋ณธ๋ค. ๋ฐ๋ผ์ B ๋ชจ๋ธ์ด ์ต์ข ๋ชจ๋ธ๋ก ์ ํ๋๋ค.
3) train / dev / test distribution
- dev set๊ณผ test set์ ๋์ผํ ๋ถํฌ๋ฅผ ๋๊ณ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- dev set, test set์ ๋์์ด ๋๋ ๋ฐ์ดํฐ๋ฅผ randomํ๊ฒ shuffleํ ๋ค์์ dev / test๋ก ๋๋์ด์ผ ํ๋ค.
- ex) dev set์ ์ด๋ฆฐ ์ฐ๋ น๋์ ์ฌ๋, test set์ ๋์ ์ฐ๋ น๋์ ์ฌ๋ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋๋ฉด ์ ๋๋ค.
-
- dev set๊ณผ test set์ ์ค์ ๋์ํ๊ธธ ์ํ๋ ํ๊ฒฝ๊ณผ ์ ์ฌํ ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋์ด์ผ ํ๋ค.
4) dev, test dataset์ ํฌ๊ธฐ
- ๊ณผ๊ฑฐ์๋
- 1) train = 70%, test = 30%
- 2) train = 60%, dev = 20%, test = 20%
- ์ ๋น์จ๋ก train / dev / test split์ ์งํํ์๋ค.
- ์ต๊ทผ์๋
- ๋ฐ์ดํฐ๊ฐ ๋ง๋ค๋ฉด, ๊ตณ์ด ์์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋๋์ง ์์๋ ๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ๋ง๋ค๋ฉด dev data, test data๋ ์ฑ๋ฅ์ ํ๊ฐํ๊ธฐ ์ํ ๋ชฉ์ ์ด๋ฏ๋ก
train = 98%, dev = 1%, test = 1%๋ก ์ค์ ํด๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ค. - ํ์ง๋ง test set ๊ฒฐ๊ณผ์ ๋ํ ๋์ ์ ๋ขฐ๋๋ฅผ ๋ถ์ฌํ๊ณ ์ถ๋ค๋ฉด test set์ ํฌ๊ธฐ๋ฅผ ์ข ๋ ๋๋ ค๋ ๋๋ค.
5) ์ธ์ ํ๊ฐ์งํ, dev/test dataset์ ๋ฐ๊พธ์ด์ผ ํ๋๊ฐ?
- ํ๊ฐ์งํ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ฅผ ์ ํํ ๋ถ์ฌํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ์ test/dev, ํ๊ฐ์งํ๋ฅผ ๋ฐ๊พธ์ด์ผ ํ๋ค.
- ์๋ฅผ ๋ค์ด ์คํธ ํํฐ๊ธฐ๊ฐ ์๋ค๊ณ ํ์.
- A ๋ชจ๋ธ์ accuracy๋ 95%์ด์ง๋ง, ์คํธ์ด ์๋ ๊ฒ์ ์คํธ์ด๋ผ๊ณ ์์ธกํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
B ๋ชจ๋ธ์ accuracy๋ 90%์ด์ง๋ง, ์คํธ์ด ์๋ ๊ฒ์ ์คํธ์ด๋ผ๊ณ ์์ธกํ๋ ๊ฒฝ์ฐ๊ฐ ์ ๋ค.
์ฌ์ฉ์์ ์ ์ฅ์์ ์คํธ ๋๊ธ์ด ๋ณด์ด๋ ๊ฒ๋ณด๋ค ๋์ ๋๊ธ์ด ์คํธ์ฒ๋ฆฌ ๋๋ ๊ฒ์ ๋ ๋ถํธํจ์ ๋๋๋ค๊ณ ๊ฐ์ ํ์. - accuracy๋ฅผ ํ๊ฐ์งํ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ B ๋ชจ๋ธ๋ณด๋ค A ๋ชจ๋ธ์ด ์ฐ์ํ๋ค๊ณ ํ๋จํ ๊ฒ์ด์ง๋ง,
์ฌ์ฉ์๋ A ๋ชจ๋ธ๋ณด๋ค B ๋ชจ๋ธ์ด ์ฐ์ํ๋ค๊ณ ์๊ฐํ ๊ฒ์ด๋ค. - ์ด๋ฌํ ๊ฒฝ์ฐ์๋ ํ๊ฐ์งํ๊ฐ ๊ฐ์ ๋์ด์ผ ํ๋ ๊ฒ์ด๋ค.
'๐ > Coursera_DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEEK5 : error analysis (์๋ฌ ๋ถ์) (0) | 2020.12.20 |
---|---|
WEEK5 : avoidable bias & variance ๋น๊ต๋ฅผ ํตํ ์ ๋ต ์ธ์ฐ๊ธฐ (0) | 2020.12.20 |
WEEK5 : Machine Learning Strategy (0) | 2020.12.20 |
WEEK4 : batch normalization (๋ฐฐ์น ์ ๊ทํ) (0) | 2020.12.19 |
WEEK4 : problem of optimization (0) | 2020.12.19 |