Pomegranate: ์งˆ๋ฌธ: ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์—์„œ ์ƒ˜ํ”Œ๋ง

์— ๋งŒ๋“  2016๋…„ 02์›” 28์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: jmschrei/pomegranate

์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ,
์—ฌ๊ธฐ๊ฐ€ ์งˆ๋ฌธํ•˜๊ธฐ์— ์ ์ ˆํ•œ ๊ณณ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์„ธ์š”.
๋‚ด ์„์‚ฌ ๋…ผ๋ฌธ์˜ ๊ฒฝ์šฐ ์ด์‚ฐ ๋ฐ ์—ฐ์†(์—ฐ์† ๋ฐ ์ด์‚ฐ ๋ณ€์ˆ˜์˜ ํ˜ผํ•ฉ)์ผ ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ํ™•๋ฅ  ๋ณ€์ˆ˜์˜ ์กฐ๊ฑด๋ถ€ ํ™•๋ฅ ์„ ์ถ”์ •ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ์ด ํ˜ผํ•ฉ๋ฌผ๊ณผ ์ฆ๊ฑฐ ๋ณ€์ˆ˜์˜ ๊ณต๋™ ๋ถ„ํฌ์— ๋Œ€ํ•œ ๋ฐ€๋„ ์ถ”์ •์„ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ ์„๋ฅ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ๋ถ„ํฌ ํ˜ผํ•ฉ์˜ 2๋ถ„์˜ 1์ด ๋˜์ง€๋งŒ ํ์‡„ํ˜• ๋ถ„ํฌ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์กฐ๊ฑด๋ถ€ ๋ถ„ํฌ์—์„œ ์ƒ˜ํ”Œ๋งํ•˜๋ ค๋ฉด ๊ฑฐ๋ถ€ ์ƒ˜ํ”Œ๋ง(๋˜๋Š” ์ตœ์ ํ™”๋œ MCMC ๋ฐฉ๋ฒ•)์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ฌ๋ฐ”๋ฅธ์ง€?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@jmschrei : ๋ฌผ๋ก ์ด์ฃ ! sample() ๋ฉ”์„œ๋“œ ๋Š” ํ›Œ๋ฅญํ•˜๊ฑฐ๋‚˜ ์„๋ฅ˜ ๋ชจ๋ธ์„ PyMC๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์—ฌ ์ƒ˜ํ”Œ๋ง์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. :)

๋ชจ๋“  18 ๋Œ“๊ธ€

์„๋ฅ˜๋Š” ํ˜„์žฌ ๋ถˆํ–‰ํžˆ๋„ ์—ฐ์† ๋ถ„ํฌ์— ๋Œ€ํ•œ ์กฐ๊ฑด๋ถ€ ๋ถ„ํฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋นจ๋ฆฌ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๊ทธ ์•„์ด๋””์–ด๋Š” ๊ทธ๋Ÿด๋“ฏํ•˜๊ฒŒ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. ์ด ์˜์—ญ์—์„œ ๋” ๋ณธ๊ฒฉ์ ์ธ PyMC๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์ œ์•ˆ๋ณด๋‹ค. PyMC๋Š” ๋ถ„ํฌ ํ˜ผํ•ฉ๋ฌผ, HMM ๋“ฑ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณต์žฅ ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋งค์šฐ ๋ช…ํ™•ํ•œ ์„๋ฅ˜๊ฐ€ PyMC์˜ (์ตœ์ ํ™”๋œ) ์ƒ˜ํ”Œ๋ง ๋ฐฉ๋ฒ•๊ณผ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์„๋ฅ˜ ๋ชจ๋ธ์„ PyMC ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ.

ํ•ฉ๋ฆฌ์ ์ธ ์ƒ๊ฐ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์„๋ฅ˜์—์„œ๋„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž‘์—…ํ•  ์‹œ๊ฐ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์„ ์›ํ•˜๋Š” ์ƒ˜ํ”Œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ œ๊ณตํ•ด ์ฃผ์‹œ๋ฉด ๊ณง ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์•„์ง ์„๋ฅ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๋‚ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฐ€์žฅ ์™„์ „ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์กฐ๊ฑด๋ถ€ ๋ถ„ํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ๋‚ด๊ฐ€ ๋‚ด ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์–ธ๊ธ‰ํ•œ ๊ฒƒ๊ณผ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜์ง€๋งŒ ๊ฐ€์šฐ์‹œ์•ˆ์˜ ํ˜ผํ•ฉ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํ˜„์žฌ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค(๋‹ซํžŒ ํ˜•์‹ ํŒŒ์ƒ์ด ์กด์žฌํ•จ).

ํŽธ์ง‘: ์ด์ œ sklearn GMM๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ์Šค๋‹ˆํŽซ์„ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

weighted_fit์€ ๊ฐ€์ค‘์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” sklearns fit()์˜ ํ™•์žฅ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

gmm.weighted_fit(๋ฐ์ดํ„ฐ, ๋ฌด๊ฒŒ_๋ฐ์ดํ„ฐ)

