๊ฐœ์ธ๊ณต๋ถ€/Python

74. NIPA AI์˜จ๋ผ์ธ ๊ต์œก AI ์‹ค๋ฌด ์‘์šฉ ๊ณผ์ • (5)์‚ฐ์—…๋ณ„ AIํ˜์‹  ์‚ฌ๋ก€

LEE_BOMB 2021. 12. 8. 20:58
์ œ์กฐ๋ถ„์•ผ์—์„œ์˜ ์ธ๊ณต์ง€๋Šฅ

1. ์Šค๋งˆํŠธํŒฉํ† ๋ฆฌ

- ์ œ์กฐ ์ƒ์‚ฐ์„ ์œ„ํ•œ ์ˆ˜์ง์  ํ†ตํ•ฉ ๋ฐ ๋„คํŠธ์›Œํฌํ™”๋œ ์ œ์กฐ ์‹œ์Šคํ…œ์„ ๊ฐ–์ถ˜ ๊ณต์žฅ

- ์ œ์กฐ ๊ณต์ • ๋ฐ ์šด์˜ ๋ฐ์ดํ„ฐ์™€ ํ†ตํ•ฉ

1) ์˜ค์ž‘๋™ ๋ชจ๋‹ˆํ„ฐ๋ง

- ๊ธฐ๊ณ„ ์„ค๋น„์˜ ์˜ค์ž‘๋™์œจ์€ ํ™˜๊ฒฝ(์ œ์กฐ์œจ, ์Šต๊ธฐ, ์˜จ๋„ ๋“ฑ)์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

- ๋”ฐ๋ผ์„œ ํŠน์ • ์„ผ์„œ 1,2๊ฐœ๋งŒ์œผ๋กœ ์˜ค์ž‘๋™์„ ์˜ˆ์ธกํ•˜๊ธฐ์—๋Š” ์ •ํ™•๋„์— ํ•œ๊ณ„

-> ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•œ ZI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ์˜ค์ž‘๋™ ์‹œ์ ์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์Œ

 

2) ์ œํ’ˆ ์„ฑ๋Šฅ ๋ชจ์˜ ์‹คํ—˜ (Digital Twin)

- ์‹ค์ œ ๊ณต์žฅ์„ ๋งŒ๋“ค์–ด ์ œํ’ˆ ์ƒ์‚ฐ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ์—๋Š” ๋ง‰๋Œ€ํ•œ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ์†Œ๋ชจ

- ๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•œ ๊ฐ€์ƒ์˜ ๊ณต์žฅ์—์„œ ๋ชจ์˜ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์—ฌ ์ œํ’ˆ ๊ฐœ๋ฐœ, ์ œํ’ˆ ๊ฐœ์„ , ์œ ์ง€๋ณด์ˆ˜ ์ง„ํ–‰

์‚ฌ๋ก€) ๋…์ผ์˜ ์œ ๋Ÿฝ ์ตœ๋Œ€ ์—”์ง€๋‹ˆ์–ด๋ง ํšŒ์‚ฌ ์ง€๋ฉ˜์Šค

 

3) ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์˜์‚ฌ๊ฒฐ์ • ์ตœ์ ํ™”

- ์Šค๋งˆํŠธํŒฉํ† ๋ฆฌ ๋‚ด์—์„œ ์ฐฝ์ถœ๋˜๋Š” ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„์„ ํ†ตํ•ด ์˜์‚ฌ๊ฒฐ์ • ์ตœ์ ํ™”

- ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜์˜ ์ตœ์ ์˜ ์šด์˜ ์Šค์ผ€์ค„๋ง ๋“ฑ์„ ํ†ตํ•ด ์ „๋ ฅ ์‚ฌ์šฉ๋Ÿ‰ ์ ˆ๊ฐ ๋“ฑ์— ํ™œ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค

 

4) ๊ณต์ • ์ž๋™ํ™”

4-1) ๊ณต์ • ํšจ์œจ ์ฆ๋Œ€

- AI๊ธฐ์ˆ ์„ ํ™œ์šฉํ•ด ๊ธฐ์กด์— ์‚ฌ๋žŒ์ด ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋น„ํšจ์œจ ๋ฐœ๊ฒฌ์ด ๊ฐ€๋Šฅ

- ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ํ†ตํ•ด ๋ณ‘๋ชฉ ๋ฐ ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ์ง€์ ์„ ์ฐพ์•„ ๊ณต์žฅ ์ตœ์ ํ™” ๊ฐ€๋Šฅ

-> ๋ถ„์„์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ์ด๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ณต์ง€๋Šฅ ์†”๋ฃจ์…˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ

 

4-2) ์žฌ๊ณ ๊ด€๋ฆฌ ๋ฐ ๋ฌผ๋ฅ˜ ์ž๋™ํ™”

- ๋ฐ์ดํ„ฐํ™” ๋œ ๋ฌผ๋ฅ˜ ์ž์›์„ ๊ณต์œ ํ•˜์—ฌ ์ˆ˜์š” ๋ฐ ๊ณต๊ธ‰ ์˜ˆ์ธก

- ์‚ฌ๋žŒ์˜ ๋„์›€ ์—†์ด ํ•˜์ฐจ, ๊ฒ€์ˆ˜, ์ ์žฌ, ๋ถ„๋ฅ˜, ์ƒ์ฐจ์— ๋Œ€ํ•œ ๋ฌผ๋ฅ˜ ์ „ ๊ณผ์ •์˜ ์ž๋™ํ™” ๊ฐ€๋Šฅ

 

 

 

2. ์‚ฐ์—… ์ž๋™ํ™”

- ICT์™€ ๊ธฐ๊ณ„ ๊ธฐ์ˆ  ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ์ •ํ•ด์ง„ ํˆด์— ์˜ํ•ด ์ž๋™ ์šด์ „ ๊ฐ€๋Šฅ

- ์ œ์กฐ ๊ณต์ • ์ž๋™ํ™”๋ฅผ ํ†ตํ•œ ์ธ๊ฑด๋น„, ์šด์˜๋น„ ์ ˆ์•ฝ

 

 

 

์ธ๊ณต์ง€๋Šฅ ์ ์šฉ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ 

1. ํ•ด๋‹น ๋„๋ฉ”์ธ์—์„œ์˜ ํ™•์‹คํ•œ ๋ชฉํ‘œ ํ™•๋ฆฝ

2. ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ „๋ฌธ๊ฐ€์™€์˜ ์ง€์†์  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜

3. ์ธ๊ณต์ง€๋Šฅ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์กฐ์„ฑ

 

 

[ํ€ด์ฆˆ] ๋‹ค์Œ ์ค‘ <์ด๊ฒƒ>์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋…์œผ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

์ œํ’ˆ ์ƒ์‚ฐ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด, <์ด๊ฒƒ> ์„ ํ™œ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•œ ๊ฐ€์ƒ์˜ ๊ณต์žฅ์—์„œ ๋ชจ์˜ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜์—ฌ ์ œํ’ˆ ๊ฐœ๋ฐœ, ๊ฐœ์„ , ์œ ์ง€๋ณด์ˆ˜ ๋“ฑ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
1. ์Šค๋งˆํŠธ ํŒฉํ† ๋ฆฌ
2. ์ œํ’ˆ ์„ฑ๋Šฅ ๋ชจ์˜ ์‹คํ—˜
3. ๊ณ ๊ธ‰ ํ”„๋กœ์„ธ์Šค ์ œ์–ด
4. ๊ณต์ • ์ž๋™ํ™”

