์ถฉ๋จ์ธ๋ ฅ๊ฐ๋ฐ์ ์ฑ๋ด๊ณผ์ ์์ ๊ต์ก๋ฐ๋ ๋์ ์ฌ์ฉํ๋ ๋ ํฌ์งํ ๋ฆฌ ์ ๋๋ค.
- torch1 ~ torch6
- python class
- ์์ฑ์ (constructor)
- class์ ์ด๋ฆ๊ณผ ๊ฐ์ ์ด๋ฆ์ผ๋ก ๋ ํจ์ class๋ฅผ ์์ฑํ ๋ ์คํ๋๋ ํจ์
- ์์ (inheritance)
- ๋ถ๋ชจ ํด๋์ค์ ๋ด์ฉ์ ์์ ํด๋์ค๊ฐ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ
- ์ค๋ฒ๋ผ์ด๋ฉ (overriding)
- ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ์ฌ์ ์ ํ๋ ๊ฒ
- ์คํ์
๋ฉ์๋ (special method)
- ํ์ด์ฌ์ ๊ฐ์ฒด๋ค์ด ๋์ผํ๊ฒ ๊ฐ์ง๋ ์ธํฐํ์ด์ค
- ์์ฑ์ (constructor)
- ๋ฐ์ดํฐ
- ์ค์นผ๋ผ (scala)
- ํ๋์ ์ซ์๋ฅผ ์๋ฏธ
- ๋ฒกํฐ (vector)
- ๋ฒกํฐ๋ ์ซ์(์ค์นผ๋ผ)์ ๋ฐฐ์ด
- ํ๋ ฌ (Matrix)
- 2์ฐจ์์ ๋ฐฐ์ด
- ํ
์ (tensor)
- 3์ฐจ์ ๋๋ ๊ทธ ์ด์์ ๋ฐฐ์ด
- ์ค์นผ๋ผ (scala)
- torch
- pandas
- torchvision
- torch7 ~ torch9
- pytorch code
- ๋ฐ์ดํฐ์ ๋ถํฌ
- ๋ฐ์ดํฐ์ ๋ณํ
- ๋ฐ์ดํฐ์ ๋ถ๋ฆฌ
- ๋ชจ๋ธ ํด๋์ค ๊ฐ์ฒด ์์ฑ
- CPU/GPU ์ฌ์ฉ ์ง์
- ๋ชจ๋ธ ํ์ต
- ๋ชจ๋ธ ์์ธก
- ๋ชจ๋ธ ์ ํ๋ ํ์ธ
- ์ง๋ ํ์ต
- ๋ถ๋ฅ์ ํ๊ท์ ์ฐจ์ด
- ๋ถ๋ฅ
- ๋ฐ์ดํฐ ์ ํ : ์ด์ฐํ ๋ฐ์ดํฐ
- ๊ฒฐ๊ณผ : ํ๋ จ ๋ฐ์ดํฐ์ ๋ ์ด๋ธ ์ค ํ๋๋ฅผ ์์ธก
- ์์ : ํ์ต ๋ฐ์ดํฐ๋ฅผ A / B / C ๊ทธ๋ฃน ์ค ํ๋๋ก ๋งคํ ex) ์คํธ ๋ฉ์ผ ํํฐ๋ง
- ํ๊ท
- ๋ฐ์ดํฐ ์ ํ : ์ฐ์ํ ๋ฐ์ดํฐ
- ๊ฒฐ๊ณผ : ์ฐ์๋ ๊ฐ์ ์์ธก
- ์์ : ๊ฒฐ๊ด๊ฐ์ด ์ด๋ค ๊ฐ์ด๋ ๋์ฌ ์ ์์ ex) ์ฃผ๊ฐ ๋ถ์ ์์ธก
- ๋ถ๋ฅ
- ๋ถ๋ฅ ํ์ต ๋ชจ๋ธ
K - ์ต๊ทผ์ ์ด์ (K-Nearest Neighbor)
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- K - ์ต๊ทผ์ ์ด์์ ์ง๊ด์ ์ด๋ฉฐ ์ฌ์ฉํ๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ด๋ณด์๊ฐ ์ฌ์ฉํ๊ธฐ ์ข์ต๋๋ค.
- ํ๋ จ ๋ฐ์ดํฐ๋ฅผ ์ถฉ๋ถํ ํ๋ณดํ ์ ์๋ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค.
- ์ ์ฌ์ฉํ ๊น?
- ๋ถ๋ฅ์ ํ๊ท์ ์ฐจ์ด
- matplotlib
- sklearn
- seaborn
23.09.06
- torch9 ~ torch16
์ง๋ ํ์ต
์ํฌํธ ๋ฒกํฐ ๋จธ์ (Support Vector Machine, SVM)
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- ์ํฌํธ ๋ฒกํฐ ๋จธ์ ์ ์ปค๋๋ง ์ ์ ํ ์ ํํ๋ค๋ฉด์ ํ๋๊ฐ ์๋นํ ์ข๊ธฐ ๋๋ฌธ์ ์ ํ๋๋ฅผ ์๊ตฌํ๋ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค.
- ํ ์คํธ๋ฅผ ๋ถ๋ฅํ ๋๋ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ถ๋ฅ ์ง์
- ์ํฌํธ ๋ฒกํฐ ๋จธ์ ์ ์ ํ ๋ถ๋ฅ์ ๋น์ ํ ๋ถ๋ฅ๋ฅผ ์ง์
- ์ ํ์ผ๋ก ๋ถ๋ฅ๋ ์ ์๋ ๋ฐ์ดํฐ๋ค์ ์ํด์ ๋ฐ์
-
์ํฌํธ ๋ฒกํฐ ๋จธ์
- ๋ถ๋ฅ๋์ง ์์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ๋ํ๋๋ฉด ๊ฒฐ์ ๊ฒฐ๊ณ๋ฅผ ๊ธฐ๋ถ์ผ๋ก ๊ฒฝ๊ณ์ ์ด๋ ์ชฝ์ ์ํ๋์ง ๋ถ๋ฅํ๋ ๋ชจ๋ธ
-
์ํฌํธ ๋ฒกํฐ
- ๊ฒฐ์ ๊ฒฝ๊ณ์ ๊ฐ๊น์ด ์๋ ๋ฐ์ดํฐ๋ค์ ์๋ฏธ
-
๊ฒฐ์ ๊ฒฝ๊ณ
- ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ๊ธฐ ์ํ ๊ธฐ์ค์
- ๊ฒฐ์ ๊ฒฝ๊ณ๋ ๋ฐ์ดํฐ๊ฐ ๋ถ๋ฅ๋ ํด๋์ค์์ ์ต๋ํ ๋ฉ๋ฆฌ ๋จ์ด์ ธ ์์ ๋ ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข๋ค.
-
๋ง์ง
- ๊ฒฐ์ ๊ฒฝ๊ณ์ ์ํฌํธ ๋ฒกํฐ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ์๋ฏธ
-
ํ๋ ๋ง์ง
- ์ด์์น๋ฅผ ํ์ฉํ์ง ์์
-
์ํํธ ๋ง์ง
- ์ด๋ ์ ๋์ ์ด์์น๋ค์ด ๋ง์ง ์์ ํฌํจ๋๋ ๊ฒ์ ํ์ฉ
-
์ปค๋ ํธ๋ฆญ
- ๋น์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ฐจ์์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ธ๋ฐ, ์ด๊ฒ์ ๋ง์ ์ํ์ ๊ณ์ฐ์ด ํ์ํ๊ธฐ์ ์ฑ๋ฅ์ ๋ฌธ์ ๋ฅผ ์ค ์ ์์ด, ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ๋์ ํ ๊ฒ์ด ์ปค๋ ํธ๋ฆญ์ด๋ค.
-
์ ํ๋ชจ๋ธ์ ํํ ์ปค๋
-
์ ํ ์ปค๋
- ์ ํ์ผ๋ก ๋ถ๋ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ์ ์ ์ฉ
- ์ ํ ์ปค๋์ ๊ธฐ๋ณธ ์ปค๋ ํธ๋ฆญ์ด๋ฉฐ, ์ปค๋ ํธ๋ฆญ์ ์ฌ์ฉํ์ง ์๊ฒ ๋ค๋ ์๋ฏธ์ ์ผ๋งฅ์ํตํจ
$$K(a, b) = a^T b$$ $$(a, b : \text{์ ๋ ฅ ๋ฒกํฐ})$$
-
-
๋น์ ํ์ ์ํ ์ปค๋
-
๋คํญ์ ์ปค๋
- ์ค์ ๋ก๋ ํน์ฑ์ ์ถ๊ฐํ์ง ์์ง๋ง, ๋คํญ์ ํน์ฑ์ ๋ง์ด ์ถ๊ฐํ ๊ฒ๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ ๋ฐฉ๋ฒ
- ์ค์ ๋ก๋ ํน์ฑ์ ์ถ๊ฐํ์ง ์์ง๋ง, ์์ฒญ๋ ์์ ํน์ฑ ์กฐํฉ์ด ์๊ธฐ๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ป๊ธฐ ๋๋ฌธ์ ๊ณ ์ฐจ์์ผ๋ก ๋ฐ์ดํฐ ๋งคํ์ด ๊ฐ๋ฅ
$$K(a, b) = (\gamma a^T \cdot b)^d$$ $$a, b : \text{์ ๋ ฅ ๋ฒกํฐ}$$ $$\gamma : \text{๊ฐ๋ง}$$ $$d : \text{์ฐจ์, ์ด๋ } \gamma d \text{๋ ํ์ดํผํ๋ผ๋ฏธํฐ}$$
-
๊ฐ์ฐ์์ RBF ์ปค๋
- ์ ๋ ฅ ๋ฒกํฐ๋ฅผ ์ฐจ์์ด ๋ฌดํํ ๊ณ ์ฐจ์์ผ๋ก ๋งคํํ๋ ๊ฒ์ผ๋ก, ๋ชจ๋ ์ฐจ์์ ๋ชจ๋ ๋คํญ์์ ๊ณ ๋ ค
- ๋คํญ์ ์ปค๋์ ์ฐจ์์ ํ๊ณ๊ฐ ์์ง๋ง ๊ฐ์ฐ์์ RBF๋ ์ฐจ์์ ์ ํ ์์ด ๋ฌดํํ ํ์ฅ์ด ๊ฐ๋ฅ
$$K(a, b) = \exp\left(-\gamma \cdot |a - b|^2\right)$$ $$(\text{์ด๋ } \gamma \text{๋ ํ์ดํผํ๋ผ๋ฏธํฐ)}$$
-
๊ฒฐ์ ํธ๋ฆฌ (decision tree)
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- ๊ฒฐ์ ํธ๋ฆฌ๋ ์ด์์น๊ฐ ๋ง์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ์ ์ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค.
- ๊ฒฐ์ ๊ณผ์ ์ด ์๊ฐ์ ์ผ๋ก ํํ๋๊ธฐ ๋๋ฌธ์ ๋จธ์ ๋ฌ๋์ด ์ด๋ค ๋ฐฉ์์ผ๋ก ์์ฌ ๊ฒฐ์ ์ ํ๋์ง ์๊ณ ์ถ์ ๋ ์ ์ฉํฉ๋๋ค.
-
๊ฒฐ์ ํธ๋ฆฌ
- ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๊ฑฐ๋ ๊ฒฐ๊ด๊ฐ์ ์์ธกํ๋ ๋ถ์ ๋ฐฉ๋ฒ
- ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋์ด์๊ธฐ์ ๊ฒฐ์ ํธ๋ฆฌ๋ผ๊ณ ํ๋ค.
- ๊ฒฐ์ ํธ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ 1์ฐจ๋ก ๋ถ๋ฅํ ํ ๊ฐ ์์ญ์ ์๋๋ ์ฆ๊ฐํ๊ณ , ๋ถ์๋์ ๋ถํ์ค์ฑ์ ๊ฐ์ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ ์งํํ๋ค.
-
์ ๋ณด ํ๋
- ์๋๊ฐ ์ฆ๊ฐํ๊ณ ๋ถํ์ค์ฑ์ด ๊ฐ์ํ๋ ๊ฒ
- ์๋ ๊ณ์ฐ ๋ฐฉ๋ฒ
-
์ํธ๋กํผ
- ํ๋ฅ ๋ณ์์ ๋ถํ์ค์ฑ์ ์์น๋ก ๋ํ๋ธ ๊ฒ
- ์ํธ๋กํผ๊ฐ ๋์์๋ก ๋ถํ์ค์ฑ์ด ๋๋ค๋ ์๋ฏธ
$$\text{Entropy}(A) = -\sum_{k=1}^{m} P_k \cdot \log_2(P_k)$$ $$P_k = A : \text{์์ญ์ ์ํ๋ ๋ฐ์ดํฐ ๊ฐ์ด๋ฐ }k\text{ ๋ฒ์ฃผ์ ์ํ๋ ๋ฐ์ดํฐ ๋น์จ}$$
-
์ง๋ ๊ณ์
- ๋ถ์๋๋ฅผ ์ธก์ ํ๋ ์งํ๋ก, ๋ฐ์ดํฐ์ ํต๊ณ์ ๋ถ์ฐ ์ ๋๋ฅผ ์ ๋ํํด์ ํํํ ๊ฐ
- ์ง๋ ๊ณ์๋ ์์ n๊ฐ ์ค์์ ์์๋ก ๋๊ฐ๋ฅผ ์ถ์ถํ์ ๋, ์ถ์ถ๋ ๋ ๊ฐ๊ฐ ์๋ก ๋ค๋ฅธ ๊ทธ๋ฃน์ ์ํด ์์ ํ๋ฅ ์ ์๋ฏธ
$$Gini(S) = 1 - \sum_{i=1}^{c} p_i^2$$ $$S : \text{์ด๋ฏธ ๋ฐ์ํ ์ฌ๊ฑด์ ๋ชจ์}$$ $$c : \text{์ฌ๊ฑด ๊ฐ์}$$
-
ํ๊ท
-
ํ๊ท
- ๋ณ์๊ฐ ๋ ๊ฐ ์ฃผ์ด์ก์ ๋ ํ ๋ณ์์์ ๋ค๋ฅธ ๋ณ์๋ฅผ ์์ธกํ๊ฑฐ๋ ๋ ๋ณ์์ ๊ด๊ณ๋ฅผ ๊ท๋ช ํ๋๋ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋ณ์ ์ ํ
-
๋ ๋ฆฝ ๋ณ์ (์์ธก ๋ณ์)
- ์ํฅ์ ๋ฏธ์น ๊ฒ์ผ๋ก ์์๋๋ ๋ณ์
-
์ข ์ ๋ณ์ (๊ธฐ์ค ๋ณ์)
- ์ํฅ์ ๋ฐ์ ๊ฒ์ผ๋ก ์์๋๋ ๋ณ์
- ๋ณ์์ ์ค์
- ๋ ๋ณ์ ๊ฐ ๊ด๊ณ์์ ๋
๋ฆฝ ๋ณ์์ ์ข
์ ๋ณ์์ ์ค์ ์
๋ ผ๋ฆฌ์ ์ธ ํ๋น์ฑ
์ด ์์ด์ผ ํจ
- ๋ ๋ณ์ ๊ฐ ๊ด๊ณ์์ ๋
๋ฆฝ ๋ณ์์ ์ข
์ ๋ณ์์ ์ค์ ์
-
๋ก์ง์คํฑ ํ๊ท
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- ๋ก์ง์คํฑ ํ๊ท ๋ถ์์ ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ํ์ ์ด ์๊ฑฐ๋(์๋ฅผ ๋ค์ด ๋ถ๋ฅ ๊ฒฐ๊ณผ์ ๋ํด ํ์ ์ด ์์ ๋) ํฅํ ์ฃผ๊ธฐ์ ์ผ๋ก ํ๋ จ ๋ฐ์ดํฐ์ ์ ์์งํ์ฌ ๋ชจ๋ธ์ ํ๋ จ์ํฌ ์ ์๋ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ฉด ์ ์ฉํฉ๋๋ค.
-
๋ก์ง์คํฑ ํ๊ท
- ๋ถ์ํ๊ณ ์ ํ๋ ๋์๋ค์ด ๋ ์ง๋จ ํน์ ๊ทธ ์ด์์ ์ง๋จ์ผ๋ก ๋๋์ด์ง ๊ฒฝ์ฐ, ๊ฐ๋ณ ๊ด์ธก์น๋ค์ด ์ด๋ ์ง๋จ์ผ๋ก ๋ถ๋ฅ๋ ์ ์๋์ง ๋ถ์ํ๊ณ ์ด๋ฅผ ์์ธกํ๋ ๋ชจํ์ ๊ฐ๋ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํต๊ณ ๊ธฐ๋ฒ์ ๋๋ค.
๊ตฌ๋ถ | ์ผ๋ฐ์ ์ธ ํ๊ท ๋ถ์ | ๋ก์ง์คํฑ ํ๊ท ๋ถ์ |
---|---|---|
์ข ์ ๋ณ์ | ์ฐ์ํ ๋ณ์ | ์ด์ฐํ ๋ณ์ |
๋ชจํ ํ์ ๋ฐฉ๋ฒ | ์ต์์ ๊ณฑ๋ฒ | ์ต๋์ฐ๋๋ฒ |
๋ชจํ ๊ฒ์ | F-ํ ์คํธ, t-ํ ์คํธ |
|
-
๋ถ์ ์ฒ ์ฐจ
- ๊ฐ ์ง๋จ์ ์ํ๋ ํ๋ฅ ์ ์ถ์ ์น๋ฅผ ์์ธก
- ์ถ์ ์น๋ ์ด์ง ๋ถ๋ฅ์ ๊ฒฝ์ฐ ์ง๋จ 1์ ์ํ๋ ํ๋ฅ
$P(Y=1)$ ๋ก ๊ตฌํจ
- ์ถ์ ์น๋ ์ด์ง ๋ถ๋ฅ์ ๊ฒฝ์ฐ ์ง๋จ 1์ ์ํ๋ ํ๋ฅ
- ๋ถ๋ฅ ๊ธฐ์ค ๊ฐ(cut-off)์ ์ค์ ํ ํ ํน์ ๋ฒ์ฃผ๋ก ๋ถ๋ฅํจ
-
$P(Y=1) \geq 0.5$ -> ์ง๋จ 1๋ก ๋ถ๋ฅ -
$P(Y=1) < 0.5$ -> ์ง๋จ 0๋ก ๋ถ๋ฅ
-
- ๊ฐ ์ง๋จ์ ์ํ๋ ํ๋ฅ ์ ์ถ์ ์น๋ฅผ ์์ธก
์ ํ ํ๊ท
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- ์ ํ ํ๊ท๋ ์ฃผ์ด์ง ๋ฐ์ดํฐ์์ ๋ ๋ฆฝ ๋ณ์(x)์ ์ข ์ ๋ณ์(y)๊ฐ ์ ํ ๊ด๊ณ๋ฅผ ๊ฐ์ง ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉํฉ๋๋ค.
- ๋ณต์กํ ์ฐ์ฐ ๊ณผ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์ปดํจํ ์ฑ๋ฅ์ด ๋ฎ์ ํ๊ฒฝ(CPU/GPU ํน์ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋ฅ์ด ์ข์ง ์์ ๋)์์ ์ฌ์ฉํ๋ฉด ์ข์ต๋๋ค.
-
์ ํ ํ๊ท
- ์ข ์ ๋ณ์์ ๋ ๋ฆฝ ๋ณ์ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ค์ ํ๋๋ฐ ์ฌ์ฉ๋จ
- ๋
๋ฆฝ ๋ณ์ x๋ฅผ ์ฌ์ฉํ์ฌ ์ข
์ ๋ณ์ y์ ์์ง์์ ์์ธกํ๊ณ ์ค๋ช
ํ๋๋ฐ ์ฌ์ฉ๋จ
- ๋ ๋ฆฝ ๋ณ์ x๋ ํ๋์ผ ์๋ ์๊ณ , x1, x2, x3์ฒ๋ผ ์ฌ๋ฌ ๊ฐ์ผ ์๋ ์๋ค.
-
๋จ์ ์ ํ ํ๊ท
- ํ๋์ x ๊ฐ์ผ๋ก y ๊ฐ์ ์ค๋ช ํ ์ ์๋ค๋ฉด ๋จ์ ์ ํ ํ๊ท๋ผ๊ณ ํ๋ค.
-
๋ค์ค ์ ํ ํ๊ท
- x ๊ฐ์ด ์ฌ๋ฌ ๊ฐ๋ผ๋ฉด ๋ค์ค ์ ํ ํ๊ท๋ผ๊ณ ํ๋ค.
๋น์ง๋ ํ์ต
- ๋น์ง๋ ํ์ต
- ๋น์ง๋ ํ์ต์ ๋ ์ด๋ธ์ด ํ์ํ์ง ์์ผ๋ฉฐ ์ ๋ต์ด ์๋ ์ํ์์ ํ๋ จ์ํค๋ ๋ฐฉ์์ด๋ค.
- ๋น์ง๋ ํ์ต์๋
๊ตฐ์ง
๊ณผ์ฐจ์ ์ถ์
๊ฐ ์๋ค.
-
๊ตฐ์ง
- ๊ฐ ๋ฐ์ดํฐ์ ์ ์ฌ์ฑ(๊ฑฐ๋ฆฌ)๋ฅผ ์ธก์ ํ ํ ์ ์ฌ์ฑ์ด ๋์(๊ฑฐ๋ฆฌ๊ฐ ์งง์) ๋ฐ์ดํฐ๋ผ๋ฆฌ ์ง๋จ์ผ๋ก ๋ถ๋ฅํ๋ ๊ฒ
-
์ฐจ์ ์ถ์
- ์ฐจ์์ ๋ํ๋ด๋ ํน์ฑ์ ์ค์ฌ์ ๋ฐ์ดํฐ๋ฅผ ์ค์ด๋ ๋ฐฉ์
๊ตฌ๋ถ | ๊ตฐ์ง | ์ฐจ์ ์ถ์ |
---|---|---|
๋ชฉํ | ๋ฐ์ดํฐ ๊ทธ๋ฃนํ | ๋ฐ์ดํฐ ๊ฐ์ํ |
์ฃผ์ ์๊ณ ๋ฆฌ์ฆ | K-ํ๊ท ๊ตฐ์งํ(K-Means) | ์ฃผ์ฑ๋ถ ๋ถ์(PCA) |
์์ | ์ฌ์ฉ์์ ๊ด์ฌ์ฌ์ ๋ฐ๋ผ ๊ทธ๋ฃนํ ํ์ฌ ๋ง์ผํ ์ ํ์ฉ |
- ๋ฐ์ดํฐ ์์ถ - ์ค์ํ ์์ฑ ๋์ถ |
K-ํ๊ท ๊ตฐ์งํ
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๊ตฐ์งํ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ์ ์ด์ฉํ์ฌ ๋ช ๊ฐ์ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ฑํ ์ง ์ฌ์ ์ ์ ์ ์์ ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ค.
-
K-ํ๊ท ๊ตฐ์งํ
- ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์์์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ๋ ์๊ณ ๋ฆฌ์ฆ
-
ํ์ต ๊ณผ์
-
์ค์ฌ์ ์ ํ
- ๋๋คํ๊ฒ ์ด๊ธฐ ์ค์ฌ์ ์ ์ ํ
-
ํด๋ฌ์คํฐ ํ ๋น
- K๊ฐ์ ์ค์ฌ์ ๊ณผ ๊ฐ๊ฐ์ ๊ฐ๋ณ ๋ฐ์ดํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ธก์ ํ ํ, ๊ฐ์ฅ ๊ฐ๊น์ด ์ค์ฌ์ ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ ๋น, ์ด ๊ณผ์ ์ ํตํด ํด๋ฌ์คํฐ๊ฐ ๊ตฌ์ฑ
- ํด๋ฌ์คํฐ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ๋ ํน์ ๋ ์ด์์ ๋ฉ์ด๋ฆฌ๋ก ๋ฌถ๋ ๊ณผ์
- ํด๋ฌ์คํฐ๋ ๋ฉ์ด๋ฆฌ ์์ฒด๋ฅผ ์๋ฏธ
-
์๋ก์ด ์ค์ฌ์ ์ ํ
- ํด๋ฌ์คํฐ๋ง๋ค ์๋ก์ด ์ค์ฌ์ ์ ๊ณ์ฐ
-
๋ฒ์ ํ์ธ
- ์ ํ๋ ์ค์ฌ์ ์ ๋ ์ด์์ ๋ณํ๊ฐ ์๋ค๋ฉด ์งํ์ ๋ฉ์ถค
- ๋ง์ฝ ๊ณ์ ๋ณํ๊ฐ ์๋ค๋ฉด ํด๋ฌ์คํฐ ํ ๋น ํ ์๋ก์ด ์ค์ฌ์ ์ ์ ํํ๋ ๊ณผ์ ์ ๋ฐ๋ณต
-
-
๊ฑฐ๋ฆฌ ์ ๊ณฑ์ ํฉ
-
$x, y$ ๋ ๋ฐ์ดํฐ์ ์ฐจ๋ฅผ ๊ตฌํด์ ์ ๊ณฑํ ๊ฐ์ ๋ชจ๋ ๋ํ ํ ์ ์ฌ์ฑ์ ์ธก์ ํ๋๋ฐ ์ฌ์ฉ๋จ - ๊ฐ์ฅ ๊ฐ๊น์ด ํด๋ฌ์คํฐ ์ค์ฌ๊น์ง ๊ฑฐ๋ฆฌ๋ฅผ ์ ๊ณฑํ ๊ฐ์ ํฉ์ ๊ตฌํ ๋ ์ฌ์ฉ $$ \text{SSD} = \sum_{i=1}^{n} (x_i - y_i)^2 $$ $$ \left{ \begin{aligned} &n : \text{๋ฐ์ดํฐ ์งํฉ ๋ด ๋ฐ์ดํฐ ํฌ์ธํธ(์์)์ ์๋ฅผ ๋ํ๋} \ &x_i : \text{ํ๋์ ๋ฐ์ดํฐ ์งํฉ์์ i๋ฒ์งธ ์์ ๊ฐ์ ๋ํ๋} \ &y_i : \text{๋ค๋ฅธ ๋ฐ์ดํฐ ์งํฉ์์ i๋ฒ์งธ ์์ ๊ฐ์ ๋ํ๋} \end{aligned} \right} $$
-
$K$ ๊ฐ ์ฆ๊ฐํ๋ฉด ๊ฑฐ๋ฆฌ ์ ๊ณฑ์ ํฉ์ 0์ด ๋๋ ๊ฒฝํฅ์ด ์์-
$K$ ๋ฅผ ์ต๋๊ฐ$n$ (์ฌ๊ธฐ์์$n$ ์ ์ํ ์)์ผ๋ก ์ค์ ํ๋ฉด ๊ฐ ์ํ์ด ์์ฒด ํด๋ฌ์คํฐ๋ฅผ ํ์ฑํ์ฌ ๊ฑฐ๋ฆฌ ์ ๊ณฑ ํฉ์ด 0๊ณผ ๊ฐ์์ง๊ธฐ ๋๋ฌธ
-
-
๋ฐ๋ ๊ธฐ๋ฐ ๊ตฐ์ง ๋ถ์ (DBSCAN)
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๋ํ ๊ตฐ์งํ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- K-ํ๊ท ๊ตฐ์งํ์๋ ๋ค๋ฅด๊ฒ ์ฌ์ ์ ํด๋ฌ์คํฐ์ ์ซ์๋ฅผ ์์ง ๋ชปํ ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ค.
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ์ด์์น๊ฐ ๋ง์ด ํฌํจ๋์์ ๋ ์ฌ์ฉํ๋ฉด ์ข๋ค.
-
๋ฐ๋ ๊ธฐ๋ฐ ๊ตฐ์ง ๋ถ์ (DBSCAN)
- ์ผ์ ๋ฐ๋ ์ด์์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฐ์ง์ ํ์ฑํ๋ ๋ฐฉ๋ฒ
- ๋ ธ์ด์ฆ์ ์ํฅ์ ๋ฐ์ง ์๊ณ , K-ํ๊ท ๊ตฐ์งํ์ ๋นํด ์ฐ์ฐ๋์ ๋ง์ง๋ง K-ํ๊ท ๊ตฐ์งํ๊ฐ ์ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ ์ค๋ชฉํ๊ฑฐ๋ ๋ณผ๋กํ ๋ถ๋ถ์ ์ฒ๋ฆฌํ๋๋ฐ ์ ์ฉํจ
- ๋ฐ๋ ๊ธฐ๋ฐ ๊ตฐ์ง ์ ์ฐจ
์ฑ์ค๋ก ๋ด ์ ๊ฐ์ ํ์ธ ๋ฐ ์ค์ฌ์ ๊ฒฐ์
๊ตฐ์ง ํ์ฅ
1 ~ 2๋จ๊ณ ๋ฐ๋ณต
๋ ธ์ด์ฆ ์ ์
์ฃผ์ฑ๋ถ ๋ถ์ (PCA)
- ์ ์ฌ์ฉํ ๊น?
- ์ฃผ์ด์ง ๋ฐ์ดํฐ์ ๊ฐ์ํ
- ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
- ํ์ฌ ๋ฐ์ดํฐ์ ํน์ฑ(๋ณ์)์ด ๋๋ฌด ๋ง์ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ํ๋กฏ(plot)์ ์๊ฐํํด์ ์ดํด๋ณด๋ ๊ฒ์ด ์ด๋ ต๋ค.
- ํน์ฑ p๊ฐ๋ฅผ ๋์ธ ๊ฐ ์ ๋๋ก ์์ถํด์ ํ ์ดํฐ๋ฅผ ์๊ฐํํ์ฌ ์ดํด๋ณด๊ณ ์ถ์ ๋ ์ ์ฉํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
-
PCA (Principal Component Analysis)
- ๊ณ ์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฐจ์(์ฐจ์ ์ถ์) ๋ฐ์ดํฐ๋ก ์ถ์์ํค๋ ์๊ณ ๋ฆฌ์ฆ
- ์ฐจ์ ์ถ์ ๋ฐฉ๋ฒ
๋ฐ์ดํฐ๋ค์ ๋ถํฌ ํน์ฑ์ ์ ์ค๋ช ํ๋ ๋ฒกํฐ๋ฅผ ๋ ๊ฐ ์ ํ
๋ฒกํฐ ๋ ๊ฐ๋ฅผ ์ํ ์ ์ ํ ๊ฐ์ค์น๋ฅผ ์ฐพ์ ๋๊น์ง ํ์ต์ ์งํ
- pandas
- DataFrame
- torch17 ~ torch19
-
๋ฅ๋ฌ๋
- ํผ์
ํธ๋ก
- ์ธ๊ณต ์ ๊ฒฝ๋ง์์ ์ด์ฉํ๋ ๊ตฌ์กฐ(์ ๋ ฅ์ธต, ์ถ๋ ฅ์ธต, ๊ฐ์ค์น๋ก ๊ตฌ์ฑ๋ ๊ตฌ์กฐ)๋ก ์ด๋ฃจ์ด์ง ์ ํ ๋ถ๋ฅ๊ธฐ
- ๋ค์์ ์ ํธ(ํ๋ฆ์ด ์๋)๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ํ๋์ ์ ํธ๋ฅผ ์ถ๋ ฅ, ์ด ์ ํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ 'ํ๋ฅธ๋ค/์ ํ๋ฅธ๋ค(1 or 0)'๋ ์ ๋ณด๋ฅผ ์์ผ๋ก ์ ๋ฌํ๋ ์๋ฆฌ์ด๋ค.
๊ตฌ๋ถ ๊ตฌ์ฑ ์์ ์ค๋ช ์ธต ์ ๋ ฅ์ธต (input layer) ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค์ด๋ ์ธต ์ธต ์๋์ธต (hidden layer) ๋ชจ๋ ์ ๋ ฅ ๋ ธ๋๋ถํฐ ์ ๋ ฅ ๊ฐ์ ๋ฐ์ ๊ฐ์คํฉ์ ๊ณ์ฐํ๊ณ ,
์ด ๊ฐ์ ํ์ฑํ ํจ์์ ์ ์ฉํ์ฌ ์ถ๋ ฅ์ธต์ ์ ๋ฌํ๋ ์ธต์ธต ์ถ๋ ฅ์ธต (output layer) ์ ๊ฒฝ๋ง์ ์ต์ข ๊ฒฐ๊ด๊ฐ์ด ํฌํจ๋ ์ธต ๊ฐ์ค์น (weight) ๊ฐ์ค์น (weight) ๋ ธ๋์ ๋ ธ๋ ๊ฐ ์ฐ๊ฒฐ ๊ฐ๋ ๋ฐ์ด์ด์ค (bias) ๋ฐ์ด์ด์ค (bias) ๊ฐ์คํฉ์ ๋ํด ์ฃผ๋ ์์๋ก, ํ๋์ ๋ด๋ฐ์์
ํ์ฑํ ํจ์๋ฅผ ๊ฑฐ์ณ ์ต์ข ์ ์ผ๋ก ์ถ๋ ฅ๋๋ ๊ฐ์
์กฐ์ ํ๋ ์ญํ ์ ํจ๊ฐ์คํฉ (weighted sum)
/ ์ ๋ฌํจ์๊ฐ์คํฉ (weighted sum)
/ ์ ๋ฌํจ์๊ฐ์ค์น์ ์ ํธ์ ๊ณฑ์ ํฉํ ๊ฒ ํจ์ ํ์ฑํ ํจ์ (activation function) ์ ํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ์ด๋ฅผ ์ ์ ํ ์ฒ๋ฆฌํ์ฌ ์ถ๋ ฅํด ์ฃผ๋ ํจ์ ํจ์ ์์ค ํจ์ (loss function) ๊ฐ์ค์น ํ์ต์ ์ํด ์ถ๋ ฅ ํจ์์ ๊ฒฐ๊ณผ์ ์ค์ ๊ฐ ๊ฐ์ ์ค์ฐจ๋ฅผ ์ธก์ ํ๋ ํจ์ - ํผ์
ํธ๋ก
- torch19 ~ torch20
-
์ ์ด ํ์ต
-
์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ํ๋ผ๋ฏธํฐ ํ์ต ์ ๋ฌด ์ง์
- ํฉ์ฑ๊ณฑ์ธต์ ์ฌ์ฉํ๋ ํ๋ผ๋ฏธํฐ์ ๋ํด์๋ ํ์ต์ ํ์ง ์๋๋ก ๊ณ ์
def set_parameter_requires_grad(model, feature_extracting = True): if feature_extracting: for param in model.parameters(): param.requires_grad = False set_parameter_requires_grad(resnet18)
- ์ญ์ ํ ์ค ํ๋ผ๋ฏธํฐ๋ค์ ๋ํ ๋ณํ๋ฅผ ๊ณ์ฐํ ํ์๊ฐ ์์
- ๋ชจ๋ธ์ ์ผ๋ถ๋ฅผ ์ ํ๊ณ ๋๋จธ์ง๋ฅผ ํ์ตํ๊ณ ์ ํ ๋ requires_grad = False๋ก ์ค์
- ๋ชจ๋ธ์ ์ผ๋ถ๋ ํฉ์ฑ๊ณฑ์ธต(convolutional layer)๊ฐ ํ๋ง(pooling)์ธต์ ์๋ฏธ
-
-
ํ ์ ํจ์ ๋น๊ต
๊ตฌ๋ถ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ฐ ๊ทธ๋ํ ์์ฃผ ์ ๋ฌด tensor.clone() ์๋กญ๊ฒ ํ ๋น ๊ณ์ฐ ๊ทธ๋ํ์ ๊ณ์ ์์ฃผ tensor.datach() ๊ณต์ ํด์ ์ฌ์ฉ ๊ณ์ฐ ๊ทธ๋ํ์ ์์ฃผํ์ง ์์ tensor.clone().detach() ์๋กญ๊ฒ ํ ๋น ๊ณ์ฐ ๊ทธ๋ํ์ ์์ฃผํ์ง ์์ -
add_subplot
- matplotlib ๋ผ์ด๋ธ๋ฌ๋์ ์๋ ํจ์์ค ํ๋๋ก ํ ํ๋ฉด์ ์ฌ๋ฌ ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ด๊ธฐ ์ํด ์ฌ์ฉ
- torch21 ~ torch22
-
os.path.join
- ๊ฒฝ๋ก(ํจ์ค)๋ช ์กฐ์์ ๊ดํ ์ฒ๋ฆฌ๋ฅผ ๋ชจ์๋ ๋ชจ๋๋ก์จ ๊ตฌํ๋์ด ์๋ ํจ์์ ํ๋
- ์ธ์์ ์ ๋ฌ๋ 2๊ฐ์ ๋ฌธ์์ด์ ๊ฒฐํฉํ์ฌ, 1๊ฐ์ ๊ฒฝ๋ก๋ก ํ ์ ์์
-
transform class
- ์ด๋ฏธ์ง์ ๋ฐ์ดํฐ์ ์ ์ ์ฒ๋ฆฌ ํด์ฃผ๋ ํด๋์ค
class ImageTransform(): def __init__(self, resize, mean, std): self.data_transfrom = { "train" : transforms.Compose([ transforms.RandomResizedCrop(resize, scale=(0.5, 1.0)), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize(mean, std) ]), "val" : transforms.Compose([ transforms.Resize(256), transforms.CenterCrop(resize), transforms.ToTensor(), transforms.Normalize(mean, std) ]) } def __call__(self, img, phase): return self.data_transfrom[phase](img)
-
tqdm
- ์ด๋ค ์์ ์ ์ํ์ค ์ผ ๋ ์ด๋๊น์ง ์คํ๋์๊ณ ์ผ๋ง๋ ๋จ์๋์ง ๋ฑ์ ์งํ๋ฅ ์ ํ์ธํ ๋ ์ฌ์ฉ
- ๋ฐ๋ณต๋ฌธ์์ ํ๋ก์ธ์ค๋ฐ๋ฅผ ํตํด ์งํ๋ฅ ๊ณผ ๋จ์ ์๊ฐ์ ์๋ ค์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
-
torch.summary
- ํ
์ํ๋ก์
model.summary()
์ ๊ฐ์ด ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ ์์ฝ์ ํ์ธํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ๋ชจ๋ธ์ ๊ตฌ์กฐ๋์ ๋ํ
์์ฝ
,ํ๋ผ๋ฏธํฐ์ ๊ฐ์
,๋ฉ๋ชจ๋ฆฌ
๋ฑ ํ์ธ ๊ฐ๋ฅ
- ํ
์ํ๋ก์
-
ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง
LeNet-5
- ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง์ด๋ผ๋ ๊ฐ๋ ์ ์ต์ด๋ก ์ ๋ฅด์ฟค์ด ๊ฐ๋ฐํ ๊ตฌ์กฐ
- ํฉ์ฑ๊ณฑ๊ณผ ๋ค์ด ์ํ๋ง(ํน์ ํ๋ง)์ ๋ฐ๋ณต์ ์ผ๋ก ๊ฑฐ์น๋ฉด์ ๋ง์ง๋ง์ ์์ ์ฐ๊ฒฐ์ธต์์ ๋ถ๋ฅ๋ฅผ ์ํ
23.09.13
- flaskbook/apps/minimalapp
-
ํ์ด์ฌ ์น ํ๋ ์์ํฌ
-
์ฅ๊ณ (django)
- ํน์ง
- ํ์ด์ฌ ์น ํ๋ ์์ํฌ ์ค์์๋ ๊ฐ์ฅ ์ ๋ช ํจ
- ์ค๊ท๋ชจ ์ด์ ์น์ ๊ตฌ์ถ์์ ์์ฃผ ์ฌ์ฉ
- ๊ฐ๋ฐ์ ํ์ํ ๋ง์ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ด ์์ด ํ์คํ ํ๋ ์์ํฌ๋ก ๋ถ๋ฆผ
- Django REST Framework(DRF)๋ฅผ ์ถ๊ฐ ์ค์นํจ์ผ๋ก์ ์น ์ฑ๋ฟ๋ง ์๋ REST API๋ฅผ ๊ฐ๋จํ ๋ง๋ค ์ ์์
- ํน์ง
-
ํ๋ผ์คํฌ (flask)
- ํน์ง
- ๋ง์ดํฌ๋ก ์น ํ๋ ์์ํฌ์ด๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ง ์๋ ๋ฑ ์ต์ํ์ ๊ธฐ๋ฅ๋ง ์ ๊ณต
- ์ต์ํ์ ๊ท์ฝ๋ง ์์ด ์ฑ ๊ตฌ์ฑ ์์ ๋กญ๊ฒ ๊ฒฐ์ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ ๋ฑ ํ์ฅ ๊ธฐ๋ฅ์ ๋ง์ด ์ง์
- ํน์ง
-
๋ณดํ (bottle)
- ํน์ง
- ์น ์ฑ์ ๋ง๋ค๊ธฐ ์ํ ํ๋ ์์ํฌ ์ค์๋ ๊ฐ์ฅ ๋จ์ํจ
- bottle.py๋ผ๋ ํ๋์ ํ์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด์์
- ํ์ด์ฌ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ธ์ ์์กด ๊ด๊ณ ์์
- ๋ง์ดํฌ๋ก ์น ํ๋ ์์ํฌ ์ค ํ๋๋ก ํ๋ผ์คํฌ๋ณด๋ค ๋จ์ํ๊ณ ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์
- ํน์ง
-
FastAPI
- ํน์ง
- ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์ฉ์ดํ๋๋ก ๋ง๋ค์ด์ง ํ์ด์ฌ ์น ํ๋ ์์ํฌ
- ์์ฒญ์ ์ฒ๋ฆฌํ๋ ์๋ ๋งค์ฐ ๋น ๋ฆ
- ํน์ง
ํ๋ ์์ํฌ ๊ณต์ ์ฌ์ดํธ ๋ผ์ด์ ์ค ์ด๊ธฐ ๊ฐ๋ฐ์ ์ต์ด ๋ฆด๋ฆฌ์ค ํ ํ๋ฆฟ ์์ง O/R ๋งคํผ ์ฅ๊ณ www.djangoproject.com BSD License Adrian
Holovaty,
Simon Willison2005๋ Django
TemplateDjango
O/R ๋งคํผํ๋ผ์คํฌ palletsproject.com/p/flask BSD License Armin
Ronacher2010๋ Jinja2 ์์ ๋ณดํ bottlepy.org/docs/dev MIT License Marcel
HEllkamp2009๋ Simple
Template
Engine์์ FastAPI fastapi.tiangolo.com MIT License Sebastian
Ramirez2018๋ Jinja2 ์์ -
-
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ ๋ฐ ๋ง์ด๊ทธ๋ ์ด์
-
flask db init
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๊ธฐํํ๋ ๋ช ๋ น
(venv) $ flask db init
- ๋ช ๋ น์ ์คํํ ํด๋ ๋ฐ๋ก ์๋ migraions ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋จ
-
tip
- migrations ๋๋ ํฐ๋ฆฌ์ ์์น๋ฅผ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด -d ์ต์ ์ ํตํด ๋๋ ํฐ๋ฆฌ๋ฅผ ์ง์
(venv) $ flask db init -d apps/migrations
-
flask db migrate
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ์ ์์ฑํ๋ ๋ช ๋ น
(venv) $ flask db migrate
- ๋ชจ๋ธ ์ ์๋ฅผ ๋ฐํ์ผ๋ก migrations/versions ์๋์ ํ์ด์ฌ ํ์ผ๋ก ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฉํ๊ธฐ ์ ์ ๋ณด๊ฐ ์์ฑ๋จ
-
flask db upgrade
- ๋ง์ด๊ทธ๋ ์ด์ ์ ๋ณด๋ฅผ ์ค์ ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ๊ธฐ ์ํ ๋ช ๋ น
(venv) $ flask db upgrade
- users ํ ์ด๋ธ์ด ์์ฑ๋จ
-
- python-dotenv
- ํ๊ฒฝ ๋ณ์๋ฅผ .env ํ์ผ๋ก๋ถํฐ ์ฝ์ด ๋ค์
- email-validator
- ์ด๋ฉ์ผ ์ฃผ์ ํ์์ ์ฒดํฌ
- flask-debugtoolbar
- ํ๋ผ์คํฌ ์ฑ ๊ฐ๋ฐ ๋ณด์กฐ ๋๊ตฌ
- flask-mail
- ์ด๋ฉ์ผ ์ก์
- flaskbook/apps/crud
-
flask-sqlalchemy
- ํ๋ผ์คํฌ์์ SQLAlchemy๋ฅผ ์ด์ฉํ๋ ํ์ฅ
-
flask-migrate
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง์ด๊ทธ๋ ์ดํธํ๋ ํ์ฅ
- migrate - ์ฎ๊ธฐ๋ค / ์ด๋ํ๋ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง์ด๊ทธ๋ ์ดํธํ๋ ํ์ฅ
-
flask-wtf
- ํ๋ผ์คํฌ์์
์ ํจ์ฑ ๊ฒ์ฆ
์ด๋CSRF
์ ๋์ฒํ๊ธฐ ์ํ ํผ์ ์์ฑํ๋ ํ์ฅ
์ ํจ์ฑ ๊ฒ์ฆ
- ๊ตฌ์ฒด์ ์ธ ์๋๋ฅผ ๊ฐ์ง ์ฌ์ฉ(๋ชฉ์ )์ ์ํ์ฌ ํน์ ์๊ตฌ์ฌํญ์ด ์ถฉ์กฑ๋์๋ค๋ ๊ฐ๊ด์ ์ธ ์ฆ๊ฑฐ๋ฅผ ์ ๊ณตํ๊ณ ์คํ์ ์ํด ํ์ธํ๋ ๊ณผ์
CSRF (Cross Site Request Forgery)
- ์น ์ดํ๋ฆฌ์ผ์ด์ ์ทจ์ฝ์ ์ค ํ๋๋ก ์ธํฐ๋ท ์ฌ์ฉ์(ํฌ์์)๊ฐ ์์ ์ ์์ง์๋ ๋ฌด๊ดํ๊ฒ ๊ณต๊ฒฉ์๊ฐ ์๋ํ ํ์(์์ , ์ญ์ , ๋ฑ๋ก ๋ฑ)๋ฅผ ํน์ ์น์ฌ์ดํธ์ ์์ฒญํ๊ฒ ๋ง๋๋ ๊ณต๊ฒฉ
- ํ๋ผ์คํฌ์์
- flaskbook/apps/auth | flaskbook/apps/detector | flaskbook/app/static
-
flask-login
- Flask ํ๋ ์์ํฌ๋ก ๊ฐ๋ฐํ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
UserMixin
ํ๋กํผํฐ/๋ฉ์๋ ์ค๋ช is_authenticated ๋ก๊ทธ์ธ ์๋ true๋ฅผ ๋ฐํํ๊ณ ๋ฏธ๋ก๊ทธ์ธ์๋ false๋ฅผ ๋ฐํํ๋ ํจ์ is_active ์ฌ์ฉ์ ๊ณ์ ์ด ํ์ฑ ์ํ์ผ ๋๋ true๋ฅผ ๋ฐํํ๊ณ ๋นํ์ฑ ์ํ์ผ ๋๋ false๋ฅผ ๋ฐํํ๋ ํจ์ is_anonymous ๋ก๊ทธ์ธ ์ฌ์ฉ์๋ false๋ฅผ ๋ฐํํ๊ณ ์ต๋ช ์ฌ์ฉ์๋ true๋ฅผ ๋ฐํํ๋ ํจ์ get_id ๋ก๊ทธ์ธ ์ฌ์ฉ์์ ์ ๋ํฌ ID๋ฅผ ์ทจ๋ํ๋ ํ๋กํผํฐ @login_required
- ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ๋ถ์ด๋ฉด ํด๋น์ ์๋ํฌ์ธํธ๋ ๋ก๊ทธ์ธํ์ง ์์ผ๋ฉด ์ ๊ทผ ๋ถ๊ฐ
-
SQLAlchemy
-
๋ฆด๋ ์ด์ ์ญ
์ต์ ๋ช ์ค๋ช backref ๋ค๋ฅธ ๋ชจ๋ธ์ ๋ํด์ ์๋ฐฉํฅ์ผ๋ก ๋ฆด๋ ์ด์ ํจ lazy ๊ด๋ จํ ๊ฐ์ฒด๋ฅผ ์ง์ฐํ์ฌ ์ทจ๋ํ๋ ์ต์
๋ํฐํธ๋ select์ด๋ฉฐ ๋ค๋ฅธ ์ต์ ์๋ immediate, joined, subquery,
noload, dynamic ๋ฑ์ด ์์order_by ์ ๋ ฌํ ์ปฌ๋ผ์ ์ง์ ํจ
-
- flaskbook/apps | flaskbook/apps/detector
- detector/index.html
<div class="dt-image-username">{{ user_image.User.username }}</div>
<div class="dt-image-username">{{ user_image.UserImage.user_image_name }}</div>
์์ ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์๋ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๋ ค๋ฉด ๋ถ๋ฌ์ฌ ์ ๋ณด ์์ ํด๋์ค ์ด๋ฆ์ ๋ถ์ด์ผ ํจ
23.09.20
- torch23 ~ torch26
-
์๊ณ์ด ๋ถ์
- ๋ ๋ฆฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ข ์ ๋ณ์๋ฅผ ์์ธกํ๋ ์ผ๋ฐ์ ์ธ ๋จธ์ ๋ฌ๋์์ ์๊ฐ์ ๋ ๋ฆฝ ๋ณ์๋ก ์ฌ์ฉํจ
-
ARIMA ๋ชจ๋ธ (AutoRegressive Integrated Moving Average)
- ์๊ธฐ ํ๊ท์ ์ด๋ ํ๊ท ์ ๋ ๋ค ๊ณ ๋ คํ๋ ๋ชจํ
- ARMA์ ๋ฌ๋ฆฌ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ์ ์ ํ ๊ด๊ณ๋ฟ๋ง ์๋๋ผ ์ถ์ธ๊น์ง ๊ณ ๋ คํ ๋ชจ๋ธ
-
์ ์ฐจ
- ARIMA() ํจ์ ํธ์ถํ์ฌ ์ฌ์ฉ, ARIMA(p, d, q) ํจ์์์ ์ฐ๋ ํ๋ผ๋ฏธํฐ๋ ๋ค์๊ณผ ๊ฐ์
- p: ์๊ธฐ ํ๊ท ์ฐจ์
- d: ์ฐจ๋ถ ์ฐจ์
- q: ์ด๋ ํ๊ท ์ฐจ์
- fit() ๋ฉ์๋ ํธ์ถ ๋ชจ๋ธ์ ๋ฐ์ดํฐ ์ ์ฉ ๋ฐ ํ๋ จ
- predict() ๋ฉ์ํธ ํธ์ถ ๋ฏธ๋ ์ถ์ธ ๋ฐ ๋ํฅ ์์ธก
- ARIMA() ํจ์ ํธ์ถํ์ฌ ์ฌ์ฉ, ARIMA(p, d, q) ํจ์์์ ์ฐ๋ ํ๋ผ๋ฏธํฐ๋ ๋ค์๊ณผ ๊ฐ์
์ํ ์ ๊ฒฝ๋ง (RNN | Recurrent Neural Network)
-
์๊ฐ์ ์ผ๋ก ์ฐ์์ฑ์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ค๊ณ ๊ณ ์๋ ์ธ๊ณต ์ ๊ฒฝ๋ง
- RNN์
Recurrent(๋ฐ๋ณต๋๋)
๋ ์ด์ ์๋์ธต์ด ํ์ฌ ์๋์ธต์ ์ ๋ ฅ์ด ๋๋ฉด์๋ฐ๋ณต๋๋ ์ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋๋ค
๋ ์๋ฏธ - ๊ธฐ์กด ๋คํธ์ํฌ์์ ์ฐจ์ด์ ์
๊ธฐ์ต(memory)
์ ๊ฐ๋๋ค๋ ๊ฒ์ด๋ค.
- RNN์
-
RNN์ ์ ์ ํ
-
nn.RNNCell
- SimpleRNN ๊ณ์ธต์ ๋์๋๋ RNN ์
-
nn.GRUCell
- GRU ๊ณ์ธต์ ๋์๋๋ GRU ์
-
nn.LSTMCell
- LSTM ๊ณ์ธต์ ๋์๋๋ LSTM ์
-
-
RNN ๊ณ์ฐ
-
์๋์ธต ๊ณ์ฐ
- ๊ณ์ฐ์ ์ํด
$x_t$ ์$h_t-1$ ์ด ํ์
์ฆ, (์ด์ ์๋์ธก * ์๋์ธต -> ์๋์ธต ๊ฐ์ค์น + ์ ๋ ฅ์ธต -> ์๋์ธต ๊ฐ์ค์น * (ํ์ฌ) ์ ๋ ฅ๊ฐ)์ผ๋ก ๊ณ์ฐ ํ ์ ์์ผ๋ฉฐ, RNN์์ ์๋์ธต์ ์ผ๋ฐ์ ์ผ๋กํ์ดํผ๋ณผ๋ฆญ ํ์ ํธ ํ์ฑํ ํจ์
๋ฅผ ์ฌ์ฉ
- ๊ณ์ฐ์ ์ํด
-
-
์ถ๋ ฅ์ธต ๊ณ์ฐ
- ์ฌ์ธต ์ ๊ฒฝ๋ง๊ณผ ๊ณ์ฐ ๋ฐฉ๋ฒ์ด ๋์ผ
์ฆ, (์๋์ธต -> ์ถ๋ ฅ์ธต ๊ฐ์ค์น * ํ์ฌ ์๋์ธต)์์ํํธ๋งฅ์ค ํจ์
๋ฅผ ์ ์ฉ
- ์ฌ์ธต ์ ๊ฒฝ๋ง๊ณผ ๊ณ์ฐ ๋ฐฉ๋ฒ์ด ๋์ผ
-
์ค์ฐจ (E)
- ์ฌ์ธต ์ ๊ฒฝ๋ง์์ ์ ๋ฐฉํฅ ํ์ต๊ณผ ๋ฌ๋ฆฌ ๊ฐ ๋จ๊ณ(
$t$ )๋ง๋ค ์ค์ฐจ๋ฅผ ์ธก์
์ฆ, ๊ฐ ๋จ๊ณ๋ง๋ค ์ค์ ๊ฐ($y_t$ )๊ณผ ์์ธก ๊ฐ($yฬโ$ )์ผ๋ก ์ค์ฐจ(ํ๊ท ์ ๊ณฑ ์ค์ฐจ ์ ์ฉ)๋ฅผ ์ด์ฉํ์ฌ ์ธก์
- ์ฌ์ธต ์ ๊ฒฝ๋ง์์ ์ ๋ฐฉํฅ ํ์ต๊ณผ ๋ฌ๋ฆฌ ๊ฐ ๋จ๊ณ(
-
์ญ์ ํ
-
BPTT(BackPropagation Through Time)
๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ ๋จ๊ณ๋ง๋ค ์ฒ์๋ถํฐ ๋๊น์ง ์ญ์ ํํจ- ์ค์ฐจ๋ ๊ฐ ๋จ๊ณ(
$t$ )๋ง๋ค ์ค์ฐจ๋ฅผ ์ธก์ ํ๊ณ ์ด์ ๋จ๊ณ๋ก ์ ๋ฌ, ์ด๊ฒ์BPTT
๋ผ๊ณ ํจ
- ์ค์ฐจ๋ ๊ฐ ๋จ๊ณ(
- ์ฆ, ๊ตฌํ ์ค์ฐจ๋ฅผ ์ด์ฉํ์ฌ
$W_{{x}h}, W_{{h}h}, W_{{h}y}$ ๋ฐ ๋ฐ์ด์ด์ค(bias)๋ฅผ ์ ๋ฐ์ดํธํจ
์ด๋ BPTT๋ ์ค์ฐจ๊ฐ ๋ฉ๋ฆฌ ์ ํ๋ ๋(์ผ์ชฝ์ผ๋ก ์ ํ) ๊ณ์ฐ๋์ด ๋ง์์ง๊ณ์ ํ๋๋ ์์ด ์ ์ฐจ ์ ์ด์ง๋ ๋ฌธ์ ์ (๊ธฐ์ธ๊ธฐ ์๋ฉธ ๋ฌธ์ )
์ด ๋ฐ์ํจ - ๊ธฐ์ธ๊ธฐ ์๋ฉธ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์ค์ฐจ๋ฅผ ๋ช ๋จ๊ณ๊น์ง๋ง ์ ํ์ํค๋
์๋ต๋-BPTT(truncated BPTT)
๋ฅผ ์ฌ์ฉํ ์๋ ์๊ณ , ๊ทผ๋ณธ์ ์ผ๋ก๋ LSTM ๋ฐ GRU๋ฅผ ๋ง์ด ์ฌ์ฉ ๊ณ์ฐ๋์ ์ค์ด๊ธฐ ์ํด ํ์ฌ ๋จ๊ณ์์ ์ผ์ ์์ ๊น์ง๋ง(๋ณดํต 5๋จ๊ณ ์ด์ ๊น์ง๋ง) ์ค๋ฅ๋ฅผ ์ญ์ ํํจ, ์ด๊ฒ์์๋ต๋-BPTT
๋ผ๊ณ ํจ
-
23.09.22
- torch26 ~ torch31
-
LSTM
-
์์ ํ
- ๊ธฐ์ธ๊ธฐ ์๋ฉธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๊ฐ, ์ ๋ ฅ, ์ถ๋ ฅ ๊ฒ์ดํธ๋ผ๋ ์๋ก์ด ์์๋ฅผ ์๋์ธต์ ๊ฐ ๋ด๋ฐ์ ์ถ๊ฐํจ
-
๋ง๊ฐ ๊ฒ์ดํธ
- ๊ณผ๊ฑฐ ์ ๋ณด๋ฅผ ์ด๋ ์ ๋ ๊ธฐ์ตํ ์ง ๊ฒฐ์
- ๊ณผ๊ฑฐ ์ ๋ณด์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์๊ทธ๋ชจ์ด๋๋ฅผ ์ทจํ ํ ๊ทธ ๊ฐ์ ๊ณผ๊ฑฐ ์ ๋ณด์ ๊ณฑํจ
- ์๊ทธ๋ชจ์ด๋์ ์ถ๋ ฅ์ด 0์ด๋ฉด ๊ณผ๊ฑฐ ์ ๋ณด๋ฅผ ๋ฒ๋ฆฌ๊ณ , 1์ด๋ฉด ๊ณผ๊ฑฐ ์ ๋ณด๋ ์จ์ ํ ๋ณด์กด
$$f_t = ฯ(W_f * [h_{t-1}, x_t])$$ $$c_t = f_t \cdot c_{t-1}$$
-
์ ๋ ฅ ๊ฒ์ดํธ
- ๊ณผ๊ฑฐ ์ ๋ณด์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์๊ทธ๋ชจ์ด๋์ ํ์ดํผ๋ณผ๋ฆญ ํ์ ํธ ํจ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์ ๋ณด์ ๋ํ ๋ณด์กด๋์ ๊ฒฐ์
- ํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์๋ก์ด ์ ๋ณด๋ฅผ ๋ฐ์ํ ์ง ๊ฒฐ์ ํ๋ ์ญํ ์ ํจ
$$i_t = ฯ(W_i * [h_{t-1}, x_t])$$ $$\tilde{c}t = tanh(w_c[h{t-1}, x_t])$$$$c_t = c_{t-1} + i_t * \tilde{c}_t$$
-
์
- ๊ฐ ๋จ๊ณ์ ๋ํ ์๋ ๋ ธ๋(hidden node)๋ฅผ ๋ฉ๋ชจ๋ฆฌ ์ ์ด๋ผ ํจ
-
์ดํฉ(sum)
์ ์ฌ์ฉํ์ฌ ์ ๊ฐ์ ๋ฐ์, ์ด๊ฒ์ผ๋ก ๊ธฐ์ธ๊ธฐ ์๋ฉด ๋ฌธ์ ํด๊ฒฐ -
์ ์ ๋ฐ์ดํธ
- ๋ง๊ฐ ๊ฒ์ดํธ์ ์
๋ ฅ ๊ฒ์ดํธ์ ์ด์ ๋จ๊ณ ์
์ ๋ณด๋ฅผ ๊ณ์ฐ, ํ์ฌ ๋จ๊ณ์ ์
์ํ๋ฅผ ์
๋ฐ์ดํธ
$$i_t = ฯ(W_i * [h_{t-1}, x_t])$$ $$c_t = c_{t-1} + i_t * \tilde{c}_t$$
- ๋ง๊ฐ ๊ฒ์ดํธ์ ์
๋ ฅ ๊ฒ์ดํธ์ ์ด์ ๋จ๊ณ ์
์ ๋ณด๋ฅผ ๊ณ์ฐ, ํ์ฌ ๋จ๊ณ์ ์
์ํ๋ฅผ ์
๋ฐ์ดํธ
-
์ถ๋ ฅ ๊ฒ์ดํธ
- ๊ณผ๊ฑฐ ์ ๋ณด์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ด๋ฐ์ ์ถ๋ ฅ์ ๊ฒฐ์
- ์ด์ ์๋ ์ํ(hidden state)์
$t$ ๋ฒ์งธ ์ ๋ ฅ์ ๊ณ ๋ คํด์ ๋ค์ ์๋ ์ํ๋ฅผ ๊ณ์ฐ, ๊ทธ๋ฆฌ๊ณ LSTM์์๋ ์ด ์๋ ์ํ๊ฐ ๊ทธ ์์ ์์์ ์ถ๋ ฅ์ด ๋จ$$o_t = ฯ(W_o ยท [h_{t-1}, x_t])$$ $$h_t = o_t * tanh(c_{t-1})$$
-
์ญ์ ํ
- LSTM์ ์
์ ํตํด ์ญ์ ํ๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์
์ค๋จ์๋ ๊ธฐ์ธ๊ธฐ(uninterrupted gradient flow)
๋ผ๊ณ ๋ ํจ - ์ต์ข ์ค์ฐจ๋ ๋ชจ๋ ๋ ธ๋์ ์ ํ, ์ด๋ ์ ์ ํตํด ์ค๋จ ์์ด ์ ํ
- LSTM์ ์
์ ํตํด ์ญ์ ํ๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์
-
-
GRU
- LSTM์์ ์ฌ์ฉํ๋ ๋ง๊ฐ ๊ฒ์ดํธ์ ์ ๋ ฅ ๊ฒ์ดํธ๋ฅผ ํ๋๋ก ํฉ์น ๊ฒ
- ๋ณ๋์ ์ ๋ฐ์ดํธ ๊ฒ์ดํธ๋ก ๊ตฌ์ฑ
-
๋ง๊ฐ ๊ฒ์ดํธ
- ๊ณผ๊ฑฐ ์ ๋ณด๋ฅผ ์ ๋นํ ์ด๊ธฐํ ์ํค๋ ค๋ ๋ชฉ์ ์ผ๋ก ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ์ถ๋ ฅ์ผ๋ก ์ด์น, (0, 1) ๊ฐ์ ์ด์ ์๋์ธต์ ๊ณฑํจ
- ์ด์ ์์ ์ ์๋์ธต ๊ฐ์ ํ์์ ์ ์ ๋ณด์ ๋ํ ๊ฐ์ค์น๋ฅผ ๊ณฑํ ๊ฒ
$$r_t = ฯ(W_r * [h_{t-1},x_t])$$
-
์ ๋ฐ์ดํธ ๊ฒ์ดํธ
- ๊ณผ๊ฑฐ์ ํ์ฌ ์ ๋ณด์ ์ต์ ํ ๋น์จ์ ๊ฒฐ์ ํ๋ ์ญํ
- ์๊ทธ๋ชจ์ด๋๋ก ์ถ๋ ฅ๋ ๊ฒฐ๊ณผ(
$z_t$ )๋ ํ์์ ์ ์ ๋ณด๋์ ๊ฒฐ์ ํ๊ณ 1์์ ๋บ ๊ฐ($1-z_t$ )์ ์ง์ ์์ ์ ์๋์ธต ์ ๋ณด์ ๊ณฑํจ$$z_t = ฯ(W_z * [h_{t-1},x_t])$$
-
ํ๋ณด๊ตฐ
- ํ์์ ์ ์ ๋ณด์ ๋ํ ํ๋ณด๊ตฐ์ ๊ณ์ฐ
- ๊ณผ๊ฑฐ ์๋์ธต์ ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ์ด์ฉํ์ง ์๊ณ ๋ง๊ฐ ๊ฒ์ดํธ์ ๊ฒฐ๊ณผ๋ฅผ ์ด์ฉํ์ฌ ํ๋ณด๊ตฐ์ ๊ณ์ฐ $$\tilde{h}t = tanh(W * [r_t * h{t-1}, x_t])$$
-
์๋์ธต ๊ณ์ฐ
- ๋ง์ง๋ง์ผ๋ก ์ ๋ฐ์ดํธ ๊ฒ์ดํธ ๊ฒฐ๊ณผ์ ํ๋ณด๊ตฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฐํฉํ์ฌ ํ์์ ์ ์๋์ธต์ ๊ณ์ฐ
- ์๊ทธ๋ชจ์ด๋ ํจ์์ ๊ฒฐ๊ณผ๋ ํ์์ ์์ ๊ฒฐ๊ณผ์ ๋ํ ์ ๋ณด๋์ ๊ฒฐ์ , 1-์๊ทธ๋ชจ์ด๋ ํจ์์ ๊ฒฐ๊ณผ๋ ๊ณผ๊ฑฐ์ ์ ๋ณด๋์ ๊ฒฐ์ ํจ
$$h_t = (1 - z_t) * h_{t-1} + z_t * \tilde{h}_t$$
-
์๋ฐฉํฅ RNN / ์๋ฐฉํฅ LSTM
- ํ๋์ ์ถ๋ ฅ ๊ฐ์ ์์ธกํ๋ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ ๋ ๊ฐ๋ฅผ ์ฌ์ฉ
- ์ฒซ ๋ฒ์งธ ๋ฉ๋ชจ๋ฆฌ ์ ์ ์ด์ ์์ ์ ์๋ ์ํ(forward state)๋ฅผ ์ ๋ฌ๋ฐ์ ํ์ฌ์ ์๋ ์ํ๋ฅผ ๊ณ์ฐ
- ๋ ๋ฒ์งธ ๋ฉ๋ชจ๋ฆฌ ์ ์ ๋ค์ ์์ ์ ์๋ ์ํ(backward state)๋ฅผ ์ ๋ฌ๋ฐ์ ํ์ฌ์ ์๋ ์ํ๋ฅผ ๊ณ์ฐ
- ๊ฐ ๋ ๊ฐ๋ฅผ ๋ชจ๋ ์ถ๋ ฅ์ธต์์ ์ถ๋ ฅ ๊ฐ์ ์์ธกํ๋ ๋ฐ ์ฌ์ฉ
- torch31 ~ torch34
-
์ฑ๋ฅ ์ต์ ํ
์กฐ๊ธฐ ์ข ๋ฃ๋ฅผ ์ด์ฉํ ์ฑ๋ฅ ์ต์ ํ
- ์กฐ๊ธฐ ์ข
๋ฃ(early stopping)๋
๋ด๋ด ๋คํธ์ํฌ๊ฐ ๊ณผ์ ํฉ์ ํํผ
ํ๋ ๊ท์ ๊ธฐ๋ฒ - ํ๋ จ ๋ฐ์ดํฐ์ ๋ณ๋๋ก ๊ฒ์ฆ ๋ฐ์ดํฐ๋ฅผ ์ค๋น, ๋งค ์ํฌํฌ๋ง๋ค
๊ฒ์ฆ ๋ฐ์ดํฐ์ ๋ํ ์ค์ฐจ(validation loss)
๋ฅผ ์ธก์ ํ์ฌ ๋ชจ๋ธ์ ์ข ๋ฃ ์์ ์ ์ด - ๊ณผ์ ํฉ์ด ๋ฐ์ํ๊ธฐ ์ ๊น์ง
ํ์ต์ ๋ํ ์ค์ฐจ(training loss)
์๊ฒ์ฆ์ ๋ํ ์ค์ฐจ
๋ชจ๋ ๊ฐ์
ํ์ง๋ง, ๊ณผ์ ํฉ์ด ๋ฐ์ํ๋ฉดํ๋ จ ๋ฐ์ดํฐ์ ์ ๋ํ ์ค์ฐจ๋ ๊ฐ์
ํ๋ ๋ฐ๋ฉด๊ฒ์ฆ ๋ฐ์ดํฐ์ ์ ๋ํ ์ค์ฐจ๋ ์ฆ๊ฐ
, ๋ฐ๋ผ์ ์กฐ๊ธฐ ์ข ๋ฃ๋๊ฒ์ฆ ๋ฐ์ดํฐ์ ์ ๋ํ ์ค์ฐจ๊ฐ ์ฆ๊ฐํ๋ ์์ ์์ ํ์ต์ ์ข ๋ฃ
ํ๋๋ก ์กฐ์
- ์กฐ๊ธฐ ์ข
๋ฃ(early stopping)๋
-
์์ฐ์ด ์ฒ๋ฆฌ
-
์ฐ๋ฆฌ๊ฐ ์ผ์์ํ์์ ์ฌ์ฉํ๋
์ธ์ด ์๋ฏธ๋ฅผ ๋ถ์
ํ์ฌ์ปดํจํฐ๊ฐ ์ฒ๋ฆฌ
ํ ์ ์๋๋ก ํ๋ ๊ณผ์ -
์ธ๊ฐ ์ธ์ด์ ๋ํ ์ดํด๋ ํ์ํ๋ฉฐ, ์ธ์ด ์ข ๋ฅ๊ฐ ๋ค๋ฅด๊ณ ๊ทธ ํํ๊ฐ ๋ค์ํ๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค.
- ์์ด๋ ๋ช ํํ ๋์ด์ฐ๊ธฐ๊ฐ ์์ง๋ง, ์ค๊ตญ์ด๋ ๋์ด์ฐ๊ธฐ๊ฐ ์๊ธฐ์ ๋จ์ด ๋จ์์ ์๋ฒ ๋ฉ์ด ์ด๋ ค์
-
์์ฐ์ด ์ฒ๋ฆฌ ์ฉ์ด
๋ง๋ญ์น (corpus(์ฝํผ์ค))
- ์์ฐ์ด ์ฒ๋ฆฌ์์
๋ชจ๋ธ์ ํ์ต์ํค๊ธฐ ์ํ ๋ฐ์ดํฐ
- ์์ฐ์ด ์ฐ๊ตฌ๋ฅผ ์ํด
ํน์ ํ ๋ชฉ์ ์์ ํ๋ณธ์ ์ถ์ถํ ์งํฉ
- ์์ฐ์ด ์ฒ๋ฆฌ์์
ํ ํฐ (token)
- ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ฌธ์๋ ์์ ๋จ์๋ก ๋๋์ด์ผ ํ๋๋ฐ, ์ด๋
๋ฌธ์๋ฅผ ๋๋๋ ๋จ์
๊ฐ ํ ํฐ - ๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ๋๋๋ ์์
์
ํ ํฐ ์์ฑ(tokenizing)
์ด๋ผ๊ณ ํ๋ฉฐ, ๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ๋ถ๋ฆฌํ๋ ํจ์๋ฅผํ ํฐ ์์ฑ ํจ์
๋ผ๊ณ ํจ
- ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ฌธ์๋ ์์ ๋จ์๋ก ๋๋์ด์ผ ํ๋๋ฐ, ์ด๋
ํ ํฐํ (tokenization)
- ํ ์คํธ๋ฅผ ๋ฌธ์ฅ์ด๋ ๋จ์ด๋ก ๋ถ๋ฆฌํ๋ ๊ฒ
- ํ ํฐํ ๋จ๊ณ๋ฅผ ๋ง์น๋ฉด ํ
์คํธ๊ฐ
๋จ์ด ๋จ์๋ก ๋ถ๋ฆฌ
๋จ
๋ถ์ฉ์ด (stop words)
- ๋ฌธ์ฅ ๋ด์์ ๋ง์ด ๋ฑ์ฅํ๋ ๋จ์ด
๋ถ์๊ณผ ๊ด๊ณ์์ผ๋ฉฐ, ์์ฃผ ๋ฑ์ฅํ๋ ๋น๋
๋๋ฌธ์์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก
์ฌ์ ์ ์ ๊ฑฐ- ๋ถ์ฉ์ด ์๋ก
a
,the
,she
,he
๋ฑ์ด ์์
- ๋ถ์ฉ์ด ์๋ก
์ด๊ฐ ์ถ์ถ (stemming)
- ๋จ์ด๋ฅผ ๊ธฐ๋ณธ ํํ๋ก ๋ง๋๋ ์์
- ์๋ฅผ ๋ค์ด
consign
,consigned
,consigning
,consignment
๊ฐ ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋จ์ด์ธconsign
์ผ๋ก ํต์ผํ๋ ๊ฒ
- ์๋ฅผ ๋ค์ด
- ๋จ์ด๋ฅผ ๊ธฐ๋ณธ ํํ๋ก ๋ง๋๋ ์์
ํ์ฌ ํ๊น (part-of-speech tagging)
- ์ฃผ์ด์ง ๋ฌธ์ฅ์์ ํ์ฌ๋ฅผ ์๋ณํ๊ธฐ ์ํด์ ๋ถ์ฌ ์ฃผ๋ ํ๊ทธ(์๋ณ ์ ๋ณด)๋ฅผ ์๋ฏธ
-
์์ฐ์ด ์ฒ๋ฆฌ ๊ณผ์
- ์ธ๊ฐ ์ธ์ด์ธ
์์ฐ์ด๊ฐ ์ ๋ ฅ ํ ์คํธ
๋ก ๋ค์ด์ด- ์ธ๊ฐ ์ธ์ด๊ฐ ๋ค์ํ๋ฏ ์ฒ๋ฆฌ ๋ฐฉ์์ด ์กฐ๊ธ์ฉ ๋ค๋ฅด๋ฉฐ, ํ์ฌ๋ ์์ด์ ๋ํ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ๋ค์ด ์ ์๋ ค์ง
- ์
๋ ฅ๋
ํ ์คํธ์ ๋ํ ์ ์ฒ๋ฆฌ
๊ณผ์ - ์ ์ฒ๋ฆฌ๊ฐ ๋๋
๋จ์ด๋ค์ ์๋ฒ ๋ฉ
- ๋จ์ด๋ฅผ ๋ฒกํฐ๋ก ๋ณํํ๋ ๊ฒ
- ์ปดํจํฐ๊ฐ ์ดํด ๊ฐ๋ฅํ ๋ฐ์ดํฐ๊ฐ ์์ฑ๋์๊ธฐ์
๋ชจ๋ธ/๋ชจํ(ex)๊ฒฐ์ ํธ๋ฆฌ)
์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ์ ๋ํ ๋ถ๋ฅ ๋ฐ ์์ธก ์ํ- ๋ฐ์ดํฐ ์ ํ์ ๋ฐ๋ผ ๋ถ๋ฅ์ ์์ธก์ ๋ํ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง
- ์ธ๊ฐ ์ธ์ด์ธ
-
23.09.27
- torch37 ~ torch39
-
seq2seq (sequence to sequence)
- ์ ๋ ฅ ์ํ์ค(input sequence)์ ๋ํ ์ถ๋ ฅ ์ํ์ค(output sequence)๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ชจ๋ธ
- ํ์ฌ ํ๋ณ๊ณผ ๊ฐ์ ์ํ์ค ๋ ์ด๋ธ๋ง๊ณผ์ ์ฐจ์ด
- ์ํ์ค ๋ ์ด๋ธ๋ง์ด๋ ์
๋ ฅ ๋จ์ด๊ฐ
$x_1, x_2 ..., x_n$ ์ด๋ผ๋ฉด ์ถ๋ ฅ์$y_1, y_2 ..., y_n$์ด ๋๋ ํํ. ์ฆ, ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ํ ๋ฌธ์์ด(sequence)๊ฐ ๊ฐ์ - seq2seq๋ ํ๋ณ๋ณด๋ค ๋ฒ์ญ์ ์ด์ ์ ๋ ๋ชจ๋ธ, ๋ฒ์ญ์ ์
๋ ฅ ์ํ์ค์
$x_{1:n}$ ๊ณผ ์๋ฏธ๊ฐ ๋์ผํ ์ถ๋ ฅ ์ํ์ค$y_{1:m}$ ์ ๋ง๋๋ ๊ฒ์ด๋ฉฐ,$x_i, y_i$ ๊ฐ์ ๊ด๊ณ๋ ์ค์์น ์์
- ์ํ์ค ๋ ์ด๋ธ๋ง์ด๋ ์
๋ ฅ ๋จ์ด๊ฐ
-
์ธ์ฝ๋์ ๋์ฝ๋ ๋คํธ์ํฌ
์ฌ์ฉ -
์ ๋ ฅ ๋ฌธ์ฅ์ด ๊ธด ์ํ์ค์ผ ๊ฒฝ์ฐ ์ ํํ ์ฒ๋ฆฌ ์ด๋ ค์
(์ธ์ฝ๋์์ ์ฌ์ฉํ๋ RNN(LSTM, GRU)์๋ง์ง๋ง ์๋ ์ํ๋ง ๋์ฝ๋๋ก ์ ๋ฌ
๋๊ธฐ ๋๋ฌธ)
-
์ดํ ์ ๋ฉ์ปค๋์ฆ (attention mechanism)
- ์
๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ฅผ ๋์ผํ ๊ฐ์ค์น๋ก ์ทจ๊ธํ์ง ์๊ณ , ์ถ๋ ฅ ๋ฌธ์ฅ์์
ํน์ ์์น์ ๋์ํ๋ ์ ๋ ฅ ๋จ์ด๋ค์ ๋ ๋ง์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌ
ํ์ฌ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ธธ์ด๊ฐ ๋ค๋ฅธ ๋ชจ๋ธ์ด ๋์ฑ ์ ํํ๊ณ ์ ์ฐํ๊ฒ ์๋
ํ ์ ์๋๋ก ํจ -
๋ฑ์ฅ ์ด์
- ํ๋์ ๊ณ ์ ๋ ํฌ๊ธฐ์ ๋ฒกํฐ์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด๋ค ๋ณด๋ ์ ๋ณด์ ์์ค ๋ฐ์
- RNN์์ ๋ฐ์ํ ์ ์๋ ๊ธฐ์ธ๊ธฐ ์๋ฉธ(vanishing gradient) ๋ฌธ์ ๋ฐ์
- ์
๋ ฅ ๋ฌธ์ฅ์ ๋ชจ๋ ๋จ์ด๋ฅผ ๋์ผํ ๊ฐ์ค์น๋ก ์ทจ๊ธํ์ง ์๊ณ , ์ถ๋ ฅ ๋ฌธ์ฅ์์
-
๋ฒํธ (BERT)
- ๊ธฐ์กด์ ๋จ๋ฐฉํฅ ์์ฐ์ด ์ฒ๋ฆฌ ๋ชจ๋ธ๋ค์ ๋จ์ ์ ๋ณด์ํ ์๋ฐฉํฅ ์์ฐ์ด ์ฒ๋ฆฌ ๋ชจ๋ธ
- ๊ฒ์ ๋ฌธ์ฅ์ ๋จ์ด๋ฅผ ์ ๋ ฅ๋ ์์๋๋ก ํ๋์ฉ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์๋ ํธ๋์คํฌ๋จธ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ
-
ํ๊ตญ์ด ์๋ฒ ๋ฉ
-
์์ด ์๋ฒ ๋ฉ๊ณผ ๋ค๋ฅด์ง ์์
. ์ฆ, ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ์ํ ์๋ฒ ๋ฉ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ค๋ฉด์ธ์ด์ ์๊ด์์ด ๋จ์ด/๋ฌธ์ฅ์ ๋ํ ์๋ฒ ๋ฉ
์ ์งํํ๋ฉฐ,๋ชจ๋ธ์ ์์ฑํ๊ณ ํ๋ จ
์ํจ ํ์์ธก ๋ฐ ๋ถ๋ฅ ์ํ
๊ฐ๋ฅ - ๋ํ์ ์ธ ํ๊ตญ์ด ์๋ฒ ๋ฉ ๋ชจ๋ธ
๋ค๊ตญ์ด ๋ฒํธ ๋ชจ๋ธ
KoBert
-
- torch40 ~ torch42 | numpy01 ~ numpy10
-
ํด๋ฌ์คํฐ๋ง (clustering)
- ์ด๋ค ๋ฐ์ดํฐ๋ค์ด ์ฃผ์ด์ก์ ๋ ํน์ฑ์ด ๋น์ทํ ๋ฐ์ดํฐ๋ผ๋ฆฌ ๋ฌถ์ด ์ฃผ๋ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ
- ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฅ๋ฌ๋์ ์ ์ฉํ๋ค๋ฉด ์ฑ๋ฅ์ด ๋ ํฅ์๋ ์ ์์
-
ํด๋ฌ์คํฐ๋ง ์๊ณ ๋ฆฌ์ฆ
K-ํ๊ท ๊ตฐ์งํ
์๊ณ ๋ฆฌ์ฆ ์๋ฆฌ
- ํด๋ฌ์คํฐ ์ค์ฌ์ธ ์ค์ฌ์ ์ ๊ตฌํ๊ธฐ ์ํด
์์์ ์ K๋ฅผ ์ ํ
- ๊ฐ ์ค์ฌ์ ๋ํ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐ, ๊ฐ ๋ฐ์ดํฐ๋ฅผ
๊ฐ์ฅ ๊ฐ๊น์ด ํด๋ฌ์คํฐ์ ํ ๋น
- ํ ๋น๋ ๋ฐ์ดํฐ ํ๊ท ์ ๊ณ์ฐ, ์๋ก์ด
ํด๋ฌ์คํฐ ์ค์ฌ์ ๊ฒฐ์
- ํด๋ฌ์คํฐ ํ ๋น์ด
๋ณ๊ฒฝ๋์ง ์์ ๋๊น์ง ์์ ๊ณผ์ ์ ๋ฐ๋ณต
- ํด๋ฌ์คํฐ ์ค์ฌ์ธ ์ค์ฌ์ ์ ๊ตฌํ๊ธฐ ์ํด
- ํด๋ฌ์คํฐ ๊ฐ์๋ฅผ ์ข ๋ ํธ๋ฆฌํ๊ฒ ๊ฒฐ์ ํ ์ ์๋ ๋ฐฉ๋ฒ์
ํด๋ฌ์คํฐ ๊ฐ์์ WCSS ๊ฐ ๊ด๊ณ๋ฅผ ๊ทธ๋ํ๋ก ํํ
ํ ํ,WCSS ๋ณ๊ฒฝ์ด ํํํ๊ฒ ํ๋ฝํ๋ ๊ตฌ๊ฐ์ ์ ํ
ํ๋ ๊ฒ
๊ฐ์ฐ์์ ํผํฉ ๋ชจ๋ธ (Gaussian Mixture Model, GMM)
- ์ด๋ฆ ๊ทธ๋๋ก ๊ฐ์ฐ์์ ๋ถํฌ(gaussian distribution)๊ฐ ์ฌ๋ฌ ๊ฐ ํผํฉ๋ ํด๋ฌ์คํฐ๋ง ์๊ณ ๋ฆฌ์ฆ
- ํ์ค์ ์๋ ๋ณต์กํ ํํ์ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ฐ์ฐ์์ ๋ถํฌ K๊ฐ๋ฅผ ํผํฉํ์ฌ ํํํ์๋ ๊ฒ์ด ๊ฐ์ฐ์์ ํผํฉ ๋ถํฌ(gaussian mixture distribution)์
- K๋ ํ์ดํผํ๋ผ๋ฏธํฐ
์๊ธฐ ์กฐ์งํ ์ง๋ (Self-Organizing Map, SOM)
์ ๊ฒฝ ์๋ฆฌํ์ ์์คํ ์ ๋ชจ๋ธ๋ง
ํ ๊ฒ์ผ๋ก์ ๋ ฅ ํจํด์ ๋ํด ์ ํํ ์ ๋ต์ ์ฃผ์ง ์๊ณ ์ค์ค๋ก ํ์ต์ ํ์ฌ ํด๋ฌ์คํฐ๋ง
ํ๋ ์๊ณ ๋ฆฌ์ฆ์๊ธฐ ์กฐ์งํ ์ง๋์ ํ์ต ๋จ๊ณ
์ด๊ธฐํ (initialization)
- ๋ชจ๋ ์ฐ๊ฒฐ ๊ฐ์ค์น๋
์์ ์์์ ๊ฐ์ผ๋ก ์ด๊ธฐํ
- ๋ชจ๋ ์ฐ๊ฒฐ ๊ฐ์ค์น๋
๊ฒฝ์ (competition)
- ๊ฒฝ์ ํ์ต์ ์ด์ฉํ์ฌ
์ ๋ ฅ์ธต๊ณผ ๊ฒฝ์์ธต์ ์ฐ๊ฒฐ
์ฐ๊ฒฐ ๊ฐ๋ ๋ฒกํฐ๊ฐ ์ ๋ ฅ ๋ฒกํฐ์ ์ผ๋ง๋ ๊ฐ๊น์ด์ง ๊ณ์ฐ
ํ์ฌ๊ฐ์ฅ ๊ฐ๊น์ด ๋ด๋ฐ์ด ์น๋ฆฌ
ํ๋์น์ ๋ ์ (winner take all)
๋ฐฉ์์ ์ฌ์ฉ- ์ฐ๊ฒฐ ๊ฐ๋ ๋ฒกํฐ์ ์
๋ ฅ ๋ฒกํฐ๊ฐ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ด๋ฐ์ผ๋ก ๊ณ์ฐ๋๋ฉด ๊ทธ ๋ด๋ฐ์
์ด์ ๋ด๋ฐ๋ค๋ ํ์ต
์ ํ๊ฒ๋๋๋ฐ,์ด๋ ๋ชจ๋ ๋ด๋ฐ์ด ๋๋ ์ ํ๋ ์ด์ ๋ด๋ จ๋ค๋ง ํ์ต
- ๊ฒฝ์ ํ์ต์ ์ด์ฉํ์ฌ
ํ๋ ฅ (cooperation)
์น์ ๋ด๋ฐ์ ๋คํธ์ํฌ์์ ๊ฐ์ฅ ์ข์ ๊ณต๊ฐ ์์น๋ฅผ ์ฐจ์ง
ํ๊ฒ ๋๋ฉฐ, ํจ๊ปํ์ตํ ์ด์ ํฌ๊ธฐ๋ฅผ ์ ์
์ ์ (adaptation)
์น๋ฆฌํ ๋ด๋ฐ
์๊ฐ์ค์น์ ์ด์ ๋ด๋ฐ์ ์ ๋ฐ์ดํธ
- ์ต์ข
์ ์ผ๋ก
์ํ๋ ํ์
๋งํผ๊ฒฝ์๊ณผ ํ๋ ฅ์ ๋ฐ๋ณต
-
WCSS (Within Cluster Sum of Squares)
- ์ฌ๋ฐ๋ฅธ ํด๋ฌ์คํฐ ๊ฐ์๋ฅผ ์์๋ด๋ ์ด์์ ์ธ ๋ฐฉ๋ฒ์ WCSS๋ฅผ ๊ณ์ฐํ๋ ๊ฒ
- WCSS๋ ๋ชจ๋ ํด๋ฌ์คํฐ์
๊ฐ ๋ฐ์ดํฐ๊ฐ ์ค์ฌ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ๊ณฑํ์ฌ ํฉ์ ๊ณ์ฐ
ํ๋ ๊ฒ
23.10.05
- torch43 ~ torch44 | pandas01 ~ pandas08
-
๊ฐํ ํ์ต (reinforcement learning)
- ๋จธ์ ๋ฌ๋/๋ฅ๋ฌ๋์ ํ ์ข
๋ฅ๋ก, ์ด๋ค ํ๊ฒฝ์์ ์ด๋ค ํ๋์ ํ์ ๋ ๊ทธ๊ฒ์ด
์๋ ํ๋์ธ์ง ์๋ชป๋ ํ๋์ธ์ง๋ฅผ ํ๋จ
ํ๊ณ๋ณด์(๋๋ ๋ฒ์น)์ ์ฃผ๋ ๊ณผ์ ์ ๋ฐ๋ณตํด์ ์ค์ค๋ก ํ์ต
ํ๊ฒ ํ๋ ๋ถ์ผ - ์ด๋ค ํ๊ฒฝ์์ ์ด๋ค ํ๋์ ํ๋์ง ์๊ธฐ ์ํด
ํ๊ฒฝ(environment)
๊ณผ์์ด์ ํธ(agent)
๋ผ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉ -
ํ๊ฒฝ
- ์์ด์ ํธ๊ฐ ๋ค์ํ ํ๋์ ํด ๋ณด๊ณ ,
๊ทธ์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ด์ธกํ ์ ์๋ ์๋ฎฌ๋ ์ดํฐ
- ์์ด์ ํธ๊ฐ ๋ค์ํ ํ๋์ ํด ๋ณด๊ณ ,
-
์์ด์ ํธ
- ํ๊ฒฝ์์
ํ๋ํ๋ ์ฃผ์ฒด
๊ฐ ๋จ
- ํ๊ฒฝ์์
- ex) ๊ฒ์์์๋ ๊ฒ์๊ธฐ๊ฐ ํ๊ฒฝ, ๊ฒ์์ ํ๋ ์ฌ๋์ด ์์ด์ ํธ
- ๋จธ์ ๋ฌ๋/๋ฅ๋ฌ๋์ ํ ์ข
๋ฅ๋ก, ์ด๋ค ํ๊ฒฝ์์ ์ด๋ค ํ๋์ ํ์ ๋ ๊ทธ๊ฒ์ด
-
๋ง๋ฅด์ฝํ ํ๋ก์ธ์ค (Markov Process, MP)
-
์ด๋ค ์ํ๊ฐ ์ผ์ ํ ๊ฐ๊ฒฉ์ผ๋ก ๋ณํ๊ณ
,๋ค์ ์ํ
๋ํ์ฌ ์ํ์๋ง ์์กดํ๋ ํ๋ฅ ์ ์ํ ๋ณํ
๋ฅผ ์๋ฏธ -
ํ์ฌ ์ํ์ ๋ํด์๋ง ๋ค์ ์ํ๊ฐ ๊ฒฐ์
๋๋ฉฐ,ํ์ฌ ์ํ๊น์ง์ ๊ณผ์
์์ ํ ๊ณ ๋ คํ ํ์๊ฐ ์์
- ์์ ๊ฐ์ด
๋ณํ ์ํ๋ค์ด ์ฒด์ธ์ฒ๋ผ ์ฎ์ฌ
์๋ค๊ณ ํ์ฌ๋ง๋ฅด์ฝํ ์ฒด์ธ(Markov chain)
์ด๋ผ๊ณ ๋ ํจ
-
-
๋ง๋ฅด์ฝํ ๋ณด์ ํ๋ก์ธ์ค (Markov Reward Process, MRP)
- ๋ง๋ฅด์ฝํ ํ๋ก์ธ์ค์์
๊ฐ ์ํ๋ง๋ค ์ข๊ณ ๋์จ(reward)
์ด ์ถ๊ฐ๋ ํ๋ฅ ๋ชจ๋ธ - ์ํ
$a$ ์์$a'$ ๋ก ์ด๋ํ์์ ๋์ด๋ ๊ฒฐ๊ณผ๊ฐ ์ข๊ณ ๋์จ์ ๋ํด ๋ณด์(ํน์ ๋ฒ์น)
์ ์ฃผ๋ ๊ฒ
- ๋ง๋ฅด์ฝํ ํ๋ก์ธ์ค์์
-
๋ง๋ฅด์ฝํ ๊ฒฐ์ ๊ณผ์ (Markov Decision Process, MDP)
- ๊ธฐ์กด ๋ง๋ฅด์ฝํ ๋ณด์ ๊ณผ์ ์์
ํ๋์ด ์ถ๊ฐ
๋ ํ๋ฅ ๋ชจ๋ธ - ๋ชฉํ๋ ์ ์๋ ๋ฌธ์ ์ ๋ํด
๊ฐ ์ํ๋ง๋ค ์ ์ฒด์ ์ธ ๋ณด์์ ์ต๋ํํ๋ ํ๋์ด ๋ฌด์์ธ์ง ๊ฒฐ์
ํ๋ ๊ฒ -
MDP์์ ๊ฐ์น ํจ์
-
์ํ-๊ฐ์น ํจ์ (state-value function)
- ์์ด์ ํธ๊ฐ ๋์ธ ์ํ ๊ฐ์น๋ฅผ ํจ์๋ก ํํํ ์ํ
-
ํ๋-๊ฐ์น ํจ์ (action-value function)
- ์์ด์ ํธ์ ํ๋์ ๋ํ ๊ฐ์น๋ฅผ ํจ์๋ก ํํํ ์ํ
-
- ๊ธฐ์กด ๋ง๋ฅด์ฝํ ๋ณด์ ๊ณผ์ ์์
-
๋ฒจ๋ง ๋ฐฉ์ ์ (Bellman equation)
-
์ํ-๊ฐ์น ํจ์
์ํ๋-๊ฐ์น ํจ์
์๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๋ฐฉ์ ์
-
-
๋ฒจ๋ง ๊ธฐ๋ ๋ฐฉ์ ์ (Bellman expectation equation)
- ๊ฐ์น ํจ์
$v_\pi(s)$ ๋ ๋จ์ํ์ด๋ค ์ํฉ์์ ๋ฏธ๋์ ๋ณด์์ ํฌํจํ ๊ฐ์น
๋ฅผ ๋ํ๋
๋ค์ ์ํ๋ก ์ด๋ํ๋ ค๋ฉด์ด๋ค ์ ์ฑ (policy)์ ๋ฐ๋ผ ํ๋
ํด์ผ ํ๋๋ฐ, ์ด๋์ ์ฑ ์ ๊ณ ๋ คํ ๋ค์ ์ํ๋ก์ ์ด๋
- ๊ฐ์น ํจ์
-
๋ฒจ๋ง ์ต์ ๋ฐฉ์ ์ (Bellman optimality equation)
-
๊ฐํ ํ์ต์์ ์ถ๊ตฌํ๊ณ ์ ํ๋ ๋ชฉํ
๋ ์ต์ ์ ๊ฐ์น ํจ์ ๊ฐ์ ์ฐพ๋ ๊ฒ์ด ์๋์ต๋์ ๋ณด์์ ์ป๋ ์ ์ฑ ์ ์ฐพ๋ ๊ฒ
์ฆ,์ต๋์ ๋ณด์์ ์ป๊ธฐ ์ํ ์ ์ฑ
์ ์ฐพ๊ธฐ ์ํด๊ฐ์น ํจ์ ๊ฐ์ด ๊ฐ์ฅ ํฐ ๊ฐ
์ ์ฐพ์
๋ํ, ๊ฐํ ํ์ต์์ ์ด๋ค ๋ชฉํ๋ฅผ ์ด๋ฃจ์์ ๋์ต์ (optimal)
์ ์ํ, ์ฆ์ด๋ค ๋ชฉ์ ์ด ๋ฌ์ ๋ ์ํ
๋ผ๊ณ ํจ - ์์ ๊ฐ์
์ต์ ํ๋ ์ ์ฑ ์ ๋ฐ๋ฅด๋ ๋ฒจ๋ง ๋ฐฉ์ ์
์๋ฒจ๋ง ์ต์ ๋ฐฉ์ ์(Bellman optimality equation)
์ด๋ผ ํจ -
์ต์ ์ ๊ฐ์น ํจ์
- ์ต๋์ ๋ณด์์ ๊ฐ๋ ๊ฐ์น ํจ์
-
์ํ-๊ฐ์น ํจ์
๋์ด๋ค ์ํ๊ฐ ๋ ๋ง์ ๋ณด์์ ๋ฐ์ ์ ์๋์ง
์๋ ค ์ฃผ๋ฉฐ,ํ๋-๊ฐ์น ํจ์
๋์ด๋ค ์ํ์์ ์ด๋ค ํ๋์ ์ทจํด์ผ ๋ ๋ง์ ๋ณด์์ ๋ฐ์ ์ ์๋์ง
์๋ ค์ค
-
์ต์ ์ ์ํ-๊ฐ์น ํจ์
- ์ต์ ์ ์ํ-๊ฐ์น ํจ์$(v_*(s))$๋
์ฃผ์ด์ง ๋ชจ๋ ์ ์ฑ ์ ๋ํ ์ํ-๊ฐ์น ํจ์์ ์ต๋๊ฐ
- ์ต์ ์ ์ํ-๊ฐ์น ํจ์$(v_*(s))$๋
-
์ต์ ์ ํ๋-๊ฐ์น ํจ์
- ์ต์ ์ ํ๋-๊ฐ์น ํจ์$(q_*(s,a))$๋
์ฃผ์ด์ง ๋ชจ๋ ์ ์ฑ ์ ๋ํด ํ๋-๊ฐ์น ํจ์์ ์ต๋๊ฐ
- ์ต์ ์ ํ๋-๊ฐ์น ํจ์$(q_*(s,a))$๋
-