๋ณด๋ฆ„๋‹ฌ ๐ŸŒ #2.1 ๋จธ์‹ ๋Ÿฌ๋‹ - ์ƒ๋ฆฌ ์ฃผ๊ธฐ ์˜ˆ์ธก (ํ•œ๊ธ€)

๋ณด๋ฆ„๋‹ฌยท2020๋…„ 11์›” 26์ผ
4

๋จธ์‹ ๋Ÿฌ๋‹ / Machine Learning

๋ชฉ๋ก ๋ณด๊ธฐ
1/4
post-thumbnail

1. ์„œ๋ก 

ย ย ย ย ์ƒ๋ฆฌ ์ฃผ๊ธฐ ์˜ˆ์ธก์€ ๋ณด๋ฆ„๋‹ฌ ์„œ๋น„์Šค์˜ ํ•ต์‹ฌ์ด๋‹ค. ์ƒ๋ฆฌ ์ฃผ๊ธฐ ํŒŒ์•…์€ ์—ฌ์„ฑ ๊ฑด๊ฐ• ๊ด€๋ฆฌ์— ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ƒ๋ฆฌ ์ฃผ๊ธฐ ๊ทธ ์ž์ฒด๋กœ๋„ ์—ฌ์„ฑ ๊ฑด๊ฐ•์˜ ์ง€ํ‘œ๊ฐ€ ๋˜๊ธฐ๋„ ํ•˜๊ณ , ์ž„์‹ ์ค€๋น„, ๋Œ€๋น„์˜ ์šฉ์ด์„ฑ ๋“ฑ ์ž์‹ ์˜ ์ƒ๋ฆฌ์ฃผ๊ธฐ๋ฅผ ์ œ๋Œ€๋กœ ์•Œ์•„์•ผ ํ•˜๋Š” ์—ฌ๋Ÿฌ ์ด์œ ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฐ”์œ ํ˜„๋Œ€์ธ๋“ค์ด ์Šค์Šค๋กœ ์ฃผ๊ธฐ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š๋‹ค.

ย ย ย ย ๋ณด๋ฆ„๋‹ฌ ์„œ๋น„์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ตœ๊ทผ์˜ ์ฃผ๊ธฐ๋“ค์„ ํ™œ์šฉํ•˜์—ฌ ์ธ๊ณต์ง€๋Šฅ์ด ์‚ฌ์šฉ์ž์˜ ์ƒ๋ฆฌ ์ฃผ๊ธฐ์™€ ๋ฐฐ๋ž€์ผ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ˆ˜์น˜๋งŒ์ด ์•„๋‹ˆ๋ผ ์ตœ๊ทผ ์ฃผ๊ธฐ์˜ ๋ณ€ํ™”๋‚˜ ํŠน์ดํ•œ ์ฃผ๊ธฐ ๋“ฑ ๊ฐœ์ธ ์‚ฌ์šฉ์ž๋ณ„๋กœ ๋‘๋“œ๋Ÿฌ์ง€๋Š” ํŠน์ง•๋„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด, ๋ณด๋ฆ„๋‹ฌ์˜ ์˜ˆ์ธก๋“ค์ด ์Œ“์—ฌ๊ฐˆ ์ˆ˜๋ก ์‚ฌ์šฉ์ž๋Š” ๋” ์ •ํ™•ํ•œ ์ฃผ๊ธฐ์™€ ๋ฐฐ๋ž€์ผ ๋“ฑ ์ž์‹ ์—๊ฒŒ ๊ผญ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

2. ๋ฐ์ดํ„ฐ์…‹