[์ •๋‹ต] 2

 

[ํ€ด์ฆˆ2] ๋‹ค์Œ ์ค‘ ์ œ์กฐ ์‚ฐ์—…์—์„œ์˜ AI ๊ธฐ์ˆ  ๋„์ž…์˜ ํ•„์š”์„ฑ์œผ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

1. ์ œ์กฐ ํ˜„์žฅ์˜ ๋ณต์žก์„ฑ์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ, ์‚ฌ๋žŒ์ด ๋ชจ๋“  ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•˜๊ธฐ์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ
2. AI ๊ธฐ์ˆ  ๋„์ž…์„ ํ†ตํ•ด ๋ฌด์กฐ๊ฑด์ ์ธ ์ด์œค ์ฐฝ์ถœ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ
3. AI ๊ธฐ์ˆ  ๋„์ž… ๋น„์šฉ์ด ๊ฐˆ์ˆ˜๋ก ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ์ผ์ฐ ๋„์ž…ํ•ด์•ผ ํ•˜๋ฏ€๋กœ
4. ์ •๋‹ต ์—†์Œ

[์ •๋‹ต] 3

 

[ํ€ด์ฆˆ3] ๋‹ค์Œ ์ค‘ ์ œ์กฐ ์‚ฐ์—…์˜ ๋””์ง€ํ„ธ ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜ ์‚ฌ๋ก€๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

1. ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ณต์ •์„ ์ตœ์ ํ™”ํ•œ๋‹ค.
2. ์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณต์ • ์ด์ƒ์„ ์‚ฌ์ „์— ์˜ˆ์ธกํ•œ๋‹ค.
3. ๊ฐ€์ƒ์˜ ๊ณต์žฅ์„ ๋งŒ๋“ค์–ด ์ œ์กฐ ํ™˜๊ฒฝ์„ ๋ฏธ๋ฆฌ ํ…Œ์ŠคํŠธํ•ด๋ณธ๋‹ค.
4. ์†Œ๋น„์ž ๊ฐœ๊ฐœ์ธ์˜ ์ƒํ™œ ํŒจํ„ด์„ ํŒŒ์•…ํ•˜์—ฌ ์ตœ์ ์˜ ์•ฑํ‘ธ์‹œ ํƒ€์ด๋ฐ์„ ๋„์ถœํ•œ๋‹ค.

[์ •๋‹ต] 4
 
[ํ€ด์ฆˆ4] ๋‹ค์Œ ์ค‘ ์‚ฐ์—… ๋‚ด AI ์ ์šฉ์„ ์œ„ํ•ด ๊ณ ๋ คํ•ด์•ผ ํ•  ์ ์œผ๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

1. ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ „๋ฌธ๊ฐ€์™€์˜ ์ง€์†์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜
2. ํ•ด๋‹น ๋„๋ฉ”์ธ์—์„œ์˜ ํ™•์‹คํ•œ ์ธ๊ณต์ง€๋Šฅ ์ ์šฉ ๋ชฉํ‘œ ํ™•๋ฆฝ
3. ์žฅ๊ธฐ์  ๋น„์ „๋ณด๋‹ค๋Š” ๋‹จ๊ธฐ ์„ฑ๊ณผ ์œ„์ฃผ๋กœ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ํ‰๊ฐ€
4. AI์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์กฐ์„ฑ

[์ •๋‹ต] 3
 
 
 
 
[์—ฐ์Šต๋ฌธ์ œ1] 

๊ฐœ์š”

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

์‹ค์Šต ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

๋ฐ˜๋„์ฒด๋ฅผ ์ œ์กฐํ•˜๋Š” ๊ณต์ •์—์„œ 590๊ฐœ์˜ ์„ผ์„œ๊ฐ€ ์‹œ๊ฐ„ ๋ณ„๋กœ ๊ธฐ๋กํ•œ ๋ฐ์ดํ„ฐ ์ƒ˜ํ”Œ 1,567๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์Šต๋‹ˆ๋‹ค. Pass/Fail ์นผ๋Ÿผ์€ ํƒ€์ž„ ์Šคํƒฌํ”„ ๋ณ„๋กœ ๊ฐ„๋‹จํ•œ ํ†ต๊ณผ ์‹คํŒจ์œจ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์—ฌ๊ธฐ์„œ –1์€ ํ†ต๊ณผ(์ •์ƒ)์— ํ•ด๋‹นํ•˜๊ณ  1์€ ์‹คํŒจ(์ด์ƒ)์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์€ 592๊ฐœ์˜ ์นผ๋Ÿผ(590๊ฐœ์˜ ์„ผ์„œ, 1๊ฐœ์˜ ํ…Œ์ŠคํŠธ ํ†ต๊ณผ ๊ฒฐ๊ณผ, 1๊ฐœ์˜ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ)๊ณผ 1,567๊ฐœ์˜ ๋กœ์šฐ(ํ–‰) ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•˜์—ฌ, ๋ถˆ๋Ÿ‰ ๋ฐ˜๋„์ฒด๊ฐ€ ์ œ์กฐ๋  ์ˆ˜ ์žˆ๋Š” ๊ณต์ • ์ด์ƒ ์œ ๋ฌด๋ฅผ ์˜ˆ์ธกํ•˜์—ฌ ๋ด…์‹œ๋‹ค. 

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”. 

ma.preprocess() Copy

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•™์Šต์„ ์ˆ˜ํ–‰์‹œ์ผœ๋ณด์„ธ์š”.

ma.train(x_train_us, y_train_us)

 

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”.
    """
    x_train_us, x_test_us, y_train_us, y_test_us = ma.preprocess()
    
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 2๋ฒˆ. ํ•™์Šต์„ ์ˆ˜ํ–‰์‹œ์ผœ๋ณด์„ธ์š”.
    """
    model = ma.train(x_train_us, y_train_us)
    
    
if __name__ == "__main__":
    main()
 
 
 
 
[์—ฐ์Šต๋ฌธ์ œ2]

์žฌํ˜„์œจ ํ™•์ธํ•˜๊ธฐ

์ธ๊ณต์ง€๋Šฅ๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ๋‚˜๋ฉด, ํ•ด๋‹น ๋ชจ๋ธ์ด ์–ผ๋งˆ๋‚˜ ์ •ํ™•ํžˆ ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋Š”์ง€๋ฅผ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹ค์Šต์—์„œ์˜ ๋ชจ๋ธ ํผํฌ๋จผ์Šค๋Š” ์žฌํ˜„์œจ(recall score)์ด๋ผ๋Š” ๊ฐ’์„ ํ†ตํ•˜์—ฌ ํ‰๊ฐ€ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

ํŠน์„ฑ ์ค‘์š”๋„ ํ™•์ธํ•˜๊ธฐ

๊ณต์žฅ์˜ ์„ผ์„œ ๋ฐ์ดํ„ฐ๋กœ ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๋ฉด, ๋‹จ์ˆœํ•œ ์˜ˆ์ธก ์ •ํ™•๋„ ์ด์ƒ์˜ ์ง€ํ‘œ๋ฅผ ์ถ”๊ฐ€๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก ์ •ํ™•๋„ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.

