14 Mon
TIL
๊ฒฐ์
์ ์ด๋ ๋ฐฐ์ด ๊ฒ์ ๊ธฐ๋ก์ ํด์ผ TIL์ ์๋ฏธ๊ฐ ์๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๋จ๋ค์ด ๋ณด๊ธฐ์ ๋งค์ฐ ์์ธํ ๋ด์ฉ์ด ์๋๊ณ , ๋ง์ ์์๊ณผ ๊ธ ๋์ ์ด๋ฅผ ๋ด์ ํ๋์ ์ด๋ฏธ์ง๋ก ๋์ฒด ํ๋๋ผ๋ ์ด๋ฌํ ๋ฐฉ์์ ์ฑํํด ์์ฑํ๊ธฐ๋ก ํ๋ค. TIL์ ๋๋ฌด ๋ง์ ์๊ฐ์ ํฌ์ํ์ง ์๊ณ ์ถ๋ค. ํ์ง๋ง ์์ ์ฐ๊ณ ์ถ๋ค. ์ต๋ํ ์ ์ ๋ฆฌ๋ ํ ๊ฒ.
ํ๋ก๊ทธ๋๋จธ์ค AI ์ค์ฟจ 1๊ธฐ
3์ฃผ์ฐจ DAY 1
Git์ด๋ ๋ฌด์์ธ๊ฐ?
์ฌ๋ฌ๋ช ์ด์ ํ์ ํ๋ฉด์ ์ฝ๋๋ฅผ ์์ฑํ ๋ ์ด๋ฉ์ผ๋ฑ์ ์ฌ์ฉํ๊ธฐ์๋ ์๋ก์ ์์ ์์๊ฐ ๊ณ ๋ ค๋์ด์ผ ๋๊ณ ์์ฌ๋์ ์๋ฃ ์๊ฐ์ ์ํฅ์ ๋ฐ๋๋ค. ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ GIT์ ๋ฑ์ฅ.
Git์ ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ! ์๋ฒ์ ์๊ฒฉ ์ ์ฅ์์ ๋ฐ์ดํฐ๋ฅผ ๋๊ณ ๊ฐ ๊ตฌ์ฑ์์ ์ ์ฅ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌ ๋ฐ ์ถํฉ.
git init
git repositary๋ฅผ ์์ฑํ๋ค. ์ค์ ๋ก ์๋ฌด ๋ณํ๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง .git ์จ๊นํ์ผ์ ์กด์ฌํ๊ณ ์์.
๋ก์ปฌ์ ๋ค์๊ณผ ๊ฐ์ด 3๊ฐ์ง์ ๊ณต๊ฐ์ผ๋ก ๊ตฌ๋ถ๋์ด ์์.
Working Directory๋ unstaged ๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ commit์ ๋ฐ์๋์ง ์์ ๋ถ๋ถ์ด ์ ์ฅ๋์ด ์์.
add๋ผ๋ ํ์๋ ๋ค์์ ์ปค๋ฐํ ๋ด์ฉ์ ์ถ๊ฐ
commit์ ์ค๋ ์ทํ ๋ด์ฉ์ ์ ์ฉํ๋ฉฐ committed ์ํ๋ก ๋ฐ๋
git status
ํ์ฌ branch์ ํ์ผ๋ค์ ์ํ๋ฅผ ์ถ๋ ฅ
git add <์ถ๊ฐ ํ์ผ>
์ปค๋ฐ์ ๋ฐ์ํ ํ์ผ์ ์ง์ : unstaged -> staged
git commit -m <๋ฉ์์ง>
์ปค๋ฐ์ ๋จ๊ธฐ๊ฒ ๋ค๋ ๋ช ๋ น์ด์ด๋ฉฐ -m ์ต์ ์ ๋ถ์ด๋ฉด ํด๋น ๋ฉ์์ง๋ฅผ ์ปค๋ฐ ๊ธฐ๋ก์ผ๋ก ๋จ๊ธธ ์ ์๋ค.
git log
์ปค๋ฐ์ ๋ํ ๊ธฐ๋ก์ ์ด๋
Git branch
์ฝ๋์ ํ๋ฆ์ ๋ถ๋ฆฌํ๊ณ ๋ถ๊ธฐ๋ฅผ ์ธ์ฐ๋ ๊ฒ. ๊ธฐ๋ณธ์ ์ผ๋ก "master" branch๊ฐ ์กด์ฌํ๋ค.
git branch <branch_name>
branch_name์ ๊ฐ์ง ์๋ก์ด branch๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด.
git branch -v
ํ์ฌ ์กด์ฌํ๋ branch๋ฅผ ์ถ๋ ฅ
git log
์กด์ฌํ๋ branch๋ฅผ ์ด๋
git checkout <branch_name>
branch๋ฅผ ์ ํํ๋ ๋ช ๋ น์ด
HEAD -> branch
ํ์ฌ ์์ ์ค์ธ branch๋ฅผ ์๋ฏธ
git merge <branch_name> (HEAD -> master)
ํด๋น ๋ธ๋์น๋ฅผ HEAD ๋ธ๋์น์ ๋ณํฉํ๋ค.
git branch -d <branch_name>
ํด๋น ๋ธ๋์น๋ฅผ ์ญ์ ํ๋ค.
Git๊ณผ Git hub
git remote add <๋ณ์นญ> <์๊ฒฉ์ ์ฅ์ ์ฃผ์>
์๊ฒฉ ์ ์ฅ์๋ฅผ ์ง์ ํ๋ ๋ช ๋ น์ด. ๋ณ์นญ์๋ ๋ณดํต origin์ ๋ง์ด ์ฌ์ฉํ๋ค.
git remote -v
์๊ฒฉ ์ ์ฅ์์ ๋ชฉ๋ก์ ๋ณด์ฌ์ค๋ค.
git push <remote_repo_name> <branch_name>
๋ก์ปฌ ์ ์ฅ์์ ๋ด์ฉ์ ์๊ฒฉ ์ ์ฅ์์ ๋ด์ฉ์ผ๋ก ์ ์กํ๋ค.
git branch -M main
๋ธ๋์น์ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ฉฐ -M์ ์ธ์๊ฐ ํ๊ฐ์ผ ๊ฒฝ์ฐ ํ์ฌ ๋ธ๋์น์ ์ด๋ฆ์ ํด๋น ์ธ์๋ก ๋ณ๊ฒฝํ๋ค.
git clone <remote_repo> <directory_name>
์๊ฒฉ์ ์ฅ์๋ฅผ ๋ก์ปฌ์ ์ฅ์๋ก ๋ถ๋ฌ์ค๋ ๋ช ๋ น์ด๋ค. remote_repo๋ ์๊ฒฉ์ ์ฅ์์ ์ฃผ์์ด๋ฉฐ directory_name์ด ์์ ๊ฒฝ์ฐ default๋ก ์๊ฒฉ์ ์ฅ์์ ํด๋ ์ด๋ฆ์ผ๋ก ์ง์ ๋๋ค.
1๊ฐ Numpy์ ์ฐ์ฐ
2๊ฐ Numpy์ ์ ํ๋์
์ด ๋, eye์ default type์ float์ด๋ค.
์ญํ๋ ฌ์ด ์์ ๊ฒฝ์ฐ Singular matrix ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋ฐ๋ฐ๋ฅ๋ถํฐ ์์ํ๋ ๋ฅ๋ฌ๋
4์ฅ ์ ๊ฒฝ๋ง ํ์ต
๋ณ์๊ฐ ์ฌ๋ฟ์ธ ํจ์์ ๋ํด ๋ณ์๊ฐ ํ๋๋ฟ์ธ ํจ์๋ก ์ ์ํด์ ๊ตฌํ๋ ๋ฏธ๋ถ์ ํธ๋ฏธ๋ถ์ด๋ผ๊ณ ํ๋ค. ์ด ๋ ๋ชจ๋ ๋ฒกํฐ์ ํธ๋ฏธ๋ถ์ ๋ฒกํฐ๋ก ์ ๋ฆฌํ ๊ฒ์ ๊ธฐ์ธ๊ธฐ ๋ผ๊ณ ํ๋ค.
ํ์ต : ํ๋ จ ๋ฐ์ดํฐ๋ก๋ถํฐ ๊ฐ์ค์น ๋งค๊ฐ๋ณ์์ ์ต์ ๊ฐ์ ์๋์ผ๋ก ํ๋ํ๋ ๊ฒ
4.1 ๋ฐ์ดํฐ์์ ํ์ตํ๋ค!
์ ๊ฒฝ๋ง์ ํน์ง : ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ํ์ต. ์ฆ, ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๊ฒฐ์ . ์ด๊ฒ์ด ํผ์ ํธ๋ก ๊ณผ์ ์ฐจ์ด์ด๋ค. (ํผ์ ํธ๋ก ์๋ ด ์ ๋ฆฌ์ ๋ฐ๋ฅด๋ฉด ์ ํ ๋ถ๋ฆฌ ๊ฐ๋ฅ ๋ฌธ์ ๋ ์ ํ ๋ฒ์ ํ์ต์ ํตํด ํ ์ ์๋ค. ๊ทธ๋ฌ๋ ๋น์ ํ ๋ถ๋ฆฌ ๋ฌธ์ ๋ ์๋์ผ๋ก ํ์ต์ด ๋ถ๊ฐ๋ฅํ๋ค.)
์๊ธ์จ ์ซ์ '5'๋ฅผ ์ ๋๋ก ๋ถ๋ฅํ๋ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ๊ฒ์ ์ด๋ ต๋ค. ์ฌ๋์ ์ด๋ ต์ง ์๊ฒ ์ธ์ํ์ง๋ง, ๊ท์น์ฑ์ ๋ช ํํ ๋ก์ง์ผ๋ก ํํํ๊ธฐ๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ. ๋ฐ๋ผ์ ์ค๊ณํ๋ ๋์ ๋ฐ์ดํฐ์ ํน์ง์ ํจํด์ ํ์ต. ์ปดํจํฐ ๋น์ ๋ถ์ผ์์๋ SIFT, SURF, HOG ๋ฑ์ ํน์ง์ ๋ง์ด ์ฌ์ฉํ๋ฉฐ, SVM, KNN ๋ฑ์ผ๋ก ํ์ตํ๋ค.
SIFT
์ด๊ธฐ์ ์ฌ๋์ด ์๊ฐํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋๋ค๋ฉด ์ดํ์๋ ์ฌ๋์ด ์๊ฐํ ํน์ง(SIFT, HOG ๋ฑ)์ ํตํด ๊ธฐ๊ณ ํ์ต(SVM, KNN ๋ฑ)์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๋์ถ๋๋ค. ์ต์ข ์ ์ผ๋ก ์ ๊ฒฝ๋ง์ ์ด๋ฏธ์ง๋ฅผ ์๋ ๊ทธ๋๋ก ํ์ตํ๋ค. ์ฌ๋์ด ํน์ง์ ์ค๊ณํ๋ ๊ฒ์ด ์๋, ๊ธฐ๊ณ ์ค์ค๋ก ํน์ง์ ํ์ตํ๋ค. ์ด๋ฅผ ์ข ๋จ๊ฐ ๊ธฐ๊ณํ์ต ์ด๋ผ๊ณ ๋ ํ๋ฉฐ ์ ๋ ฅ๋ถํฐ ์ถ๋ ฅ๊น์ง ์ฌ๋์ ๊ฐ์ ์ด ์๋ค๋ ์๋ฏธ์ด๋ค.
๊ธฐ๊ณ ํ์ต์ ๋ฐ์ดํฐ๋ฅผ ํ๋ จ ๋ฐ์ดํฐ์ ์ํ ๋ฐ์ดํฐ๋ก ๋๋ ํ์ต๊ณผ ์คํ์ ์ํํ๋ค. ์ด ๋ ๋ฒ์ฉ ๋ฅ๋ ฅ์ ์ํด ๋ ๋ฐ์ดํฐ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ. ๋ฒ์ฉ ๋ฅ๋ ฅ์ ์์ง ๋ณด์ง ๋ชปํ ๋ฐ์ดํฐ ๋ฌธ์ ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ด๋ด๋ ๋ฅ๋ ฅ์ด๋ค. ํ ๋ฐ์ดํฐ์ ์ผ๋ก๋ง ํ์ต๊ณผ ํ๊ฐ๋ฅผ ์ํํ๋ ๊ฒ์ ์ฌ๋ฐ๋ฅธ ํ๊ฐ๊ฐ ๋ ์ ์์ผ๋ฉฐ ํ ๋ฐ์ดํฐ์ ์๋ง ์ง๋์น๊ฒ ์ต์ ํ ๋์ด ์ค๋ฒํผํ ์ด ๋ฐ์ํ๋ค.
4.2 ์์ค ํจ์
์ ๊ฒฝ๋ง ํ์ต์์๋ ํ์ฌ์ ์ํ๋ฅผ ํ๋์ ์งํ๋ก ํํํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์งํ๋ฅผ ๊ฐ์ฅ ์ข๊ฒ ๋ง๋ค์ด์ฃผ๋ ๊ฐ์ค์น ๋งค๊ฐ๋ณ์์ ๊ฐ์ ํ์ํ๋ค. ์ ๊ฒฝ๋ง ํ์ต์์ ์ฌ์ฉํ๋ ์งํ๋ ์์ค ํจ์๋ผ๊ณ ํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ํ๊ท ์ ๊ณฑ ์ค์ฐจ์ ๊ต์ฐจ ์ํธ๋กํผ ์ค์ฐจ๋ฅผ ์ฌ์ฉํ๋ค.
ํ๊ท ์ ๊ณฑ ์ค์ฐจ
๊ต์ฐจ ์ํธ๋กํผ ์ค์ฐจ
์ ์๋ค์ ๋จ์ผ ๋ฐ์ดํฐ์ ๋ํ ์์ค ํจ์์ด๋ฉฐ ๋ค ๋ฐ์ดํฐ์ผ ๊ฒฝ์ฐ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํ ์์คํจ์์ ๊ฐ์ ํฉ์ ์งํ๋ก ์ผ๋๋ค.
๋ง์ง๋ง์ N์ผ๋ก ๋๋๋ ๊ณผ์ ์ ํตํด ์ ๊ทํ๋ฅผ ํ๋ค. N์ผ๋ก ๋๋์ผ๋ก์จ 'ํ๊ท ์์ค ํจ์'๋ฅผ ๊ตฌํ๋ ๊ฒ๊ณผ ๊ฐ์ผ๋ฉฐ ์ด๋ ํ๋ จ ๋ฐ์ดํฐ ๊ฐ์์ ๊ด๊ณ์์ด ํต์ผ๋ ์งํ๋ฅผ ์ป์ ์ ์๊ฒ๋๋ค.
์ด ๋ ๋ฐ์ดํฐ๊ฐ 6๋ง๊ฐ(๋๋ ๊ทธ ์ด์)๋ผ๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ์ ์์ค ํจ์์ ํฉ์ ๊ตฌํ๊ธฐ๋ ๋ง์ ์๊ฐ์ด ์์๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ค ์ ์ฒด์ '๊ทผ์ฌ์น'๋ก ์ด์ฉํ๋ค. ํ๋ จ ๋ฐ์ดํฐ ์ค ์ผ๋ถ๋ง ๊ณจ๋ผ ํ์ต์ ์ํํ๋ฉฐ ์ด๋ฅผ ๋ฏธ๋ ๋ฐฐ์น ๋ผ๊ณ ํ๋ค.
์ด ๋ MNIST ๋ฐ์ดํฐ์ ์ ์ฝ์ด์ 6๋ง๊ฐ์ ํ๋ จ ๋ฐ์ดํฐ์ค 10๊ฐ๋ฅผ ๋ฝ๋ ๊ณผ์ ์์ numpy๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
np.random.choice(train_size, batch_size)๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, 0์ด์ train_size๋ฏธ๋ง์ ์ ์ค์์ ๋ฌด์์๋ก batch_size ๋งํผ์ ๊ฐฏ์์ ์๋ฅผ ๊ณจ๋ผ๋ธ๋ค.
์ ํ๋ ๋์ ์์คํจ์๋ฅผ ์ ์ํ๋ ์ด์
์์คํจ์๋ ๋ฏธ๋ถ๊ฐ์ ํ ๋๋ก ์์ ๋ฐฉํฅ ๋๋ ๊ทธ ๋ฐ๋๋ก ์งํํ๋๋ฐ ๋นํด ์ ํ๋๋ ๋ฏธ๋ถ๊ฐ์ด 0์ผ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์งํ์ ๋ฉ์ถ ๋๊ฐ ๋ง๋ค. ๊ทธ๋ผ ์ 0์ผ ๋๊ฐ ๋ง์๊น? ๋งค๊ฐ๋ณ์์ ๊ฐ์ด ์กฐ๊ธ ๋ณํ๋ฉด ์์ค ํจ์๋ ์ฐ์์ ์ผ๋ก ๋ณํ๊ฒ ๋์ง๋ง ์ ํ๋๋ ๋งค๊ฐ๋ณ์์ ๋ฏธ์ํ ๋ณํ์๋ ๊ฑฐ์ ๋ฐ์์ ๋ณด์ด์ง ์์ผ๋ฉฐ ๋ฐ์์ด ์๋๋ผ๋ ๊ทธ ๊ฐ์ด ๋ถ์ฐ์์ ์ผ๋ก ๋ณํํ๋ค. ๊ณ๋จ ํจ์๋ฅผ ํ์ฑํ ํจ์๋ก ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ ์ด์ ๊ฐ๋ค.
4.3 ์์น ๋ฏธ๋ถ
์์ฃผ ์์ ์ฐจ๋ถ์ผ๋ก ๋ฏธ๋ถํ๋ ๊ฒ์ ์์น ๋ฏธ๋ถ์ด๋ผ๊ณ ํ๋ค. ์ฌ๊ธฐ์๋ ๋ฐ์ฌ๋ฆผ ์ค์ฐจ๊ฐ ๋ฐ์ํ ์ ์์ด ์ต์ข ๊ณ์ฐ ๊ฒฐ๊ณผ์ ์ค์ฐจ๊ฐ ๋ฐ์๋๋ค.
์์น ๋ฏธ๋ถ์๋ ์ค์ฐจ๊ฐ ๋ฐ์ํ๋ฉฐ ์ค์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํด x+h ์ x-h์ผ ๋์ ์ฐจ๋ถ์ ๊ณ์ฐํ๊ธฐ๋ ํ๋ค. x๋ฅผ ์ค์ฌ์ผ๋ก ๊ทธ ์ ํ์ ์ฐจ๋ถ์ ๊ณ์ฐํ๋ค๊ณ ํ์ฌ ์ค์ฌ ์ฐจ๋ถ ํน์ ์ค์ ์ฐจ๋ถ์ด๋ผ๊ณ ํ๋ค. x+h์ x์ ์ฐจ๋ถ์ ์ ๋ฐฉ ์ฐจ๋ถ์ด๋ผ๊ณ ํ๋ค.
Coursera ML
OCTAVE/MATLAB TUTORIAL
Normal Equation ์ ๋ํ ์ ํ ๋์ ์ฆ๋ช
๊ฐ์๋ด์ฉ
์ฅํ๋ธ๋ฅผ ์ด์ฉํด์ ์ฌ๋ฌ ์ํ์ ์ฐ์ฐ๊ณผ ํจ์๋ฅผ ์ด์ฉํด์ ๊ฐ๋จํ ํํ ๊ฐ๋ฅ.
๋ฒกํฐํํ๋ฉด ๊ฐ๋จํ ํ๋ ฌ ์ฐ์ฐ์ผ๋ก ํํํ ์ ์์ง๋ง ์ธ๋ฒกํฐํ์ ๊ฒฝ์ฐ ๋ฐ๋ณต ์ฐ์ฐ์ผ๋ก ์งํํด์ผํ๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์๋์ tradeoff๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฌ๋ก์ธ ๋ฏ.
Last updated
Was this helpful?