๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (86) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ๋ฉํฐํ์คํน(Multi-tasking), ๋ฉํฐํ๋ก์ธ์ฑ(Multi-processing), ๋ฉํฐ์ค๋ ๋ฉ(Multi-threading) โก ํ๋ก๊ทธ๋จ(Program): ์ ์ฅ์์ ์กด์ฌํ๋ ์ฝ๋์ ๋ญ์น๋ก ์คํ์ํ๊ฐ ์๋, ์คํํ๊ธฐ ์ ์ ์ ์ฅ์์ ์ ์ฅ๋ ์ฝ๋์ด๋ค. โก ํ๋ก์ธ์ค(Process): ์ ์ฅ์์ ์กด์ฌํ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋์ด CPU๊ฐ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ์ํ์ด๋ค. โก ์ค๋ ๋(Thread): ํ๋ก์ธ์ค ์์ ์๋ ์์ ์คํ๋จ์๋ฅผ ์๋ฏธ์ด๋ค. ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ก ์๋ฅผ ๋ค์ด๋ณด์. ์๋์์ ๊ธ์๋ฅผ ์ ๋ ฅํ๋ ๋์ ์๋์ผ๋ก ๋ง์ถค๋ฒ ๊ฒ์ฌ๋ฅผ ์ํ ๋ฐ ํ์ผ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์ฅํ๋ค. ์ด ์์ ๋ค์ ๊ฐ๊ฐ์ ์ค๋ ๋์ ์ํด์ ์ด๋ฃจ์ด์ง๋ค. ์ฆ, ์๋๋ผ๋ ํฐ ํ๋ก์ธ์ค ํ๋์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ๋ชจ์ฌ์๋ ๊ฒ์ด๋ค. ๋ฉํฐํ์คํน(Multi-tasking) โท ํ์คํฌ(Task)๋ ์ด์์ฒด์ ์์ ์ฒ๋ฆฌํ๋ ์์ ๋จ์๋ฅผ ์๋ฏธํ๋๋ฐ, ๊ทธ ์ฌ๋ฌ ์์ ๋จ์๊ฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋.. ๊น์ค ์ํ๋ง(Gibbs sampling) ๊น์ค ์ํ๋ง(Gibbs sampling)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๊น์ค ์ํ๋ง 2. ๊น์ค ์ํ๋ง์ ์์ 1. ๊น์ค ์ํ๋ง ๊น์ค ์ํ๋ง์ Metropolis Hastings(์ดํ MH) ์๊ณ ๋ฆฌ์ฆ์ ํน๋ณํ ํํ๋ก, ์ ์ ๋ถํฌ(Proposal distribution)๋ฅผ ์์ ์ Full conditional distribution๋ก ๋์ด ์ํ๋งํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ ๊ฒ ํจ์ผ๋ก์จ, ๊ฐ ์ํ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ์ ๋ํด Acceptance probability๋ 1์ด ๋๋ ์ฑ์ง์ ๊ฐ์ง๊ฒ ๋๋ค. ๋ค์์ ์ฆ๋ช ์ ํตํ์ฌ ์ด๋ฅผ ํ์ธํด๋ณด์. โท ์ ์ ๋ถํฌ๋ฅผ Full conditional posterior๋ก ๋ ์ผ๋ก์จ ๋ฏธ์ธ ๊ท ํ ์กฐ๊ฑด(Detailed balance condition)์ด ์ฑ๋ฆฝํ๊ฒ ๋๋ค. .. JAGS(Just Another Gibbs Sampler) ์ฌ์ฉ๋ฒ R์ JAGS(Just Another Gibbs Sampler)์ ์ฌ์ฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. JAGS๋ฅผ ํตํ ๋ฐ์ดํฐ ์์ฑ ๊ณผ์ ์ 4๋จ๊ณ๋ก ๋๋ ์ ์๋ค. 1. Specify the model 2. Set up the model 3. Run the MCMC(Markov Chain Monte Carlo) sampler 4. Post processing ๋ค์์ ๋ชจ๋ธ์ ์ด๋ฅผ ๋จ๊ณ๋ณ๋ก ์ ์ฉํ์ฌ ์ฌํ๋ถํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ๋ณด์. 1. Specify the model In: library(rjags) mod_string = " model { for (i in 1:n) { y[i] ~ dnorm(mu, 1.0/sig2) } mu ~ dt(0.0, 1.0/1.0, 1) sig2 = 1.0 } " โท ์์ ์ฝ๋์.. ๋ฉํธ๋กํด๋ฆฌ์ค ํค์ด์คํ ์ค ์๊ณ ๋ฆฌ์ฆ(Metropolis-Hastings algorithm) Metropolis-Hastings(์ดํ MH) ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. MH ์๊ณ ๋ฆฌ์ฆ์ MCMC(Markov Chain Monte-Carlo)์ ์ผ๋ฐ์ ์ธ ํํ๋ก์จ ํน์ ๋ถํฌ๋ก๋ถํฐ ์ ์๋ถํฌ๋ก ๊ฐ๋ ์ฒด์ธ์ ๋ฐ์์ํฌ ์ ์๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ํน์ ๋ถํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. MH ์๊ณ ๋ฆฌ์ฆ 2. Random walk MH ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ 1. MH ์๊ณ ๋ฆฌ์ฆ MH ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. โท q๋ ์ ์ ๋ถํฌ(Proposal distribution)๋ฅผ ์๋ฏธํ๊ณ , g๋ ์ฐ๋ฆฌ์ ๋ชฉ์ ๋ถํฌ(Target distribution)์์ ์ ๊ทํ ์์(Normalizing constant)๋ฅผ ์ ์ธํ ๋ถ๋ถ์ด๋ค. ์ฆ, ๋ชฉ์ ๋ถํฌ์ g(theta)๋ ๋น๋ก ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๋ค. โท ์ด๊ธฐ๊ฐ.. ๋ชฌํ ์นด๋ฅผ๋ก ์ถ์ (Monte-carlo estimation) ๋ฌธ์ ์ ์์๋ฅผ ํตํด ๋ชฌํ ์นด๋ฅผ๋ก ์ถ์ (Monte-carlo estimation)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ฌธ์ ) ๊ฐ๋ง๋ถํฌ(alpha = 2, beta = 1/3)์ ํ๊ท ์ ์์์ ์ธ ๊ณ์ฐ๊ณผ ๋ชฌํ ์นด๋ฅผ๋ก ์ถ์ ์ ํตํด ๊ตฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ์ฌ๋ผ. ํ์ด) In: alpha = 2 beta = 1/3 m = 10^8 theta_star ๊ทธ๋ํ ํํ(Graphical representation) ์์๋ฅผ ํตํด ๋ฒ ์ด์ง์ ๋ชจ๋ธ์ ๋ํ๋ด๊ธฐ ์ํ ๊ทธ๋ํ ํํ(Graphical representation) ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ์์ 1) ๊ฐ๋ฅ๋ ํจ์๊ฐ ์ ๊ท๋ถํฌ๋ฅผ ๋ฐ๋ฅด๊ณ , ์ ๊ท๋ถํฌ์ ๋ ๋ชจ์๊ฐ ์์ ๊ฐ์ด ์ฌ์ ๋ถํฌ๋ฅผ ๋ฐ๋ฅผ ๋, ์ด๋ฅผ ๊ทธ๋ํ๋ก ํํํด๋ณด์. โท ๋๊ทธ๋ผ๋ฏธ๋ ๋ ธ๋(Node)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ ธ๋๋ ํ๋ฅ ๋ณ์(Random variable)๋ฅผ ์๋ฏธํ๋ค. ์ฌ์ ๋ถํฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ mu์ sigma^2๋ฅผ ๋ ธ๋๋ก ์ ํ์๋ค. โท ์์ ๊ทธ๋ฆผ์์ mu์ sigma^2 ๋ฐ์ y1, y2, ... , yn๋ ํ๋ฅ ๋ณ์์ด์ง๋ง, ๊ด์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ค ๋๊ทธ๋ผ๋ฏธ๋ก ๋ํ๋ด์๋ค. โท ๊ฐ ๋ ธ๋๋ณ ์ข ์(Dependence) ๊ด๊ณ๋ฅผ ๋ํ๋ด๊ธฐ ํ์ดํ(Arrow)๋ฅผ ์ด์ฉํ์๋ค. ํ์ด์ด ๊ฐ๋ฆฌํค๋ ๋ ธ๋๋ ํ์ด์ด ๋์ค๋ ๋ ธ๋๋ก๋ถํฐ ์ข ์๋.. ์ปดํ์ผ๋ฌ(Compiler)์ ์ธํฐํ๋ฆฌํฐ(Interpreter) ์ปดํ์ผ๋ฌ(Compiler) โท ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ์์ ์ํ๋๊ธฐ ์ํด์๋ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ๋ฐ๊พธ์ด ์ฃผ์ด์ผ ํ๋ค. ์ด๋ฌํ ์ผ์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ๋ฌ๋ผ๊ณ ํ๋ค. โท ๋ฒ์ญ๊ณผ ์คํ์ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง, ๋ฒ์ญํ ์ดํ์๋ ์ถ๊ฐ์ ์ธ ๋ฒ์ญ ๊ณผ์ ์ด ํ์ ์์ผ๋ฏ๋ก ์คํ์๋๊ฐ ๋น ๋ฅด๋ค. โท ๋ฌธ๋ฒ์ด ํ๋ฆฌ๋ฉด ์ปดํ์ผ ํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋ ๊ณ , ์ด๋ฅผ ์ปดํ์ผ ์๋ฌ๋ผ๊ณ ํ๋ค. ํ๋ก๊ทธ๋จ ๋จ์๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ธํฐํ๋ฆฌํฐ(Interpreter) โท ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ๋ฌธ์ฅ ๋จ์๋ก ๊ธฐ๊ณ์ด๋ก ํด์ํ์ฌ ์คํํ๋ ํ๋ก๊ทธ๋จ์ ์ธํฐํ๋ฆฌํฐ๋ผ๊ณ ํ๋ค. โท ๋ฌธ์ฅ ๋จ์๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋ฐ์ํ ์ ์๊ณ , ์๋ฌ๊ฐ.. ํต๊ณ ๋ชจ๋ธ๋ง ๊ณผ์ (Statistical modeling process) ๋ฐ์ดํฐ ๋ถ์ ๋๋ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ํต๊ณ ๋ชจ๋ธ๋ง ๊ณผ์ (Statistical modeling process)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋จ๊ณ๋ 8๊ฐ๋ก ๋๋ ์ ์๊ณ , ์๋์ ๊ฐ๋ค. 1. Understand the problem 2. Plan and collect data 3. Explore data 4. Postulate model 5. Fit model 6. Check model 7. Iterate 8. Use model ๊ฐ ๋จ๊ณ์ ๋ํด ์์ธํ ์์๋ณด์. 1. Understand the problem ๊ฐ์ฅ ๋จผ์ ํด์ผํ๋ ๊ฒ์ ๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๊ฒ์ด๋ค. ๋น์ฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ๊ณผํ๊ธฐ ์ฌ์ด๋ฐ, ์ด๋ ๋งค์ฐ ์ค์ํ๋ค. ์๋ฅผ ๋ค์ด, ํ๋์ฐจ์ด์ฆ์ ์์ต ๋ฐ์ดํฐ๋ฅผ ๊ฐ ์ง์ญ์์ ์ป์๋ค๊ณ ๊ฐ์ ํ์. ์์ต์ ํ๊ท ์ ํตํด ํ๋์ฐจ์ด์ฆ ์ฌ.. ํต๊ณ ๋ชจ๋ธ(Statistical model) ํต๊ณ ๋ชจ๋ธ(Statistical model)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค. 1. ํต๊ณ ๋ชจ๋ธ์ ์ ์ 2. ํต๊ณ ๋ชจ๋ธ์ ๋ชฉ์ 1. ํต๊ณ ๋ชจ๋ธ์ ์ ์ ํต๊ณ ๋ชจ๋ธ์ด๋ ๋ฐ์ดํฐ ์์ฑ ๊ตฌ์กฐ(Data generating process)๋ฅผ ๋ชจ๋ฐฉ(Imitation) ๋๋ ๊ทผ์ฌ(Approximation)ํ๊ธฐ ์ํ ์ํ์ ๊ตฌ์กฐ(Mathematical structure)๋ฅผ ๋งํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ํต๊ณ ๋ชจ๋ธ์ ๋ณ์๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ฉฐ, ๋ฐ์ดํฐ์ ๋ถํ์ค์ฑ(Uncertainty)๊ณผ ๋ณ๋์ฑ(Variability)๋ฅผ ์ค๋ช ํ๋ค. ํต๊ณ ๋ชจ๋ธ์ ์ธ๊ณผ๊ด๊ณ ๋๋ ๋ ธ์ด์ฆ ๋ฐ์ดํฐ๋ก๋ถํฐ ์๋ ๋ณ์(Hidden variable)๋ฅผ ํ์ ํ๋๋ฐ ๋์์ ์ค ์ ์๋ค. 2. ํต๊ณ ๋ชจ๋ธ์ ๋ชฉ์ ํต๊ณ ๋ชจ๋ธ์ ๋ชฉ์ ์ ํฌ๊ฒ 4๊ฐ์ง๋ก ๋๋ ์ ์๋ค. .. ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(Convolutional Neural Network) ๊ตฌํ MNIST ๋ฐ์ดํฐ์ ์๊ธ์จ๋ก ์ ํ ์ซ์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋ ๋ค์ค ๋ถ๋ฅ(Multiclass classification) ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๊ฒ์ด๋ค. ์์ ํฌ์คํ "[Model] 01. ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Neural Network) ๊ตฌํ"๊ณผ ์ค๋ณต๋๋ ๋ด์ฉ์ ๋ํด ๋ค๋ฃจ์ง ์์ ๊ฒ์ด๋ค. ํ์ํ๋ฉด ๋ค์ ๋งํฌ๋ฅผ ํตํด ์ฐธ๊ณ ํ๋๋ก ํ์. [Model] 01. ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Neural Network) ๊ตฌํ MNIST ๋ฐ์ดํฐ์ ์๊ธ์จ๋ก ์ ํ ์ซ์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฅํ๋ ๋ค์ค ๋ถ๋ฅ(Multiclass classification) ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๊ฒ์ด๋ค. ๋ฐ์ดํฐ๋ ์ฌ๊ธฐ(https://www.kaggle.com/c/digit-recognizer)์์ ์ป์ ์ ์๋ค. ํ์ดํ ์น๋ฅผ ์ด.. rooney-song.tisto.. ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ(Jeffrey's prior) ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ(Jeffrey's prior)์ ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ์ ์ ์ 2. ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ์ ์์ 1. ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ์ ์ ์ ๋จ๋ณ์ theta์ ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ(Jeffrey's prior)๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค. ์ฌ๊ธฐ์ I(theta)๋ ๊ธฐ๋ ํผ์ ์ ๋ณด๊ฐ(Expected Fisher information)์ ๋ํ๋ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋๋ค. โท ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ์ ๊ฐ์ฅ ํฐ ํน์ง์ ๋ถ๋ณ์ฑ(Invariance)์ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ด๋ค. ์ฆ, ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋ชจ์์ ์ฌํ๋ถํฌ์ ๋ชจ์์ ํจ์์ ๋ํ ์ฌํ๋ถํฌ๊ฐ ์์ ๋, ๋ณ์๋ณํ์ ํตํด ๊ฐ์์ ๋ณด์ผ ์ ์๋ค. 2. ์ ํ๋ฆฌ ์ฌ์ ๋ถํฌ์ ์์ ๋ฌธ์ ) ๊ฐ๋ฅ๋ ํจ์๊ฐ ์ง์๋ถํฌ์ผ ๋, ์ ํ๋ฆฌ ์ฌ์ ๋ถ.. ์ฃผํผํฐ ๋ฉ(Jupyter lab)๊ณผ ์คํํฌ(Spark) ์ฐ๋ ์๋์ฐ 10 ํ๊ฒฝ์์ ์ฃผํผํฐ ๋ฉ(Jupyter lab)๊ณผ ์คํํฌ(Spark)๋ฅผ ์ฐ๋ํด๋ณด์. ์๋์ฝ๋ค(Anaconda)์ ์คํํฌ๊ฐ ์ค์น๋์ด ์์์ ์ ์ ํ๊ณ ์ค๋ช ์ ์์ํ๋๋ก ํ๊ฒ ๋ค. ์๋์ ๋งํฌ๋ ์คํํฌ์ ์ค์น ๋ฐฉ๋ฒ์ด๋, ํ์ํ๋ฉด ์ฐธ๊ณ ํ ์ ์๋๋ก ํ์. [Scala & Spark] 02. ์คํํฌ(Spark) ์ค์น ์๋์ฐ 10 ํ๊ฒฝ์์ ์คํํฌ(Spark) ์ค์น ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์คํํฌ๋ฅผ ์ค์นํ๊ธฐ ์ํด ์๋ฐ(Java)์ ์ค์นผ๋ผ(Scala)๊ฐ ํ์ํ๋ค. ๋ฐ๋์ ์๋ฐ์ ์ค์นผ๋ผ๋ฅผ ์ค์นํ ํ, ์คํํฌ๋ฅผ ์ค์นํ๋๋ก ํ๏ฟฝ๏ฟฝ rooney-song.tistory.com 1. ์ฃผํผํฐ ๋ฉ ์ค์น ๋ฐ ๋ฐ๋ก๊ฐ๊ธฐ ๋ง๋ค๊ธฐ (1) ์๋์ฝ๋ค ํ๋กฌํํธ๋ฅผ ์คํํ๊ณ , "pip install jupyterlab"์ ์ ๋ ฅํ์ฌ ์ฃผํผํฐ .. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 ๋ค์