ma.evaluation()

 

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ์˜ˆ์ธก ์ •ํ™•๋„ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
    """
    ma.evaluation()

if __name__ == "__main__":
    main()

 

 

 

[์—ฐ์Šต๋ฌธ์ œ3]

๊ณต์ • ์ด์ƒ ์˜ˆ์ธกํ•˜๊ธฐ

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

1. None์„ ์ง€์šฐ๊ณ  103 ๋ฒˆ ์„ผ์„œ์˜ ๊ด€์ธก์น˜ ๊ฐ’์„ ์ง์ ‘ ์ž…๋ ฅํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. value_103_sensor์— ์ •์ƒ ๋ฒ”์œ„์˜ ๊ฐ’-0.02์ด์ƒ 0์ดํ•˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.

 

import machine as ma

def main():
	
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. 103๋ฒˆ ์„ผ์„œ๊ฐ’์ธ ์•„๋ž˜์˜ value_103_sensor ๊ฐ’์„ ๋ฐ”๊พธ์–ด๋ณด์„ธ์š”.
    """
    value_103_sensor = -0.01
    
    # ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    ma.predict(value_103_sensor)
    
if __name__ == "__main__":
    main()

 

 

 

 

 

 

์ด์ปค๋จธ์Šค ์‚ฐ์—…์˜ AIํ˜์‹ 

1. ๋งž์ถคํ˜• ์ƒํ’ˆ ์ถ”์ฒœ

- ๊ณ ๊ฐ์€ ์Šค์Šค๋กœ ๊ฒฝํ—˜ํ•œ์  ์—†๋Š” ์ƒํ’ˆ์— ๋Œ€ํ•ด ์„ ํ˜ธ๋„ ํŒŒ์•…์ด ์–ด๋ ค์›€

- ๋ณด์œ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ณ ๊ฐ๊ตฐ๋ณ„๋กœ ๋ชจ๋“  ์ƒํ’ˆ์— ๋Œ€ํ•œ ์„ ํ˜ธ๋„๋ฅผ ์˜ˆ์ธกํ•˜์—ฌ ๊ณ ๊ฐ ๊ฐœ๊ฐœ์ธ์—๊ฒŒ ํ•ด๋‹น ์„ ํ˜ธ๋„ ์˜ˆ์ธก ๊ฒฐ๊ณผ๊ฐ’ ์ œ๊ณต

-> ์†Œ๋น„์ž ๊ฐœ๊ฐœ์ธ์˜ ๋ฐ์ดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•ด ์ถ”์ฒœ ์ƒํ’ˆ ๋ชฉ๋ก์„ ์ œ์ž‘ ๋ฐ ์ œ๊ณต, ์ถ”๊ฐ€ ๋งค์ถœ ๊ธฐํšŒ ํš๋“

 

์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

- ๋ฏธ๋ฆฌ ์„ค์ •ํ•œ ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์ด ์•„๋‹Œ ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์ธ๊ณต์ง€๋Šฅํ˜• ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

- ๊ตฌ๋งค ๋‚ด์—ญ, ๊ณ ๊ฐ ํ”„๋กœํŒŒ์ผ, ์†Œ๋น„ ํŒจํ„ด, ์ƒํ’ˆ ์„ ํ˜ธ๋„ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฏธ๋ž˜์˜ ์†Œ๋น„ ์˜ˆ์ธก

-> ๊ณ ๊ฐ ์„ ํ˜ธ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ์Œ“์ผ์ˆ˜๋ก ์ •๋ฐ€ํ•œ ์˜ˆ์ธก ๊ฐ€๋Šฅ

 

1) ์•„์ดํ…œ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ๋ฐฉ์‹ : ๊ตฌ๋งคํ•œ ์ œํ’ˆ๊ณผ ์œ ์‚ฌํ•œ ์ œํ’ˆ ์ถ”์ฒœ (์‚ฌ๋žŒ์ด ํ•˜๋‚˜ํ•˜๋‚˜ ๋ถ„๋ฅ˜ํ•œ ์ œํ’ˆ๊ตฐ)

2) ์ด์šฉ์ž ๊ธฐ๋ฐ˜ ์ถ”์ฒœ๋ฐฉ์‹ : ์œ ์‚ฌ ๊ทธ๋ฃน ๊ฐ„ ๊ตฌ๋งค ํŒจํ„ด์„ ํŒŒ์•…ํ•˜์—ฌ ์ œํ’ˆ ์ถ”์ฒœ

 

์‚ฌ๋ก€) ์œ ํŠœ๋ธŒ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜

- ์œ ํŠœ๋ธŒ์˜ ๊ฒฝ์šฐ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐ€์žฅ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€ํ‘œ ์„œ๋น„์Šค

- ๋Œ€๋ถ€๋ถ„์˜ ์กฐํšŒ์ˆ˜๊ฐ€ ๊ฒ€์ƒ‰์ด ์•„๋‹Œ ์ถ”์ฒœ ๋™์˜์ƒ์„ ํ†ตํ•ด ๋ฐœ์ƒ

- ๊ณ ๊ฐ ๊ฐœ์ธ์˜ ์ทจํ–ฅ๊ณผ ์˜์ƒ ๊ฐ„์˜ ๊ด€๊ณ„, ๋™์งˆ ์ง‘๋‹จ์˜ ํŠน์„ฑ ๋“ฑ์„ ๋ถ„์„ํ•˜์—ฌ ๋งž์ถค ๋™์˜์ƒ ์ถ”์ฒœ

 

 

 

2. ๊ฐœ์ธํ™”๋œ ๋งˆ์ผ€ํŒ… ์ „๋žต

- ๊ณ ๊ฐ ๊ฐœ๊ฐœ์ธ์˜ ํŠน์„ฑ์„ ๋ถ„์„ํ•˜์—ฌ ์†Œ๋น„์ž๋“ค ๊ฐ๊ฐ์—๊ฒŒ ์ตœ์ ํ™”๋œ ์„œ๋น„์Šค ์ œ๊ณต

- ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ ํ”„๋กœํŒŒ์ผ, ํ–‰๋™, ์„ฑํ–ฅ, ๊ด€์‹ฌ์‚ฌ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ์ˆ˜์ง‘ํ•˜์—ฌ ๋ถ„์„

-> AI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณ ๊ฐ๋ณ„ ๊ตฌ๋งค ์„ฑํ–ฅ์„ ์˜ˆ์ธกํ•˜์—ฌ ๋งž์ถคํ˜• ๋งˆ์ผ€ํŒ… ๋ฉ”์‹œ์ง€ ๋„์ถœ ๊ฐ€๋Šฅ

 

* ๊ณผ๊ฑฐ์—๋Š” ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์˜ ํ•œ๊ณ„๋กœ ๊ณ ๊ฐ์„ ๋‹จ์ˆœํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ (๊ณ ๊ฐ segmentation ๊ธฐ๋ฐ˜)

AI๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ณ ๊ฐ์˜ ๊ฐœ์ธํ™”๋œ ํŠน์„ฑ ํŒŒ์•…์ด ๊ฐ€๋Šฅ

 

 

 

3. ๊ณ ๊ฐ ํŽธ์˜ ์„œ๋น„์Šค ์ œ๊ณต

- ์‡ผํ•‘์˜ ํŽธ์˜์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ์ธ๊ณต์ง€๋Šฅ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ ์„œ๋น„์Šค ์ œ๊ณต