ย ย ย  Open Cycle: Forecasting Ovulation for Family Planning์˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ 1798๋ช…์˜ ์ฃผ๊ธฐ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ , ๋งŽ์€ ์—ฐ๊ตฌ์— ์ธ์šฉ๋˜์—ˆ๊ธฐ์— ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์œผ๋ ค๊ณ  ํ–ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ €์ž์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋ƒˆ์œผ๋‚˜, ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†๋‹ค๋Š” ๋‹ต๋ณ€์ด๋‚˜ ๋‹ต๋ณ€์„ ๋ฐ›์ง€ ๋ชปํ–ˆ๋‹ค. ๋Œ€์•ˆ์œผ๋กœ ๋‹ค๋ฅธ ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ ์…‹์„ ์ฐพ์•˜๊ณ , ์ถฉ๋ถ„ํ•œ ์–‘์€ ์•„๋‹ˆ์—ˆ์ง€๋งŒ ์ตœ์„ ์ด๋ผ ํŒ๋‹จํ•ด ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๋‹จ, ์ด ๋ฐ์ดํ„ฐ ์…‹์—๋Š” ๊ทœ์น™์ ์ธ ์ฃผ๊ธฐ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋งŒ์ด ์กด์žฌํ•œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ํŒจํ„ด์„ ๊ฐ€์ง„ ๋ถˆ๊ทœ์น™ํ•œ ์ฃผ๊ธฐ, ์ตœ๊ทผ์— ๋ฐ”๋€ ์ฃผ๊ธฐ ๋“ฑ์˜ ์‚ฌ๋ก€๊ฐ€ ๋ถ€์กฑํ–ˆ๊ธฐ์— ์ธ์œ„์ ์ธ ๋ฐ์ดํ„ฐ ์…‹์„ ๋งŒ๋“ค์–ด ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

ย ย ย ย ์›๋ณธ ๋ฐ์ดํ„ฐ ์…‹์—์„œ cleaned dateset์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด python Jupyter Notebook์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์—ฌ๋Ÿฌ ๋ฒˆ ๋ˆ„์ ๋œ ์ •๋ณด๊ฐ€ ์•„๋‹ˆ๋ผ 1,2๋ฒˆ ์ผํšŒ์„ฑ์˜ ์ฃผ๊ธฐ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์˜ ๋ฐ์ดํ„ฐ๋Š” ์ œ์™ธํ•˜์˜€๋‹ค. ๋˜ํ•œ ๋นˆ ๊ฐ’์„ ํฌํ•จํ•œ ํ–‰์„ ์ œ๊ฑฐํ•˜๊ณ , ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž…๋ ฅ๋ฐ›์€ ํŠน์„ฑ - ClientID, CycleNumber, LengthofCycle, MeanCycleLength, EstimatedDayofOvulation, LengthofMenses, MeanMensesLength, Age, NumberPregnancies, BMI - ๋งŒ์„ ํฌํ•จํ•œ cleaned dataset์„ ๋งŒ๋“ค์—ˆ๋‹ค.

3. Feature Engineering

ย ย ย ย Feature Engineering์ด๋ž€ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ์— ์ž…๋ ฅํ•  ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ฃผ์–ด์ง„ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ํŠน์ง•์„ ๊ฐ€๊ณตํ•˜๊ณ  ์ƒ์„ฑํ•˜๋Š” ์ „์ฒด ๊ณผ์ •์ด๋‹ค. ๋ฐ์ดํ„ฐ ์…‹์˜ ํŠน์ • ์†์„ฑ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์„ ํƒํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•๋ก ์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

NN(Nueral Network) ์ธ๊ณต์‹ ๊ฒฝ๋ง
์ธ๊ณต์‹ ๊ฒฝ๋ง์€ ์ƒ๋ฌผํ•™์˜ ์‹ ๊ฒฝ๋ง์—์„œ ์˜ํ–ฅ์„ ๋ฐ›์€ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์‹œ๋ƒ…์Šค์˜ ๊ฒฐํ•ฉ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜•์„ฑํ•œ ์ธ๊ณต ๋‰ด๋Ÿฐ์ด ์‹œ๋ƒ…์Šค์˜ ๊ฒฐํ•ฉ ์„ธ๊ธฐ๋ฅผ ๋ณ€ํ™”์‹œ์ผœ ๋ฌธ์ œํ•ด๊ฒฐ๋Šฅ๋ ฅ์„ ๊ฐ€์ง€๋Š” ๋น„์„ ํ˜•๋ชจ๋ธ์ด๋‹ค.
์ถœ์ฒ˜: LG CNS ๋ธ”๋กœ๊ทธ