๋‚ด ๋ฐ์ดํ„ฐ๋Š” 3์ฐจ์› ์—ฐ์† ๋ฒกํ„ฐ [X,Y,Z]์ž…๋‹ˆ๋‹ค.

z=1.2

P(X=nan,X=nan | p=Z)

(con_mean, con_cov, con_weights) = utility.cond_dist_gmm(np.array([np.nan,np.nan,z]), gmm.means_, gmm._get_covars(), gmm.weights_)

์ถ”๊ฐ€ํ•ด์•ผ ํ•  ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์˜ˆ์‹œ์ ์ธ ์˜์‚ฌ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ญ๋ชฉ์ด ์žˆ๋Š” ๊ฒฝ์šฐ:

a = NormalDistribution( 5, 2 )
b = ConditionalGaussianDistribution( w=[5], w0=2, sigma=2 )

๊ทธ๊ฒƒ์€ ์ •๊ทœ์ธ ๋ถ€๋ชจ ๋ถ„ํฌ์™€ ๋ถ€๋ชจ์˜ ์„ ํ˜• ํšŒ๊ท€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์กฐ๊ฑด๋ถ€ ์ •๊ทœ ๋ถ„ํฌ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์—‡์ด๋“  ๋‹น์‹ ์—๊ฒŒ ๊ฐ€์žฅ ํŽธ๋ฆฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ •ํ™•ํžˆ ๋ฌด์—‡์„ ๋ฌป๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. GMM์€ ์„๋ฅ˜๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค(์ œ ์ƒ๊ฐ์—๋Š” sklearn๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค). ์กฐ๊ฑด๋ถ€ ๊ฐ€์šฐ์Šค ํ˜ผํ•ฉ ๋ชจ๋ธ์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์กฐ๊ฑด๋ถ€ GMM.
์ด์‚ฐ ๋ฐ ์—ฐ์† ๋ณ€์ˆ˜(์˜ˆ: d=[c1,c2,d1,d2])๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค๋ฅด๊ฒŒ ํ‘œํ˜„ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ•œ๋‹ค:

k ์„ฑ๋ถ„ ํ˜ผํ•ฉ ๋ชจ๋ธ, ์—ฐ์† ๋ฐ์ดํ„ฐ [d1,d2]๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ณ€๋Ÿ‰์€ ๋ชจ๋ธ ๋ฒกํ„ฐ [d1,d2]์— ๋Œ€ํ•ด 2์ฐจ์›์ž…๋‹ˆ๋‹ค.

gmm=MixtureDistribution(MultivariateGaussianDistribution1, MultivariateGaussianDistribution2, ..., MultivariateGaussianDistributionk)

์ด์‚ฐ ๋ถ„ํฌ

cat1=์ด์‚ฐ ๋ถ„ํฌ([(0,0.1),(1,0.3),(2,0.6)])
cat2=์ด์‚ฐ ๋ถ„ํฌ([(0,0.6),(1,0.4)])

์ƒˆ ๋ชจ๋ธ์€ ์—ฐ์† ๋ฐ์ดํ„ฐ์™€ ์ด์‚ฐ ๋ฐ์ดํ„ฐ์˜ ์กฐ์ธ ๋ถ„ํฌ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. -> p(d)

๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์„๋ฅ˜์—์„œ

๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ ์˜๋„ํ•œ ๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์€ ์ด์œ ์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ˜ผํ•ฉ ๋ถ„๋ฐฐ ํ˜ผํ•ฉ๋ฌผ๊ณผ ํ˜ผํ•ฉ ์กฐ์ธํŠธ ๋ถ„๋ฐฐ๋ฅผ ํ˜ผํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค...

์ˆ˜ํ•™์  ๊ณต์‹์€ ํŽ˜์ด์ง€ ํ•˜๋‹จ์˜ ๊ณต๋™ ๋ถ„ํฌ "ํ˜ผํ•ฉ๋œ ๊ฒฝ์šฐ"๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

d_model=๊ณต๋™๋ถ„ํฌ(gmm,cat1,cat2)

๋ชจ๋ธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ์ดํ„ฐ๋กœ ๋งž์ถ”๊ธฐ

d_model.from_sample(๋ฐ์ดํ„ฐ)

์ด์ œ (๋Œ€๋žต) ๊ฒฐํ•ฉ ํ™•๋ฅ ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ d1=1 ๋ฐ d2=0์ผ ๋•Œ ์˜ˆ๋ฅผ ๋“ค์–ด [c1,c2]์˜ ๊ฒฐํ•ฉ ํ™•๋ฅ ์„ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

cond_d = ConditionalDistr(d_model,[np.nan,np.nan,1,0])

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ๋ง์”€ํ•˜์‹  ๋‚ด์šฉ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ์†ํ˜• ๋ถ€๋ชจ์™€ ๋ถˆ์—ฐ์†ํ˜• ๋ถ€๋ชจ๋ฅผ ๋ชจ๋‘ ๊ฐ–๋„๋ก ์กฐ๊ฑด๋ถ€ ๋ถ„ํฌ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์‚ฐ ๋ณ€์ˆ˜์™€ ์—ฐ์† ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋‘ ์žˆ๋Š” ๋ฒ ์ด์ง€์•ˆ ๋„คํŠธ์›Œํฌ?