์‚ฌ๋ก€) Amazon์˜ AI๋น„์„œ ์•Œ๋ ‰์‚ฌ์˜ ๊ฒฝ์šฐ AI์Šคํ”ผ์ปค๋ฅผ ํ™œ์šฉํ•ด ์ฃผ๋ฌธ์ƒํ™ฉ์กฐํšŒ, ๋ฐฐ์†ก ์กฐํšŒ, ์ œํ’ˆ ์ถ”์ฒœ, ๊ธฐ์กด ์ƒํ’ˆ ์žฌ๊ตฌ๋งค ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ด ์ถ”๊ฐ€ ๋งค์ถœ ๊ธฐํšŒ ํš๋“

- ์ฑ—๋ด‡์€ ๊ณ ๊ฐ๋ฌธ์˜์— ๋Œ€ํ•œ ์‹ ์†ํ•œ ์ฒ˜๋ฆฌ๋กœ ๊ณ ๊ฐ ํŽธ์˜์™€ ๋‹ค๊ฐํ™”๋œ ๋ฌธ์˜ ๋Œ€์‘ ๊ฐ€๋Šฅ, ๋น„์šฉ๊ณผ ์‹œ๊ฐ„ ์ ˆ๊ฐ ๊ฐ€๋Šฅ

 

 

 

[ํ€ด์ฆˆ1] ๋‹ค์Œ ์ค‘ ์ด์ปค๋จธ์Šค ๋ถ„์•ผ์—์„œ์˜ AI ํ™œ์šฉ์œผ๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

1. ๋„๋งค ์ƒํ’ˆ ํ’ˆ์งˆ ๊ฒ€์ˆ˜
2. ๊ฐœ์ธํ™”๋œ ๋งˆ์ผ€ํŒ… ์ „๋žต
3. ๊ณ ๊ฐ ํŽธ์˜ ์„œ๋น„์Šค ์ œ๊ณต
4. ๋งž์ถคํ˜• ์ƒํ’ˆ ์ถ”์ฒœ

[์ •๋‹ต] 1

 

[ํ€ด์ฆˆ2] ๋‹ค์Œ ์ค‘ ์ผ๋ฐ˜์ ์ธ ์ƒํ’ˆ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ตฌ์ถ•์— ์žˆ์–ด ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ๋ฅด์„ธ์š”.

1. ์ œํ’ˆ ๋งค์ž… ๋‹จ๊ฐ€
2. ๊ณ ๊ฐ๋ณ„ ์†Œ๋น„ ํŒจํ„ด ๋ฐ์ดํ„ฐ
3. ๊ณ ๊ฐ ์„ ํ˜ธ๋„ ๋ฐ์ดํ„ฐ
4. ๊ณ ๊ฐ ํ”„๋กœํŒŒ์ผ

[์ •๋‹ต] 1

 

[ํ€ด์ฆˆ3] ๋‹ค์Œ ์ค‘ ์•„๋ž˜ ์„ค๋ช…์ด ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐœ๋…์œผ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.
๊ณ ๊ฐ ๊ฐœ๊ฐœ์ธ์˜ ํŠน์„ฑ์„ ๋ถ„์„ํ•˜์—ฌ, ์†Œ๋น„์ž๋“ค ๊ฐ๊ฐ์— ์ตœ์ ํ™”๋œ ์„œ๋น„์Šค ๋ฐ ๋งˆ์ผ€ํŒ… ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ

1. ๊ฐœ์ธํ™”๋œ ๋งˆ์ผ€ํŒ… ์ „๋žต
2. ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜
3. ๊ณ ๊ฐ ํŽธ์˜ ์„œ๋น„์Šค ์ œ๊ณต
4. ๊ณ ๊ฐ ์ž๋™ ์‘๋Œ€

[์ •๋‹ต] 1

 

[ํ€ด์ฆˆ4] ๋‹ค์Œ ์ค‘ ์ธ๊ณต์ง€๋Šฅ์„ ํ™œ์šฉํ•œ ๊ณ ๊ฐ ํŽธ์˜ ์„œ๋น„์Šค ์ œ๊ณต์˜ ์‚ฌ๋ก€๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

1. AI ์Šคํ”ผ์ปค๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„ํŽธํ•œ ์ƒํ’ˆ ์ฃผ๋ฌธ
2. ์ฑ—๋ด‡ ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•œ ๊ณ ๊ฐ ์‘๋Œ€
3. ํŒ๋งค ๋‹ด๋‹น์ž์™€ ๊ณ ๊ฐ์˜ 1:1 ์ปจ์„คํŒ…์œผ๋กœ ์ƒํ’ˆ ์ œ์•ˆ
4. AI ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•œ ์ƒํ’ˆ ์ถ”์ฒœ ๋ฐ ์„ธ๋ถ€ ์ •๋ณด ์ž๋™ ์•ˆ๋‚ด

[์ •๋‹ต] 3

 

 

 

[Tech insight ์‹ค์Šต] ์›น์‚ฌ์ดํŠธ๋Š” ์–ด๋–ป๊ฒŒ ๋‚˜์—๊ฒŒ ๋งž๋Š” ์ƒํ’ˆ์„ ์ถ”์ฒœํ•˜๋Š”๊ฐ€?

์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ๋„ทํ”Œ๋ฆญ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

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

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํ™•์ธ

2019๋…„๊นŒ์ง€ ์—…๋กœ๋“œ๋œ ๋„ทํ”Œ๋ฆญ์Šค ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฃผ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์—๋Š” 6234๊ฐœ์˜ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•˜์—ฌ 12 ๊ฐ€์ง€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๊ฐ’๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฐ์ดํ„ฐ ํ•™์Šต

๋ฏธ๋ฆฌ ์„ค์ •๋œ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•ด ์ด ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.

ma.preprocess()

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.
    """
    netflix_overall, cosine_sim, indices = ma.preprocess()


if __name__ == "__main__":
    main()

 

 

 

[์‹ค์Šต2] ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฒฐ๊ณผ ํ™•์ธ

์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜์˜ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœ๋ฐ›์•„ ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฝ˜ํ…์ธ  ๊ธฐ๋ฐ˜์˜ ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฝ˜ํ…์ธ ์™€ ์ฝ˜ํ…์ธ  ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ํ•™์Šตํ•˜์—ฌ ํŠน์ • ์ฝ˜ํ…์ธ ๋ฅผ ์„ ํƒํ–ˆ์„ ๋•Œ, ์œ ์‚ฌ์„ฑ์ด ๋†’์€ ์ฝ˜ํ…์ธ ๋“ค์„ ๋ฆฌ์ŠคํŠธ ์—… ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž์˜ ๊ณผ๊ฑฐ ์‹œ์ฒญ ์ฝ˜ํ…์ธ  ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค๋ฉด ์ด ์ฝ˜ํ…์ธ ๋“ค๊ณผ ์œ ์‚ฌํ•œ ์ฝ˜ํ…์ธ ๋“ค์„ ์ถ”์ฒœํ•  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ๋„ทํ”Œ๋ฆญ์Šค์˜ ์˜์ƒ ์ฝ˜ํ…์ธ  ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ํ–ˆ์„ ๋•Œ ์œ ์‚ฌ์„ฑ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ€์žฅ ๋น„์Šทํ•œ ์ƒ์œ„ 10๊ฐœ์˜ ์ถ”์ฒœ ์ฝ˜ํ…์ธ ๋ฅผ ์ถœ๋ ฅํ•ด๋ด…๋‹ˆ๋‹ค.

 

  1. ์šฐ์ธก ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์‚ฌ์ด์— ์•„๋ž˜ ์˜ˆ์‹œ ์ค‘ ์›ํ•˜๋Š” ์˜ํ™”๋ช…์„ ๊ณจ๋ผ ์ž…๋ ฅํ•ด๋ณด์„ธ์š”.
    • Vagabond
    • Pororo - The Little Penguin
    • The Lord of the Rings: The Return of the King
    • Larva
import machine as ma

def main():
    
    netflix_overall, cosine_sim, indices = ma.preprocess()
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ๋”ฐ์˜ดํ‘œ ์‚ฌ์ด์— ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ์˜ํ™”๋ช…์„ ์ง€์šฐ๊ณ  ์™ผ์ชฝ ์ง€๋ฌธ์˜ ์˜ˆ์‹œ ์ค‘ ์›ํ•˜๋Š” ์˜ํ™”๋ช…์„ ์ž…๋ ฅํ•ด๋ณด์„ธ์š”.
    """
    title = 'Vagabond'
    
    print("{}์™€ ๋น„์Šทํ•œ ๋„ทํ”Œ๋ฆญ์Šค ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.".format(title))
    ma.get_recommendations_new(title, netflix_overall, cosine_sim, indices)