ย ย ย ย ์šฐ์„  ์–ด๋–ค ์†์„ฑ์ด ์ฃผ๊ธฐ ์˜ˆ์ธก์— ์–ด๋–ป๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ์†์„ฑ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด, ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์ด์šฉํ•ด ์ฃผ๊ธฐ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋น„์„ ํ˜• ํšŒ๊ท€ ๋ชจ๋ธ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ํšŒ๊ท€ ๋ชจ๋ธ์˜ ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ ๊ฐ’์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค ์‹œ๊ฐ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์—ˆ๋‹ค.


ย ย ย Cycle length๊ฐ€ ๊ธธ์–ด์งˆ์ˆ˜๋ก estimated day of ovulation๋„ ๊ธธ์–ด์ง„๋‹ค. ๋ฐฐ๋ž€ ์˜ˆ์ƒ์ผ์ด ์ฃผ๊ธฐ์˜ ๊ธธ์ด์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.


ย ย ย  ์œ„์˜ ๊ทธ๋ž˜ํ”„๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค€๋‹ค. Tensorflow์—์„œ epoch๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•™์Šตํ•˜๋Š” ํšŸ์ˆ˜, batch size๋Š” ํ•œ ๋ฒˆ์— ํ•™์Šตํ•  ๋ฐ์ดํ„ฐ์˜ ์ˆ˜, iteration์€ ํ•œ epoch์—์„œ batch๋ฅผ ํ•™์Šตํ•˜๋Š” ํšŸ์ˆ˜์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์…‹์€ ์ œํ•œ์ ์ด๊ธฐ์— 1 epoch๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ epoch๊ฐ€ ๊ณผ๋„ํ•˜๋ฉด ๊ณผ์ ํ•ฉ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์–ด Epoch์™€ batch size ๋ณ„ loss value๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์•˜๋‹ค. ์ด ๋ชจ๋ธ์˜ loss function์€ ํŠธ๋ ˆ์ด๋‹ ๊ณผ์ •์„ ํ†ตํ•ด loss value๊ฐ€ ๊ฐ์†Œํ–ˆ๊ณ , ์ตœ์ข…์ ์œผ๋กœ ํŠธ๋ ˆ์ด๋‹ loss ๊ฐ’ 0.0092์™€ ํ…Œ์ŠคํŠธ loss ๊ฐ’ 0.0096์„ ๊ธฐ๋กํ–ˆ์Œ์„ ๋ณด์—ฌ์ค€๋‹ค. ๋ฐ์ดํ„ฐ ์…‹์˜ ๋‹ค๋ฅธ ์†์„ฑ๋“ค์— ๋Œ€ํ•ด์„œ๋„ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์†์„ฑ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์ฐพ์œผ๋ ค๊ณ  ํ–ˆ๋‹ค.


ย ย ย  Length of menses์— ๋”ฐ๋ฅธ estimated day of ovulation์˜ ๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•˜์˜€๋‹ค. ์œ„์˜ ๊ทธ๋ž˜ํ”„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ, ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด๊ฐ€ ์งง์„์ˆ˜๋ก ๋ฐฐ๋ž€์ผ์ด ์งง์€ ๊ฒฝํ–ฅ์ด ์žˆ๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ ๋šœ๋ ทํ•œ ๊ฒฝํ–ฅ์„ฑ์€ ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜ํ”„์—์„œ ํŒŒ๋ž€ ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ์„ธ๋กœ๋กœ ๊ธด ๊ฒƒ์œผ๋กœ ์ง์ž‘ํ•ด, ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด์— ๋”ฐ๋ฅธ ๋ฐฐ๋ž€์ผ ๊ธธ์ด์˜ ๋ณ€ํ™” ํญ์€ ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