์˜ˆ, ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ์ข€ ๋” ์—ฐ๊ตฌ๋ฅผ ํ–ˆ๊ณ  EM์„ ์„ ํ˜ธํ•˜๋Š” ์–ด๋–ค ํ˜•ํƒœ์˜ ์ƒ˜ํ”Œ๋ง ๋ฐฉ๋ฒ•๋„ ํ”ผํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋‚ด ๋ชจ๋ธ์˜ ํ‘œํ˜„๋ ฅ์„ ๊ฐ์†Œ์‹œํ‚จ๋‹ค ํ•˜๋”๋ผ๋„. ๋”ฐ๋ผ์„œ ์กฐ๊ฑด๋ถ€ ๊ฐ€์šฐ์Šค ํ˜ผํ•ฉ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด(๋‚ด ๊ตฌํ˜„์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ), ๊ทธ๋ณด๋‹ค ํ›จ์”ฌ ๊ฐ์‚ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ์šฉ์ง€๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ•„์š”ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌผ๋ก , ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ฐ™์€ ํŽ˜์ด์ง€์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹ ๋ฌธ์„ ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ฐพ์€ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์‹œ๋„ํ•œ ๊ฒƒ: ๊ธฐ๊ณ„ ํ•™์Šต์„ ์œ„ํ•œ ๊ฐ€์šฐ์Šค ํ”„๋กœ์„ธ์Šค์˜ ๋ถ€๋ก A
๋˜๋Š” ์กฐ๊ฑด๋ถ€ ๊ฐ€์šฐ์Šค ํ˜ผํ•ฉ ๋ชจ๋ธ์˜ 2์žฅ ํ™˜๊ฒฝ ์œ„ํ—˜ ๋งคํ•‘

์กฐ๊ฑด๋ถ€ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ์•„์ง ์ด๊ฒƒ๋งŒํผ ๊นŠ์ด ์žˆ๋Š” ๊ฒƒ์„ ๋ฐฐ์šธ ์‹œ๊ฐ„์ด ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋น„ ํ•™์ƒ ๋ฐฉ๋ฌธ ๋‚ ์งœ๋Š” ์ด๋ฒˆ ์ฃผ์ž…๋‹ˆ๋‹ค. ๊ณง ์ด ๋ฌธ์ œ๋กœ ๋Œ์•„๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์™„์ „ํžˆ ๋‚ด ๋ ˆ์ด๋”์—์„œ ๋ฒ—์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค! ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ๊ณง ์ž‘์—…ํ•œ๋‹ค๋ฉด ๋‹น์‹ ์—๊ฒŒ ๋„์›€์ด ๋ ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ๋‹น์‹ ์€ ๋‹น์‹ ์˜ ๋…ผ๋ฌธ์„ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๊นŒ?

๊ดœ์ฐฎ์•„์š”.
๊ทธ๋ฆฌ๊ณ  ์ €์—๊ฒŒ ๋Œ์•„์™€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ œ ๋…ผ๋ฌธ์€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.
๋„์„œ๊ด€์— ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค.

2016๋…„ 9์›” 1์ผ 04:21์— Jacob Schreiber [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์™„์ „ํžˆ ๋‚ด ๋ ˆ์ด๋”์—์„œ ๋ฒ—์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค! ๋‚ด๊ฐ€ ์ด๊ฒƒ์„ ๊ณง ์ž‘์—…ํ•œ๋‹ค๋ฉด ๋‹น์‹ ์—๊ฒŒ ๋„์›€์ด ๋ ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ๋‹น์‹ ์€ ๋‹น์‹ ์˜ ๋…ผ๋ฌธ์„ ์™„์„ฑํ–ˆ์Šต๋‹ˆ๊นŒ?

โ€”
์Šค๋ ˆ๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub https://github.com/jmschrei/pomegranate/issues/86#issuecomment -243958007์—์„œ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์Šค๋ ˆ๋“œ https://github.com/notifications/unsubscribe-auth/AG5qkEFMbUPk0uoKA4JTxdt8CaxTfPX29๋ฅผ ์Œ์†Œ๊ฑฐ

์นœ์• ํ•˜๋Š” @jmschrei ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ด€์‹ฌ๋„ ๋†’์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”!

์•ˆ๋…•ํ•˜์„ธ์š” @jaSunny์ž…๋‹ˆ๋‹ค. ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์ •ํ™•ํžˆ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@jmschrei : ๋ฌผ๋ก ์ด์ฃ ! sample() ๋ฉ”์„œ๋“œ ๋Š” ํ›Œ๋ฅญํ•˜๊ฑฐ๋‚˜ ์„๋ฅ˜ ๋ชจ๋ธ์„ PyMC๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์—ฌ ์ƒ˜ํ”Œ๋ง์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