if __name__ == "__main__":
    main()
    
'''
    Vagabond์™€ ๋น„์Šทํ•œ ๋„ทํ”Œ๋ฆญ์Šค ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
                           title      country  release_year  Similiarity
1               A Man Called God  South Korea          2010     0.288300
2               A Korean Odyssey  South Korea          2017     0.264575
3          Strong Girl Bong-soon  South Korea          2017     0.246718
4                     Second 20s  South Korea          2015     0.236643
5                         Tunnel  South Korea          2017     0.232048
6                 Part-Time Idol          NaN          2017     0.226779
7        Romance is a bonus book  South Korea          2019     0.207020
8                      Let’s Eat  South Korea          2013     0.207020
9            The Bride of Habaek          NaN          2017     0.199205
10  Designated Survivor: 60 Days  South Korea          2019     0.198898
'''

 

 

 

 

 

์›น/์•ฑ ์„œ๋น„์Šค ์‚ฐ์—… ๋‚ด AI ํ˜์‹ 

1. ๋ฐฉ๋ฌธ์ •๋ณด ๋ถ„์„ (PV, UV, ์‹ ๊ทœ๋ฐฉ๋ฌธ ๋ฐ ์žฌ๋ฐฉ๋ฌธ ๋น„์œจ ๋“ฑ)

- ์—ฐ๋ น, ์„ฑ๋ณ„, ์ง€์—ญ, ํŠธ๋ž˜ํ”ฝ ์†Œ์Šค, ๋ฐฉ๋ฌธํŽ˜์ด์ง€, ์ œํ’ˆ ๋“ฑ์˜ ์ธก์ • ๊ธฐ์ค€์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž์˜ ํŠน์„ฑ ๋ถ„์„

-> ์‚ฌ์šฉ์ž์˜ ์œ ์ง€ ์ดํƒˆ, ์ง‘๋‹จ ๊ฐ„ ์ƒ์ดํ•œ ํ–‰๋™ ํŒจํ„ด ๋ถ„์„ ๊ฐ€๋Šฅ

 

 

 

2. ์›น/์•ฑ ์„œ๋น„์Šค ๋‚ด (ํ™”๋ฉด๋‹จ์œ„) ํ–‰๋™ ํŒจํ„ด ๋ถ„์„

- ํ–‰๋™๋ฐ์ดํ„ฐ : ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๊ฒช๊ฒŒ ๋˜๋Š” ํ–‰๋™์„ ๋ฐ์ดํ„ฐํ™” ํ•œ ๊ฒƒ

1) ์ต์Šคํ”ผ๋””์•„ A/B ํ…Œ์ŠคํŠธ (A, B์•ˆ์˜ ์ฐจ์ด : ํšŒ์‚ฌ๋ช… ๊ธฐ์žฌ ์œ ๋ฌด)

๋žœ๋คํ•˜๊ฒŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋…ธ์ถœ์‹œ์ผœ ํšŒ์‚ฌ๋ช…์„ ์ „๋ถ€ ์ž…๋ ฅํ•˜๋Š”์ง€, ์ž…๋ ฅ์— ํ”ผ๋กœ๊ฐ์„ ๋А๋ผ๋Š”์ง€๋ฅผ ํŒ๋‹จ

๋” ์‘๋‹ต๋ฅ ์ด ์ข‹์€ ๊ฒƒ์„ ํ†ตํ•ด ์•ˆ์„ ์ฑ„ํƒํ•จ

 

2) ์›น์‚ฌ์ดํŠธ ๋‚ด ํžˆํŠธ๋งต ๋ถ„์„

์‚ฌ์šฉ์ž๋“ค์ด ๋งŽ์ด ๋ณด๊ณ , ํด๋ฆญํ•˜๋Š” ๊ณณ์— ๊ด‘๊ณ ๋ฅผ ๋„ฃ๊ฑฐ๋‚˜ ์ œํ’ˆ์„ ๋ฐฐ์น˜ํ•จ

 

- ์›น/์•ฑ ์„œ๋น„์Šค์˜ ๊ธฐ๋ณธ ๋‹จ์œ„์ธ ํ™”๋ฉด ๋‹จ์œ„์˜ ๊ณ ๊ฐํ–‰๋™ ํŒจํ„ด ๋ถ„์„

ex) ๋งˆ์šฐ์Šค ํด๋ฆญ, ๋งˆ์šฐ์Šค ์˜ค๋ฒ„, ์Šคํฌ๋กค, ์ฒด๋ฅ˜์‹œ๊ฐ„์„ ๊ฐœ์ธ DBํ™”

- AI๊ฐ€ ๊ณ ๊ฐ์˜ ํ–‰๋™ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ณ ๊ฐ์˜ ํ–‰๋™์„ ์˜ˆ์ธก

-> ๊ณ ๊ฐ์˜ ํ–‰๋™์— ๋งž์ถ˜ ๋ฐ˜์‘ํ˜• ์ด๋ฒคํŠธ ๋…ธ์ถœ ๋“ฑ์œผ๋กœ ๊ณ ๊ฐ ์ดํƒˆ ๋ฐฉ์ง€, ์ถ”๊ฐ€ ๋งค์ถœ ๊ธฐํšŒ ์ œ์•ˆ

 

 

 

[ํ€ด์ฆˆ1] ๋‹ค์Œ ์ค‘ ์›น/์•ฑ ์„œ๋น„์Šค ๋ถ„์•ผ์˜ AI ๊ธฐ์ˆ  ํ™œ์šฉ ๋ฐฉ์•ˆ์œผ๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

1. ์›น ๋ฐฉ๋ฌธ ๊ณ ๊ฐ ์ •๋ณด ๋ถ„์„
2. ์›น/์•ฑ ์„œ๋น„์Šค ๋‚ด ํ™”๋ฉด ๋‹จ์œ„ ํ–‰๋™ ํŒจํ„ด ๋ถ„์„
3. B2B ํ˜‘์ƒ์„ ํ†ตํ•œ ์ƒํ’ˆ ๋งค์ž… ๋‹จ๊ฐ€ ์กฐ์ •
4. ๋ฐฉ๋ฌธ ๊ณ ๊ฐ ํ”„๋กœํŒŒ์ผ ์ •๋ณด ๋ถ„์„

