์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [๋ฐฑ์ค€ - 1003] ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜ (C++)

    https://www.acmicpc.net/problem/1003ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜F(n) = F(n-1) + F(n-2) ๋‹จ) F(0) = 0, F(1) = 1 ๋ฌธ์ œ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ํ”ผ๋ณด๋‚˜์น˜๋ฅผ ์žฌ๊ท€๋กœ ๊ตฌํ˜„ํ•˜์˜€์„ ๋•Œ 0๊ณผ 1์ด ๋ช‡๋ฒˆ ํ˜ธ์ถœ๋˜๋Š”์ง€๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(nโ€1) + fibonacci(nโ€2); }}์œ„ ์ฝ”๋“œ์—์„œ n์— ๋”ฐ๋ผ 0๊ณผ 1์ด ๊ฐ๊ฐ ์–ผ๋งˆ๋‚˜ ํ˜ธ์ถœ ๋ ์ง€๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. n์ด 0์ด๋ผ๋ฉด 0์ด..

    ์œ ํ‚ค ๊ตฌ๋ผ๋ชจํ† , ๋„์ „ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ํ•ด์ฃผ๊ณ  ์‹ถ์€ ๋ง

    *์œ ํ‚ค ๊ตฌ๋ผ๋ชจํ† ๋‹˜์˜ Lake Louise์„ ๊ฐ์ƒํ•˜์‹œ๋ฉด์„œ ํŽธํ•˜๊ฒŒ ๊ธ€์„ ์ฝ์–ด๋ณด์„ธ์š”. ์œ ํ‚ค ๊ตฌ๋ผ๋ชจํ† ์˜ ๋„์ „์— ๋Œ€ํ•œ ๋งˆ์Œ๊ฐ€์ง๊ทธ๋Š” ํ”ผ์•„๋…ธ๋ฅผ ์ „๋ฌธ์ ์œผ๋กœ ๋ฐฐ์šด ์‚ฌ๋žŒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋ฌผ๋ฆฌํ•™ ์„์‚ฌ๋ฅผ ๋งˆ์นœ ๋’ค ํ”ผ์•„๋…ธ ์ž‘๊ณก๊ฐ€๋กœ ํ™œ๋™ํ•˜์˜€์Šต๋‹ˆ๋‹ค.์ด๋ฏธ ๋Œ€ํ•™๊ต 1ํ•™๋…„ ๋•Œ๋ถ€ํ„ฐ ๋ˆ์„ ๋ฐ›์œผ๋ฉฐ ํ”ผ์•„๋…ธ ๊ด€๋ จ ์ผ์„ ํ–ˆ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํ”ผ์•„๋…ธ๋ฅผ ์ „๊ณตํ•œ ์‚ฌ๋žŒ๋„ ์•„๋‹Œ๋ฐ ์–ด๋–ป๊ฒŒ ์ด๋Ÿฐ ์ผ์ด ๊ฐ€๋Šฅํ–ˆ์„๊นŒ์š”? ๋ฌผ๋ก  ์žฌ๋Šฅ์ด ์žˆ์–ด์„œ ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์„ ๋ถ€์ •ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๊ฐ€ ์–ด๋ ธ์„ ๋•Œ ํ•™๊ต์—์„œ๋„ ์„ ์ƒ๋‹˜์ด ํ”ผ์•„๋…ธ์— ์žฌ๋Šฅ์ด ์žˆ์Œ์„ ๋‹จ์ˆจ์— ์•Œ์•„์ฐจ๋ ธ์„ ์ •๋„๋‹ˆ๊น์š”. ํ•˜์ง€๋งŒ ์ง‘์•ˆ์ด ์–ด๋ ค์›Œ์ง€๋ฉฐ ํ”ผ์•„๋…ธ๋ฅผ ๋” ์ด์ƒ ์น  ์ˆ˜ ์—†๋Š” ์ˆœ๊ฐ„์— ์ด๋ฅด๋ €์„ ๋•Œ๋„ ๊ทธ๋Š” ๊บพ์ด์ง€ ์•Š๊ณ  ํ”ผ์•„๋…ธ๋ฅผ ๊ณ„์† ์ณค์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฐ€ ๋ฌผ๋ฆฌํ•™ ์„์‚ฌ๋ฅผ ๋งˆ์นœ ๋’ค ํ”ผ์•„๋…ธ์˜ ๊ฟˆ์„ ํฌ๊ธฐํ•œ ์ฑ„ ์ทจ์—…..

    002. ๋‹ค์ธต ํผ์…‰ํŠธ๋ก , ํผ์…‰ํŠธ๋ก ์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด์„œ

    002. ๋‹ค์ธต ํผ์…‰ํŠธ๋ก , ํผ์…‰ํŠธ๋ก ์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด์„œ

    ์ง€๋‚œ ์‹œ๊ฐ„์— AI์˜ ๋‹จ๊ตฐํ• ์•„๋ฒ„์ง€์ธ ํผ์…‰ํŠธ๋ก ์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. ํผ์…‰ํŠธ๋ก ์˜ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ๋น„ ์„ ํ˜•์ ์ธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์ ์ด ์žˆ์—ˆ์ฃ ! ๊ธฐ์–ตํ•˜์‹œ๋‚˜์š”?(XOR ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ํ•œ๊ณ„). ์˜ค๋Š˜์€ ๊ทธ ํ•œ๊ณ„๋ฅผ ๋›ฐ์–ด๋„˜์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ธ ๋‹ค์ธต ํผ์…‰ํŠธ๋ก (MLP, Multi-Layer Perceptron)์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ด๋ณผ๊ฒŒ์š”!๋‹ค์ธต ํผ์…‰ํŠธ๋ก ์ด๋ž€?MLP๋Š” ๋ง ๊ทธ๋Œ€๋กœ ํผ์…‰ํŠธ๋ก ์„ ์—ฌ๋Ÿฌ๊ฐœ ์Œ“์•„์„œ ๋งŒ๋“œ๋Š” ๋ชจ๋ธ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ์ธต(Input Layer), ์€๋‹‰์ธต(Hidden Layer), ์ถœ๋ ฅ์ธต(Output Layer)์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ํŠนํžˆ ์ด์ „ ํผ์…‰ํŠธ๋ก ๊ณผ ๋‹ค๋ฅธ ์ ์€ ์€๋‹‰์ธต์ด ์ถ”๊ฐ€๋œ๋‹ค๋Š” ์ ์— ์žˆ์–ด์š”!MLP์˜ ๊ตฌ์กฐMLP๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ž…๋ ฅ์ธต(Input Layer): ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๊ณณ์€๋‹‰์ธต(Hidd..

    001. ํผ์…‰ํŠธ๋ก , ์ธ๊ณต์ง€๋Šฅ์˜ ์ฒซ๊ฑธ์Œ

    ์•ˆ๋…•ํ•˜์„ธ์š”! ์ง€๋‚œ๋ฒˆ ์ฒซ ๊ธ€์—์„œ AI์— ๋Œ€ํ•œ ๊นŠ์ด ์žˆ๋Š” ํƒํ—˜์„ ์‹œ์ž‘ํ•œ๋‹ค๊ณ  ๋ง์”€๋“œ๋ ธ์ฃ ? ์˜ค๋Š˜์€ ๊ทธ ์ฒซ ๋ฒˆ์งธ ์ฃผ์ œ๋กœ ํผ์…‰ํŠธ๋ก (Perceptron)์„ ๋‹ค๋ค„๋ณผ๊นŒ ํ•ฉ๋‹ˆ๋‹ค.ํผ์…‰ํŠธ๋ก ?ํผ์…‰ํŠธ๋ก ์€ ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์ธ๊ณต ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ๋กœ, ๊ฐ„๋‹จํžˆ ๋งํ•ด "์ปดํ“จํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ์ฐธ/๊ฑฐ์ง“์„ ํŒ๋‹จํ•˜๋Š” ๋ชจ๋ธ"์ด์—์š”. 1958๋…„ ํ”„๋žญํฌ ๋กœ์  ๋ธ”๋žซ(Frank Rosenblatt)์ด ๊ณ ์•ˆํ•œ ์ด ๋ชจ๋ธ์€, ํ˜„๋Œ€ AI์˜ ์ถœ๋ฐœ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์ฃ .์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณผ๊ฒŒ์š”.์ด๋ฉ”์ผ ์ŠคํŒธ ํ•„ํ„ฐ: ๋ฉ”์ผ์ด ์ŠคํŒธ์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จ๊ฐ„๋‹จํ•œ ์–ผ๊ตด ์ธ์‹: ์‚ฌ์ง„ ์† ์‚ฌ๋žŒ์ด ์›ƒ๊ณ  ์žˆ๋Š”์ง€ ํŒ๋‹จํผ์…‰ํŠธ๋ก ์€ ์ด๋Ÿฐ ์ด์ง„ ๋ถ„๋ฅ˜(Binary Classification) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์š”.ํผ์…‰ํŠธ๋ก ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐํผ์…‰ํŠธ๋ก ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜ ์„ธ ๊ฐ€์ง€ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.์ž…๋ ฅ(Inpu..