ย ย ย ๋‹ค์Œ์œผ๋กœ๋Š” cycle length์— ๋”ฐ๋ฅธ estimated length of menses์˜ ๊ด€๊ณ„๋ฅผ ์‚ดํŽด๋ณด์•˜์ง€๋งŒ ๋‘˜ ์‚ฌ์ด์˜ ๋ช…ํ™•ํ•œ ๊ด€๊ณ„๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค.

ย ย ย ย ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐฐ๋ž€์ผ์„ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด BMI, ์—ฐ๋ น, ์ž„์‹  ํšŸ์ˆ˜์™€์˜ ๊ด€๊ณ„๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์„ ๋•Œ๋„ ๊ด€๋ จ์„ฑ์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค. ์ด๋“ค์€ ์ฃผ๊ธฐ ์˜ˆ์ธก์— ํฐ ์˜ํ–ฅ์„ ๋ผ์น˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์˜€๋‹ค.

ย ย ย ํŠธ๋ ˆ์ด๋‹์ด ๋๋‚  ๋•Œ 0.0093์˜ loss ๊ฐ’์„ ๊ธฐ๋กํ–ˆ๊ณ  test์—์„œ 0.0093์˜ loss ๊ฐ’์„ ๊ธฐ๋กํ–ˆ๋‹ค. ์ด๋Š” ์ฒ˜์Œ์— ์–ป์€ 0.0092์˜ loss ๊ฐ’์— ๋น„ํ•ด ๊ฐœ์„ ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. 5๊ฐœ์˜ ์†์„ฑ๋งŒ์„ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ, ํ…Œ์ŠคํŠธ ์…‹์˜ loss ๊ฐ’์ด ํŠธ๋ ˆ์ด๋‹ ์…‹์˜ loss ๊ฐ’๋ณด๋‹ค ๋ฏธ์„ธํ•˜๊ฒŒ ๋‚ฎ๊ณ  ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ๊ทผ์ ‘ํ•˜์ด๊ธฐ ํ•˜์ง€๋งŒ, ์ฐจ์ด๊ฐ€ ๋งค์šฐ ์ž‘๊ธฐ์— ๊ฒฐ๊ณผ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ๋ ฅ์€ ๋ฌด์‹œ ๊ฐ€๋Šฅํ•œ ์ •๋„์ด๋‹ค.

ย ย ย ย ํŠธ๋ ˆ์ด๋‹๊ณผ ๋น„์„ ํ˜• ๋ชจ๋ธ์„ ํ†ตํ•œ feature engineering์œผ๋กœ ๋ฐ์ดํ„ฐ ์…‹์„ ์ •๋ฆฌํ•˜๊ณ  ๋‚˜์„œ, ์šฐ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ ๋“ค๋กœ ๋‹ค๋ฅธ AI ๋ชจ๋ธ๋กœ ๋ฐ”๊พธ์–ด์•ผ ํ–ˆ๋‹ค.

ย ย ย ย ์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ๋ฐฐ๋ž€์ผ์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐฐ๋ž€์ผ์€ '์ƒ๋ฆฌ ์ „ ๋ช‡์ผ'์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋˜๋Š”๋ฐ, ์ด๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์ƒ๋ฆฌ๊ฐ€ ๋๋‚  ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†๋‹ค. ์ƒ๋ฆฌ๊ฐ€ ๋๋‚˜๊ณ  ๋ฐฐ๋ž€์ผ์„ ์˜ˆ์ธกํ•œ๋‹ค๋ฉด ์ด๋Š” ์ด๋ฏธ ์ง€๋‚˜๊ฐ„ ๋ฐฐ๋ž€์ผ์ผ ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ์˜ AI ๋ชจ๋ธ์€ ์ด์ „ ์‚ฌ์ดํด์— ๋Œ€ํ•ด ํš๋“ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์Œ ์‚ฌ์ดํด์˜ ๊ธธ์ด, ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด, ๋ฐฐ๋ž€ ์ถ”์ •์ผ์„ ์˜ˆ์ธกํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