[์ •๋‹ต] 3

 

[ํ€ด์ฆˆ2] ๋‹ค์Œ ์ค‘ <์ด๊ฒƒ>์— ํ•ด๋‹นํ•˜๋Š” ๋ถ„์„ ์„œ๋น„์Šค ๋„๊ตฌ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.
Google์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฌด๋ฃŒ ์›น์‚ฌ์ดํŠธ ๋ถ„์„ ํˆด๋กœ, ์›น์‚ฌ์ดํŠธ ๋‚ด์— <์ด๊ฒƒ> ์„ ์„ค์น˜ํ•˜๋ฉด ๋ฐฉ๋ฌธํ•œ ๊ณ ๊ฐ๋“ค์˜ ํŠธ๋ž˜ํ”ฝ, ์ •๋ณด, ๋ฐฉ๋ฌธ๊ฒฝ๋กœ ๋“ฑ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

1. Apache Hadoop
2. Google Analytics
3. Amazon EC2
4. Dropbox

[์ •๋‹ต] 2

 

[ํ€ด์ฆˆ3] ๋‹ค์Œ ์ค‘ ์•„๋ž˜์˜ ์„ค๋ช…์ด ์˜๋ฏธํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ๋ถ„์„ ๊ฐœ๋…์œผ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.
์›น ์‚ฌ์ดํŠธ์˜ ๊ตฌ์กฐ๋ฅผ ํ…Œ์ŠคํŠธํ•ด๋ณด๊ธฐ ์œ„ํ•ด, ๋‘ ๊ฐ€์ง€ ๋ฒ„์ „(A ์•ˆ, B ์•ˆ)์˜ ์›น ํŽ˜์ด์ง€๋ฅผ ์—…๋กœ๋“œํ•œ ํ›„ ๋ฐฉ๋ฌธํ•œ ๊ณ ๊ฐ์—๊ฒŒ ๋‘ ๋ฒ„์ „ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ๋…ธ์ถœํ•œ๋‹ค. ์ดํ›„ ๋‘ ๋ฒ„์ „์˜ ํŽ˜์ด์ง€ ์ค‘ ๋” ๋†’์€ ์„ฑ๊ณผ๋ฅผ ๋ณด์ธ ํŽ˜์ด์ง€๋ฅผ ๊ฒฐ๊ณผ์— ๋ฐ˜์˜ํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ธ์‚ฌ์ดํŠธ๋ฅผ ํš๋“ํ•œ๋‹ค.

1. ์‰๋„์ž‰
2. ํผํฌ๋จผ์Šค ๋งˆ์ผ€ํŒ…
3 .๊ณ ๊ฐ ํŽ˜๋ฅด์†Œ๋‚˜ ๋ถ„์„
4. A/B ํ…Œ์ŠคํŠธ

[์ •๋‹ต] 4

 

[ํ€ด์ฆˆ4] ๋‹ค์Œ ์ค‘ ์•„๋ž˜์˜ ์„ค๋ช…์ด ์˜๋ฏธํ•˜๋Š” ์›น์‚ฌ์ดํŠธ ๋ถ„์„ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.
์›น์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•œ ๊ณ ๊ฐ๋“ค์ด ํ™”๋ฉด ๋‚ด์˜ ์–ด๋А ๋ถ€๋ถ„์— ๊ด€์‹ฌ์ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•ด๋ณด๊ธฐ ์œ„ํ•ด, ์ž์ฃผ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋งˆ์šฐ์Šค๋ฅผ ์˜ค๋ž˜ ๋‘๋Š” ๊ณณ ๋“ฑ์„ ๊ฐ•์กฐํ•˜์—ฌ ์‹œ๊ฐํ™”ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ณ ๊ฐ๋“ค์ด ํ•ด๋‹น ํŽ˜์ด์ง€์—์„œ ์–ด๋– ํ•œ ๋ถ€๋ถ„์„ ์ค‘์š”ํ•˜๊ฒŒ ๋ณด๊ณ  ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

1. ๋งค์ถœ ์ด๋ฒคํŠธ ๋ถ„์„
2. ์œ ์ž… ๊ฒฝ๋กœ ๋ถ„์„
3. A/B ํ…Œ์ŠคํŠธ
4. ์›น์‚ฌ์ดํŠธ ๋‚ด ํžˆํŠธ๋งต ๋ถ„์„

[์ •๋‹ต] 4

 

 

 

[Tech insight ์‹ค์Šต] ์ธ๊ณต์ง€๋Šฅ์€ ์–ด๋–ป๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ์ธ์‹ํ•˜๊ณ  ๋Œ€์ฒ˜ํ•˜๋Š”๊ฐ€?

์ธ๊ณต์ง€๋Šฅ์€ ์–ด๋–ป๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ์ธ์‹ํ• ๊นŒ์š”? ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ์ˆซ์ž ์†๊ธ€์”จ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•œ ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ์†๊ธ€์”จ๋ฅผ ์ธ์‹ํ•˜๋Š” ๊ณผ์ •์„ ์‚ดํŽด ๋ด…๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ๋ถ„ํ• 

์†๊ธ€์”จ๋ฅผ ์ธ์‹ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฏธ์ง€์—์„œ ๋ถ„์„์— ํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ์ด๋ฏธ์ง€๋Š” ์‹ค์ œ๋กœ ์ข…์ด์— ์ˆซ์ž๋ฅผ ์ ๊ณ  ์‚ฌ์ง„์„ ์ฐ์–ด ์—…๋กœ๋“œํ•œ ์‚ฌ์ง„์ž…๋‹ˆ๋‹ค.

์œ„ ์ด๋ฏธ์ง€์—์„œ ์ˆซ์ž ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด ๋ด…์‹œ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†๊ธ€์”จ ์ด๋ฏธ์ง€์—์„œ ์ˆซ์ž ๋ถ€๋ถ„๋งŒ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.

ma.data_print()

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ์†๊ธ€์”จ ์ด๋ฏธ์ง€์—์„œ ์ˆซ์ž ๋ถ€๋ถ„๋งŒ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.
    """
    ma.data_print()

if __name__ == "__main__":
    main()

 

์ด๋ฏธ์ง€๋ฅผ ๋ถ„ํ• ํ•  ์˜์—ญ์„ ํ‘œ์‹œํ•˜๊ณ , ๋ถ„ํ•  ๋œ ์ด๋ฏธ์ง€๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

 

 

[์‹ค์Šต2] ์†๊ธ€์”จ ๋ถ„๋ฅ˜ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ

์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ๋ถ„ํ• ๋œ ์ด๋ฏธ์ง€์˜ ์ˆซ์ž๊ฐ€ ์–ด๋–ค ์ˆซ์ž์ธ์ง€๋ฅผ ์˜ˆ์ธกํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์•„์ง ์ด๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์ด ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ๋”ฅ๋Ÿฌ๋‹ ์˜ˆ์ œ๋กœ ์œ ๋ช…ํ•œ MNIST ๋ฐ์ดํ„ฐ(์•„๋ž˜ ์ด๋ฏธ์ง€ ์ฐธ๊ณ )๋ฅผ ํ•™์Šตํ•˜์—ฌ ์ˆซ์ž๋ฅผ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ MNIST ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜๋Š” ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•ด๋ณด์„ธ์š”.

ma.train()

 

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. MNIST ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜๋Š” ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•ด๋ณด์„ธ์š”.
    """
    model = ma.train()