ย ย ย ย ์„ ํ–‰ ์—ฐ๊ตฌ์—์„œ๋Š” ๊ธฐ์ดˆ ์ฒด์˜จ์ด ๋ฐฐ๋ž€์ด ์–ธ์ œ ์ผ์–ด๋‚ฌ๋Š”์ง€ ๋ถ„๋ช…ํ•œ ์ง€ํ‘œ์ธ ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ , ์ด๋ฅผ ์ฃผ์š” ์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ด๊ฒƒ์€ ๋ณด๋ฆ„๋‹ฌ ์„œ๋น„์Šค์—๋Š” ์–ป์„ ์ˆ˜ ์—†๋‹ค. BBT(์‹ ์ฒด ๊ธฐ์ €์˜จ๋„)๋Š” ํŠน๋ณ„ํ•œ ์ข…๋ฅ˜์˜ ์˜จ๋„๊ณ„๋กœ, ๋งค์ผ ๊นจ์–ด๋‚  ๋•Œ ์ธก์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋Š” ์ด๋Ÿฐ ์˜จ๋„๊ณ„๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์ง€๋„ ๊ธฐ์ƒ ์‹œ์— ์ฒด์˜จ ์ธก์ •์„ ํ•˜์ง€๋„ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•ด๋‹น ์—ฐ๊ตฌ ๋…ผ๋ฌธ์—์„œ ๋ฐฐ๋ž€์ผ ์˜ˆ์ธก์„ ์œ„ํ•ด CNN(Convolutional Neural Network) ๋ชจ๋ธ๊ณผ LSTM(Long Short Term Memory model) ๋ชจ๋ธ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ–ˆ๋Š”๊ฐ€์™€ ๊ทธ ๋ชจ๋ธ์ด ์–ผ๋งˆ๋‚˜ ํšจ๊ณผ์ ์ธ๊ฐ€๋Š” ์ด์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ย ย ย ย LSTM์ด๋‚˜ CNN ๋ชจ๋ธ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์—, ์šฐ๋ฆฌ๋Š” ํ‰๊ท  ์ฃผ๊ธฐ ๊ธธ์ด์™€ ํ˜„์žฌ ์ฃผ๊ธฐ์˜ ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ๋ž€์ผ์„ ์˜ˆ์ธกํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๋‹ค. ๋ฐฐ๋ž€์ผ์€ ์ƒ๋ฆฌ ๋ฉฐ์น  ์ „์— ๋ฐœ์ƒํ•˜๋ฏ€๋กœ, ์ด์ „ ์‚ฌ์ดํด์˜ ํ‰๊ท ๊ฐ’๊ณผ ํ˜„์žฌ ์‚ฌ์ดํด์˜ ๋ฉ˜ํŠธ ๊ธธ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฐ๋ž€์ผ ์˜ˆ์ธก์„ ์‹œ๋„ํ–ˆ์œผ๋‚˜ ์ด๋Š” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๊ฐœ์ธ๋งˆ๋‹ค ์ฃผ๊ธฐ, ๋ฐฐ๋ž€์ผ, ์ƒ๋ฆฌ์˜ ๊ธธ์ด๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๊ณผ์ •์„ ํ†ตํ•ด, ์šฐ๋ฆฌ๋Š” ๋ฐฐ๋ž€์ผ์ด ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด์™€ ๋ช…ํ™•ํ•œ ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