if __name__ == "__main__":
    main()

accuracy: 0.9869 10000/10000 - 0s - loss: 0.0876 - accuracy: 0.974

 

 

 

[์‹ค์Šต3] ๋ถ„ํ• ๋œ ์ด๋ฏธ์ง€์˜ ์ˆซ์ž ์˜ˆ์ธก

์ฒซ ๋ฒˆ์งธ ์‹ค์Šต์„ ํ†ตํ•˜์—ฌ ์˜ˆ์ธกํ•  ์ด๋ฏธ์ง€๋ฅผ ๋ถ„ํ• ํ•˜์˜€๊ณ , ๋‘ ๋ฒˆ์งธ ์‹ค์Šต์„ ํ†ตํ•˜์—ฌ ์ด๋ฅผ ์˜ˆ์ธกํ•  ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์˜ˆ์ธก์„ ์œ„ํ•ด์„œ๋Š” ๋ถ„ํ• ๋œ ์ด๋ฏธ์ง€๋ฅผ MNIST์™€ ๋น„์Šทํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ๋ถ„ํ• ๋œ ์ด๋ฏธ์ง€๋Š” ํฌ๊ธฐ๋„ ์ œ๊ฐ๊ฐ์— ์ปฌ๋Ÿฌ๊ฐ€ ์žˆ๋Š” ์ด๋ฏธ์ง€์ด๊ธฐ์— MNIST ๋ฐ์ดํ„ฐ ํ˜•ํƒœ์™€ ๋™์ผํ•˜๊ฒŒ ์‚ฌ์ด์ฆˆ ์กฐ์ • ๋ฐ ํ‘๋ฐฑ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ดํ›„ ์ตœ์ข…์ ์œผ๋กœ ์†๊ธ€์”จ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ์†๊ธ€์”จ ์ˆซ์ž๋ฅผ ์ธ์‹ํ•˜์—ฌ ๋ด…์‹œ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋ณ€ํ™˜ ๊ณผ์ •๊ณผ ์˜ˆ์ธก ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.

ma.data_predit()

 

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ์ด๋ฏธ์ง€ ๋ณ€ํ™˜ ๊ณผ์ •๊ณผ ์˜ˆ์ธก ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.
    """
    ma.data_predit()

if __name__ == "__main__":
    main()

 

 

 

 

 

 

๊ธˆ์œต/์žฌ๋ฌด ์‚ฐ์—…์—์„œ์˜ AI ํ˜์‹ 

1. ์—…๋ฌด ์ž๋™ํ™”

๊ธฐ์กด์˜ ๋ฐ˜๋ณต ์—…๋ฌด๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” SW๊ธฐ์ˆ ์ธ RPA(Robotic Process Automation)์— ์ธ๊ณต์ง€๋Šฅ์„ ์ ‘๋ชฉํ•˜์—ฌ ์Šค์Šค๋กœ ํŒ๋‹จํ•˜์—ฌ ์—…๋ฌด ์ˆ˜ํ–‰์„ ํ•˜๋Š” ์ธ์ง€์˜ RPA๊ธฐ์ˆ ์ด ํ™œ์šฉ๋จ

ex) ๋ณด์•ˆ ๋ฐ ๊ด€๋ฆฌ, ์ž๋ฃŒ ๊ณต์œ  ๋ฐ ์—…๋ฌด ํ™•์žฅ์„ฑ, ์ด์ƒ ํƒ์ง€, ๋น„์šฉ์ ˆ๊ฐ, ์—…๋ฌด ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ, ์—…๋ฌด ํ’ˆ์งˆ ํ–ฅ์ƒ

 

 

 

2. ๊ธˆ์œต ํŽธ์˜ ์„œ๋น„์Šค

๊ณ ๊ฐ์˜ ํŽธ์˜์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ์ธ๊ณต์ง€๋Šฅ ๊ธฐ๋ฐ˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์†ก๊ธˆ, ์กฐํšŒ, ์ด์ฒด, ๊ธˆ์œต ์ƒํ’ˆ ์ถ”์ฒœ, ๋งˆ์ผ€ํŒ… ๋“ฑ์˜ ๊ธˆ์œต ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต

ex) ๋Œ€๊ธฐ ์—†๋Š” ์„œ๋น„์Šค, ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„, ๊ณ„์ขŒ ์„œ๋น„์Šค ์ˆ˜ํ–‰, ์ž์‚ฐ๊ด€๋ฆฌ ๋น„์„œ, ๊ธˆ์œต ์ƒํ’ˆ ์ถ”์ฒœ

 

 

 

3. ๊ฐœ์ธํ™”๋œ ์ž์‚ฐ ์šด์šฉ ์„œ๋น„์Šค

๊ณ ๊ฐ์˜ ํˆฌ์ž์„ฑํ–ฅ๊ณผ ํˆฌ์ž๊ธˆ์•ก์— ๋”ฐ๋ผ ๊ฐœ์ธ ๋งž์ถคํ˜• ์ž์‚ฐ ์šด์šฉ ์„œ๋น„์Šค ์ œ๊ณต (โ‰’ ๋กœ๋ณด์–ด๋“œ๋ฐ”์ด์ €)

์‚ฌ๋ก€) ํ•œํ™”ํˆฌ์ž์ฆ๊ถŒ STEPS : ๋งž์ถคํ˜• ์ข…๋ชฉ ์ถ”์ฒœ

๋ฏธ๋ž˜์—์…‹๋Œ€์šฐ ์— ํด๋Ÿฝ : ๊ฐœ์ธํ™” ์ƒํ’ˆ ์ถ”์ฒœ, ๋งค๋งค ํŒจํ„ด ์ง„๋‹จ, ๋‰ด์Šค ๋ถ„์„

NHํˆฌ์ž์ฆ๊ถŒ ์  ํฌํŠธ : DIYํ˜• ์ฃผ์‹ ๋งค๋งค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ œ์ž‘

ํ•œ๊ตญํˆฌ์ž์ฆ๊ถŒ AIR : ์ธ๊ณต์ง€๋Šฅ์„ ํ†ตํ•œ ์ฃผ์š” ๊ฒฝ์ œ๋‰ด์Šค ์ถ”์ฒœ ๋ฐ ๊ธฐ์—…๋ถ„์„

 

 

 

4. ์‹ ์šฉํ‰๊ฐ€

- ์ธ๊ณต์ง€๋Šฅ ๊ธฐ๋ฐ˜์˜ ๊ธฐ์ˆ ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณ ๊ฐ์˜ ์‹ ์šฉ ๋“ฑ๊ธ‰์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ํ‰๊ฐ€

- ๊ธฐ์กด ๊ธˆ์œต์ •๋ณด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„๊ธˆ์œต ์ •๋ณด๊นŒ์ง€ ๋ถ„์„ํ•จ์œผ๋กœ์จ ๊ธˆ์œต ์„œ๋น„์Šค ์‚ฌ๊ฐ์ง€๋Œ€ ๊ณ ๊ฐ๊นŒ์ง€ ์„œ๋น„์Šค ๋ฒ”์œ„ ํ™•๋Œ€

 

 

[Tech insight ์‹ค์Šต] ๊ณผ๊ฑฐ ์ฃผ์‹ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์–ด๋–ค ์ฃผ์‹์— ํˆฌ์žํ•˜๋ฉด ๋ ์ง€ ํŒ๋‹จํ•ด๋ณด์ž.

 

[ํ€ด์ฆˆ1] ๋‹ค์Œ ์ค‘ ๊ธˆ์œต/์žฌ๋ฌด ๋ถ„์•ผ์—์„œ์˜ AI ํ™œ์šฉ ์‚ฌ๋ก€๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

์—…๋ฌด ์ž๋™ํ™”
๊ธˆ์œต ์„œ๋น„์Šค
๊ฐœ์ธํ™”๋œ ์ž์‚ฐ ์šด์šฉ ์„œ๋น„์Šค
๋ฌผ๋ฅ˜ ์˜ˆ์ธก

์ •๋‹ต 4

 

[ํ€ด์ฆˆ2] ๋‹ค์Œ ์ค‘ AI๋ฅผ ํ™œ์šฉํ•œ ์—…๋ฌด ์ž๋™ํ™”์˜ ์žฅ์ ์œผ๋กœ ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

๊ธฐ์กด์˜ ๋ฐ˜๋ณต ์—…๋ฌด๋ฅผ ์ž๋™ํ™”
๊ทœ์น™ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์Šคํ…œ ์„ค๊ณ„์ž๊ฐ€ ๋ชจ๋“  ์ƒํ™ฉ์„ ์‚ฌ์ „์— ์˜ˆ์ธกํ•˜์—ฌ ์ฒ˜๋ฆฌ
์ด์ƒ์น˜ ๋ฐ์ดํ„ฐ ํƒ์ง€ ๋ฐ ๋ถ„๋ฅ˜
Human Error์˜ ์ œ๊ฑฐ

์ •๋‹ต 2

 

[ํ€ด์ฆˆ3]  ๋‹ค์Œ ์ค‘ ๊ธˆ์œต/์žฌ๋ฌด ์‚ฐ์—…์—์„œ์˜ ๊ฐœ์ธํ™”๋œ ์ž์‚ฐ ์šด์šฉ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ ์ ˆํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ณ ๋ฅด์„ธ์š”.

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

์ •๋‹ต 1

 

[ํ€ด์ฆˆ4] AI๋ฅผ ํ™œ์šฉํ•œ ์‹ ์šฉํ‰๊ฐ€ ๋ชจํ˜•์˜ ์žฅ์ ์œผ๋กœ ์ ์ ˆํ•œ ๊ฒƒ์€?

100% ์ •ํ™•ํ•œ ์‹ ์šฉํ‰๊ฐ€๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค
๊ธฐ์กด์— ๋ณด์œ ํ•œ ์žฌ๋ฌด ์ •๋ณด๋งŒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ ์šฉ์„ ํ‰๊ฐ€ํ•œ๋‹ค
์—„๊ฒฉํ•œ ์„œ๋ฅ˜ ์‹ฌ์‚ฌ๋ฅผ ๊ฑฐ์ณ ์‹ ์šฉํ‰๊ฐ€๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค
์žฌ๋ฌด์ ์ธ ์ •๋ณด ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„์žฌ๋ฌด์ ์ธ ์ •๋ณด๊นŒ์ง€ ์ข…ํ•ฉํ•˜์—ฌ ํ‰๊ฐ€ํ•œ๋‹ค

์ •๋‹ต 4

 

 

 

์ธ๊ณต์ง€๋Šฅ์œผ๋กœ ์ฃผ๊ฐ€ ์˜ˆ์ธกํ•˜๊ธฐ

์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ์ฃผ์‹ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฏธ๋ž˜์˜ ์ฃผ์‹ ๊ฐ€๊ฒฉ์„ ์˜ˆ์ธกํ•˜๋Š” ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํ™•์ธ

๋ณธ๊ฒฉ์ ์œผ๋กœ ์ฃผ์‹ ๊ฐ€๊ฒฉ์„ ์˜ˆ์ธกํ•ด๋ณด๊ธฐ ์ „ ๋จผ์ € ์ฃผ์‹ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ ๋ฐ ์ •๋ณด๋ฅผ ํ™•์ธํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์—๋Š” 3์›” 2์ผ๋ถ€ํ„ฐ 7์›” 30์ผ๊นŒ์ง€ 105๊ฐœ์˜ ๋‚ ์งœ๋ณ„ ์ฃผ์‹ ์ •๋ณด์— ๋Œ€ํ•œ ๊ฐ’๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถœ๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.

ma.data_plot()

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ์ถœ๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ํ•™์Šต์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.
    """
    ma.data_plot()