ย ย ย ํŠธ๋ ˆ์ด๋‹ ์„ธํŠธ์—์„œ 0.187, ํ…Œ์ŠคํŠธ ์„ธํŠธ์—์„œ 0.2์˜ loss ๊ฐ’์— ๊ทธ์ณค์ง€๋งŒ, ์ด์ „ ๋ชจ๋ธ๊ณผ ๋น„๊ตํ•ด ์—„์ฒญ๋‚œ ์ˆ˜์˜ epochs๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๊ณผ์ ํ•ฉ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.

4. ๋ฐฉ๋ฒ•๋ก 

์‹œ๊ณ„์—ด ๋ถ„์„(Time Series Analysis)
์‹œ๊ฐ„์—์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ด€์ธกํ•œ ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค. ํšŒ๊ท€๋ถ„์„์ด ๋…๋ฆฝ๋ณ€์ˆ˜๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ด๊ณ  ๋ณ€์ˆ˜ ๊ทธ ์ž์ฒด๋„ ๋…๋ฆฝ์„ฑ์„ ๊ฐ€์ง„๋‹ค๋Š” ๊ฒƒ์„ ์ „์ œ๋กœ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, ์‹œ๊ณ„์—ด๋ถ„์„์€ ๋ณ€์ˆ˜๊ฐ€ ์ž๊ธฐ์ƒ๊ด€์„ฑ์„ ๊ฐ€์ง€๋Š” ๊ฒƒ์„ ์ „์ œ๋กœ ํ•˜๋ฉฐ ๋…๋ฆฝ๋ณ€์ˆ˜๋กœ๋Š” ์‹œ๊ฐ„์„ ์‚ฌ์šฉํ•œ๋‹ค. ์•ž์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋’ค์˜ ๋ฐ์ดํ„ฐ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค๊ณ  ๋ณด๊ณ  ๋ถ„์„์— ์ž„ํ•˜๋ฏ€๋กœ ๊ทธ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.

LSTM(Long Short-Term Memory models)
LSTM์€ RNN(Recurrent Neural Networks)์˜ ํ•œ ์ข…๋ฅ˜์ด๋‹ค. RNN์€ ํžˆ๋“  ๋…ธ๋“œ๊ฐ€ ๋ฐฉํ–ฅ์„ ๊ฐ€์ง„ ์—ฃ์ง€๋กœ ์—ฐ๊ฒฐ๋ผ ์ˆœํ™˜๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๋Š”(directed cycle) ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ํ•œ ์ข…๋ฅ˜๋กœ ์Œ์„ฑ, ๋ฌธ์ž ๋“ฑ ์ˆœ์ฐจ์ ์œผ๋กœ ๋“ฑ์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ ํ•ฉํ•œ ๋ชจ๋ธ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ RNN์€ ๊ด€๋ จ ์ •๋ณด์™€ ๊ทธ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ง€์  ์‚ฌ์ด ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€ ๊ฒฝ์šฐ ์—ญ์ „ํŒŒ์‹œ ๊ทธ๋ž˜๋””์–ธํŠธ๊ฐ€ ์ ์ฐจ ์ค„์–ด ํ•™์Šต๋Šฅ๋ ฅ์ด ํฌ๊ฒŒ ์ €ํ•˜๋œ๋‹ค. LSTM์€ RNN์˜ ํžˆ๋“  state์— cell-state๋ฅผ ์ถ”๊ฐ€ํ•จ์œผ๋กœ์จ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ๋‹ค.

CNN(Convolutional Neural Network)
CNN์€ ํ•ฉ์„ฑ๊ณฑ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ANN(Artificial Neural Network, ์ธ๊ณต ์‹ ๊ฒฝ๋ง)์˜ ํ•œ ์ข…๋ฅ˜๋กœ, ๋ฐ์ดํ„ฐ์—์„œ ์ง์ ‘ ํ•™์Šตํ•˜๊ณ  ํŒจํ„ด์„ ์‚ฌ์šฉํ•ด ๋ถ„๋ฅ˜ํ•œ๋‹ค. ์ฆ‰, ํŠน์ง•์„ ์ˆ˜๋™์œผ๋กœ ์ถ”์ถœํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐ’์ด ๊ฒฉ์žํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋ธ์ด๋‹ค.

ย ย ย ย ์œ„ ๋‘๊ฐœ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด ์‹œ๊ณ„์—ด ๋ถ„์„์„ ํ–ˆ๋‹ค.

5. ํ‰๊ฐ€ & ๋ถ„์„

ย ย ย ย LSTM ๋ชจ๋ธ์„ ๋จผ์ € ์‹œ๋„ํ–ˆ์ง€๋งŒ, ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ์˜ค๋ฅ˜์— ๋ถ€๋”ชํ˜€ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. tensorflow.js ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” python์—์„œ tensorFlow๋งŒํผ ํฌ์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ์‚ฌ๋ก€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ๋‹ค. ์˜ค๋ฅ˜๋Š” ์ž…๋ ฅ์˜ ์ฐจ์›์— ๊ด€ํ•œ ๊ฒƒ์ด์—ˆ๋Š”๋ฐ, 2๊ฐ€ ์•„๋‹ˆ๋ผ 3์ด ๋˜์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ํŠน์ •ํ•œ ์˜ค๋ฅ˜๋ฅผ ๊ณ ์น  ์ˆ˜๋„, ์™œ ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜๋„ ์—†์—ˆ๋‹ค.

ย ย ย ย ๊ทธ๋ž˜์„œ CNN ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด ์‹œ๊ณ„์—ด ๋ถ„์„์„ ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค. 1D CNN์—์„œ, convolutional layer์˜ kernel์ด ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์›€์ง์ธ๋‹ค. ๋ชจ๋ธ์ด ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅ ํ…์„œ๋ฅผ 3d ํ…์„œ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•ด๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” 1์ฐจ์› ๊ธฐ๋Šฅ ๋ฐฐ์—ด์ด๋‹ค.

ย ย ย  ์‹œ๊ณ„์—ด ์˜ˆ์ธก์œผ๋กœ ์ž‘์—…ํ•  ๋•Œ, ์ฃผ๊ธฐ ์˜ˆ์ธก์ฒ˜๋Ÿผ ์ด์ „ ๊ฐ’์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ธ ๊ฒฝ์šฐ, ์‚ฌ์šฉ๋œ ๋ผ๋ฒจ์€ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์˜ ํ˜•์ƒ๊ฐ’ ๋‹ค์Œ ๊ฐ’์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด์ „ ์ฃผ๊ธฐ์˜ n=44 ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ์„ฑ์˜ ๋‹ค์Œ ์ฃผ๊ธฐ์˜ ๊ธธ์ด๋ฅผ ์˜ˆ์ธกํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ํ˜•์ƒ(4๋ฅผ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ์Œ)์œผ๋กœ ์ด์ „ ์ฃผ๊ธฐ์˜ ์ˆ˜๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ฐ ํ˜•์ƒ ๊ทธ๋ฃน ๋’ค์— ๋‹ค์Œ ๊ฐ’์„ ๋ ˆ์ด๋ธ”๋กœ ์„ ํƒํ•œ๋‹ค. CNN์€ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ๊ฐ’์ด ๊ฒฉ์žํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋ธ์ด๊ธฐ์—, 8๊ฐœ์˜ ์ฃผ๊ธฐ ๋ฐ์ดํ„ฐ๋ฅผ 2๋ฒˆ ์‚ฌ์šฉํ•ด cycle1~4์˜ feature์™€ NextCycle์˜ label์œผ๋กœ ๋ณ€ํ˜•ํ•˜์—ฌ ํ•™์Šตํ•˜์˜€๋‹ค.