if __name__ == "__main__":
    main()

 

 

 

ํŒŒ์ƒ๋ณ€์ˆ˜ ์ƒ์„ฑ

์ฃผ๊ฐ€ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐ์ดํ„ฐ์— ์กด์žฌํ•˜๋Š” ๊ธฐ์กด ๋ณ€์ˆ˜ ์ด์™ธ์— ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋“ค์ด ์ถ”๊ฐ€๋  ์ˆ˜๋ก ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ์ฃผ์‹ ๋ฐ์ดํ„ฐ์— ๋“ค์–ด์žˆ๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€๊ณตํ•˜์—ฌ ์ด๋™ํ‰๊ท , ๊ฑฐ๋ž˜๋Ÿ‰ ์ด๋™ํ‰๊ท , ์ด๊ฒฉ๋„ ๋“ฑ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์— ์ถ”๊ฐ€ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋™ํ‰๊ท ๊ฐ’(MA),๊ฑฐ๋ž˜๋Ÿ‰ ์ด๋™ํ‰๊ท ๊ฐ’(VMA) ์ด๊ฒฉ๋„๊ฐ’(disp) ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”.

ma.data_preprocess()

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ์ด๋™ํ‰๊ท ๊ฐ’(MA),๊ฑฐ๋ž˜๋Ÿ‰ ์ด๋™ํ‰๊ท ๊ฐ’(VMA), ์ด๊ฒฉ๋„๊ฐ’(disp) ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์„ธ์š”.
    """
    ma.data_preprocess()

if __name__ == "__main__":
    main()

 

 

 

์ฃผ๊ฐ€ ์˜ˆ์ธก ์ฒดํ—˜

์ด๋ฒˆ ์‹ค์Šต์—์„œ๋Š” ์•ž์„  ์‹ค์Šต์—์„œ ํ™•์ธํ•œ ์ฃผ์‹ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค๊ณ  ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฃผ๊ฐ€ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ๋œ ๊ทธ๋ž˜ํ”„๋Š” 2020๋…„ 7์›” 1์ผ๋ถ€ํ„ฐ 30์ผ๊นŒ์ง€์˜ ์ข…๊ฐ€๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ทธ๋ž˜ํ”„๋กœ ํŒŒ๋ž€์„ ์€ ์‹ค์ œ๊ฐ’์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋…ธ๋ž€์„ ์€ ์˜ˆ์ธก๊ฐ’์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ํ•™์Šต๊ณผ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.

ma.train()

import machine as ma

def main():
    
    """
    ์ง€์‹œ์‚ฌํ•ญ 1๋ฒˆ. ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ํ•™์Šต๊ณผ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•ด๋ณด์„ธ์š”.
    """
    ma.train()

if __name__ == "__main__":
    main()