ย ย ย ์ฃผ๊ธฐ ๊ธธ์ด ์˜ˆ์ธก ํŠธ๋ ˆ์ด๋‹ ์ข…๋ฃŒ ํ›„ loss ๊ฐ’์€์€ ํ‰๊ท  0.0018์ด๋‹ค. ๊ฐ’ ์˜ˆ์ธก์— ์žˆ์–ด ๋งŒ์กฑํ•  ๋งŒํ•œ ์ˆ˜์น˜์ด๋‹ค.

ย ย ย ย ํŒจํ„ด์ด ์žˆ๋Š” ๋ถˆ๊ทœ์น™ํ•œ ์ฃผ๊ธฐ๋ฅผ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์˜ ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ˆ์ธก ์‹œ [28,40,27,40]์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ ฅ์€ 27์ด๋ฉฐ, ์ด๋Š” ์›๋ณธ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ์˜ ๊ฐ’๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•˜๋‹ค. [40,27,40,27]์„ ์‚ฌ์šฉํ•  ๋•Œ์—๋„, ์ด ํŠน์ • ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ๋ฐœ๊ฒฌ๋œ ํŒจํ„ด์— ๋”ฐ๋ผ 40์ด ๋œ๋‹ค.

ย ย ย ๊ฐ™์€ ์ ‘๊ทผ๋ฐฉ์‹๊ณผ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด๋ฅผ ์˜ˆ์ธกํ–ˆ์„ ๋•Œ๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ƒ๋ฆฌ์ผ์˜ ๊ธธ์ด ์˜ˆ์ธก ์ •ํ™•๋„๋Š” ์•ฝ๊ฐ„ ๋” ๋‚ฎ์•˜๋‹ค.


ย ย ย ๊ทธ๋Ÿฌ๋‚˜ ๋ฐฐ๋ž€์ผ ์˜ˆ์ธก์˜ loss ๊ฐ’์€ ํ›Œ๋ฅญํ•œ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค. ์ด๊ฒƒ์€ ๋ฐฐ๋ž€์ผ๊ณผ ์ฃผ๊ธฐ์˜ ๊ธธ์ด ์‚ฌ์ด์˜ ๊ด€๊ณ„๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค. Feature engineering ๊ณผ์ •์—์„œ ์‚ดํŽด๋ณธ ๊ฒƒ ์ฒ˜๋Ÿผ estimated day of ovulation์€ cycle length๊ฐ€ ๊ธธ์ˆ˜๋ก ๊ธธ์–ด์ง„๋‹ค. ๋•Œ๋ฌธ์— ์ฃผ๊ธฐ ๊ธธ์ด ์˜ˆ์ธก์„ ์ž˜ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋ฐฐ๋ž€์ผ ์˜ˆ์ธก๋„ ์ž˜ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
ย ย ย Loss ๊ฐ’์€ 0.04์ด๋‹ค.

6. ๊ด€๋ จ ์—ฐ๊ตฌ

7. ๊ฒฐ๋ก 

ย ย ย ย ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ†ตํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๋ชฉํ‘œํ–ˆ๋˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋ณด๋ฆ„๋‹ฌ ์„œ๋น„์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ๋‹ค์Œ ์ƒ๋ฆฌ ์ฃผ๊ธฐ, ๋ฐฐ๋ž€์ผ์„ ์˜ˆ์ธกํ•˜์—ฌ ์•Œ๋ ค์ค€๋‹ค. ์ด๋Š” ์—ฌ์„ฑ ๊ฑด๊ฐ• ์–ดํ”Œ์—์„œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ด ๋˜๋Š” ๊ธฐ๋Šฅ์ด๊ณ , ๋ณด๋ฆ„๋‹ฌ ์„œ๋น„์Šค์—์„œ๋„ ์ฃผ์ถ•์ด ๋  ๊ฒƒ์ด๋‹ค.

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

profile
๋‹น์‹ ์˜ ์—ฌ์„ฑ ๊ฑด๊ฐ• ์ง€ํ‚ด์ด

0๊ฐœ์˜ ๋Œ“๊ธ€