๋”ฅ๋Ÿฌ๋‹ 55

๋จธ์‹ ๋Ÿฌ๋‹ ์ •์˜์™€ ๋ถ„๋ฅ˜

โ–ท ๋จธ์‹ ๋Ÿฌ๋‹์€ ๋ช…์‹œ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—†์ด ์ปดํ“จํ„ฐ๊ฐ€ ํ•™์Šตํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ฒŒ ํ•˜๋Š” ์—ฐ๊ตฌ ๋ถ„์•ผ๋‹ค. โ–ท ์–ด๋–ค ์ž‘์—… T์— ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์„ P๋กœ ์ธก์ •ํ–ˆ์„ ๋•Œ ๊ฒฝํ—˜ E๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋๋‹ค๋ฉด, ์ด ํ”„๋กœ๊ทธ๋žจ์€ T์™€ P์— ๋Œ€ํ•ด E๋กœ ํ•™์Šตํ•œ ๊ฒƒ์ด๋‹ค. ์ŠคํŒธ ํ•„ํ„ฐ - ์ŠคํŒธ๋ฉ”์ผ ๊ตฌ๋ถ„ ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ๊ทธ๋žจ ์‹œ์Šคํ…œ์ด ํ•™์Šตํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ƒ˜ํ”Œ = ํ›ˆ๋ จ์„ธํŠธ training set ๊ฐ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ = training instance | ์ƒ˜ํ”Œ ์ด ๊ฒฝ์šฐ ์ž‘์—…T = ์ƒˆ ๋ฉ”์ผ์ด ์ŠคํŒฌ์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ ๊ฒฝํ—˜ E = ํ›ˆ๋ จ๋ฐ์ดํ„ฐ ์„ฑ๋Šฅ ์ธก์ •P๋Š” ์ง์ ‘ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. (ex - ์ •ํ™•ํžˆ ๋ถ„๋ฅ˜๋œ ๋ฉ”์ผ์˜ ๋น„์œจ) = ์ •ํ™•๋„ accuracy , ๋ถ„๋ฅ˜ ์ž‘์—…์— ์‚ฌ์šฉ๋œ๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹์€ ๋‹ค์Œ ๋ถ„์•ผ์— ๋›ฐ์–ด๋‚˜๋‹ค : ๊ธฐ์กด ์†”๋ฃจ์…˜์œผ๋กœ๋Š” ๋งŽ์€ ์ˆ˜๋™ ์กฐ์ •๊ณผ ๊ทœ์น™์ด ํ•„์š”ํ•œ ๋ฌธ์ œ ..

[๋”ฅ๋Ÿฌ๋‹] ํ…์„œํ”Œ๋กœ(tensorflow) ์„ค์น˜ํ•˜๊ธฐ

ํ…์„œํ”Œ๋กœ๋ž€? ๋ฐ์ดํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ anaconda ํ”„๋กฌํฌํŠธ ๊ด€๋ฆฌ์ž๋ชจ๋“œ๋กœ ์‹คํ–‰ pip install --upgrade --user pip conda install tensorflow ์„ค์น˜ ํ™•์ธ python # ํŒŒ์ด์ฌ ์‹คํ–‰ import tensorflow exit() #์ข…๋ฃŒ TFLearn ์„ค์น˜ pip install tflearn ์„ค์น˜ ํ™•์ธ python # ํŒŒ์ด์ฌ ์‹คํ–‰ import tflearn exit() #์ข…๋ฃŒ TFLearn์‚ฌ์šฉ ์œ„ํ•œ ๋ช‡๊ฐ€์ง€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ h5py ์„ค์น˜ h5py ๋ฐ์ดํ„ฐ(๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ ํ˜•์‹) ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ conda install h5py scipy ์ˆซ์ž๊ณ„์‚ฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ conda install scipy

[๋”ฅ๋Ÿฌ๋‹] ๋”ฅ๋Ÿฌ๋‹ ๊ตฌํ˜„ ์œ„ํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

ํŒŒ์ด์ฌ๊ณผ ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ ํ›„ ์ง„ํ–‰ conda create -n tfbook python=3.9 python=3.9 ๋Š” ๋‹ค์šด ๋ฐ›์€ ํŒŒ์ด์ฌ ๋ฒ„์ „ tfbook = ๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„ conda active tfbook #ํ™˜๊ฒฝ ํ™œ์„ฑํ™” conda deactivate #๋น„ํ™œ์„ฑํ™” C๋“œ๋ผ์ด๋ธŒ anaconda3ํด๋”์˜ envsํด๋”์— tfbook์ด๋ผ๋Š” ํ™˜๊ฒฝ ์ƒ์„ฑ๋จ C:\Users\anaconda3\envs

[๋”ฅ๋Ÿฌ๋‹] ์˜คํ† ์ธ์ฝ”๋”์˜ ๊ตฌ์กฐ

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

[๋”ฅ๋Ÿฌ๋‹] ์‹ ๊ฒฝ๋ง์˜ ๊ตฌ์กฐ

์‹ ๊ฒฝ๋ง ์ž…๋ ฅ ๋ ˆ์ด์–ด - ํ•™์Šต ๋ฐ์ดํ„ฐ(์ž…๋ ฅ ๋ฐ์ดํ„ฐ) ๋ฐ›๋Š” ๋ ˆ์ด์–ด ์ถœ๋ ฅ ๋ ˆ์ด์–ด = ํ•™์Šต ๊ฒฐ๊ณผ ์ถœ๋ ฅ ์ค‘๊ฐ„ ๋ ˆ์ด์–ด(์€๋‹‰ ๋ ˆ์ด์–ด) = ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ง•๋Ÿ‰์„ ์ถ”์ถœํ•˜๋Š” ๋ ˆ์ด์–ด ๊ฐ ๋ ˆ์ด์–ด์—๋Š” "โ—‹"๋กœ ํ‘œํ˜„๋˜๋Š” ๋…ธ๋“œ ๋ฐฐ์น˜, ๋…ธ๋“œ๋ผ๋ฆฌ๋Š” "-"๋กœ ํ‘œํ˜„๋˜๋Š” ์—ฃ์ง€(๋งํฌ)๋กœ ์—ฐ๊ฒฐ ์—ฃ์ง€๋Š” ๊ฐ€์ค‘์น˜๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ˆœ์ „ํŒŒ = ์ž…๋ ฅ๋ ˆ์ด์–ด๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง ์—ญ์ „ํŒŒ = ์ถœ๋ ฅ๋ ˆ์ด์–ด๋ถ€ํ„ฐ ์™ผ์ชฝ์œผ๋กœ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง ์ˆœ์ „ํŒŒ์˜ ๊ตฌ์กฐ ๋ฐ”๋กœ ์ „ ๋ ˆ์ด์–ด์— ์žˆ๋Š” ๋…ธ๋“œ ๊ฐ’๊ณผ ์—ฃ์ง€์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๋’ค ๋ชจ๋“  ๊ฒฐ๊ณผ ๋”ํ•˜๊ธฐ ๋”ํ•œ ๊ฐ’์„ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ ๋ณ€ํ™˜ -- ํ•ด๋‹น ๋…ธ๋“œ์˜ ๊ฐ’! ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ํ•™์Šตํƒ€์ž…์— ๋”ฐ๋ฅธ ํ™œ์„ฑํ™”ํ•จ์ˆ˜: ๋ถ„๋ฅ˜ - ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜ ํšŒ๊ท€(์ˆ˜์š” ์˜ˆ์ธก..) - ํ•ญ๋“ฑ ํ•จ์ˆ˜ ์—ญ์ „ํŒŒ์˜ ๊ตฌ์กฐ ์ˆœ์ „ ํŒŒ์—์„œ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ •๋‹ต ๋ฐ์ดํ„ฐ์™€..

[๋”ฅ๋Ÿฌ๋‹] collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ Counter ํด๋ž˜์Šค

collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ Counter ํด๋ž˜์Šค ์นด์šดํ„ฐ ์ฒ˜๋ฆฌ ( ์ˆซ์ž ์„ธ๋Š” ์ฒ˜๋ฆฌ) ํ•จ์ˆ˜ ์ œ๊ณต from collections import Counter list = ['a','b','c','a','a','c'] ๋ฐฐ์—ด list์˜ ์š”์†Œ ์ถœํ˜„ ์ˆ˜๋ฅผ ์„ธ์„œ ์ถœ๋ ฅ ์ด ๋•Œ ๊ฒฐ๊ณผ๋Š” ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜• (key:value) counter = counter(list) print(counter) Counter({'a' : 3, 'c' : 2, 'b' : 1}) ์ถœํ˜„ ์ˆœ์„œ๊ฐ€ ๋†’์€ ์ˆœ๋Œ€๋กœ ํ”„๋ฆฐํŠธ most_common์˜ (๋งค๊ฐœ๋ณ€์ˆ˜ n)์„ ์ž…๋ ฅํ•˜๋ฉด ์ƒ์œ„ n ๊ฐœ์˜ ํ‚ค์™€ ๊ฐ’ ๋ฆฌํ„ด ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด ๋ฆฌํ„ด for elem, cnt in counter.most_common(): print(elem,cnt) a 3 c 2 b 1

[๋”ฅ๋Ÿฌ๋‹] itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ˜๋ณต ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜ ์ œ๊ณต import itertools list = [1,2,3,4,5] ์กฐํ•ฉ list์š”์†Œ์˜ ์Œ์„ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค for x in itertools.combinations(list,2): print(x) (1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (2,5) (3,4) (3,5) (4,5) ํ•˜๋‚˜์˜ ์—ฐ์†๋œ ๋ฐฐ์—ด๋กœ ๊ฒฐํ•ฉ list์— a,b,c๋ฅผ ๊ฒฐํ•ฉํ•˜๊ณ  ์š”์†Œ ๊ฐ’ ํ”„๋ฆฐํŠธ for x in itertools.chain(list,['a','b'.'c']): print(x) 1 2 3 4 5 a b c

[๋”ฅ๋Ÿฌ๋‹] Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ˆซ์ž ๊ฒŒ์‚ฐ, ๋ฐฐ์—ด ๋‹ค๋ฃจ๋Š” ํ–‰๋ ฌ ์—ฐ์‚ฐ import numpy as np array = np.array([[1,2,3],[4,5,6],[7,8,9]]) print('array=' ,array) print('์š”์†Œ์˜ ์ž๋ฃŒํ˜• : ',array.dtype) print('์š”์†Œ ์ˆ˜ : ',array.size) print('์ฐจ์› ์ˆ˜ : ',array.ndim) print('๊ฐ ์ฐจ์›์˜ ์š”์†Œ ์ˆ˜ : ',array.shape) div_array = array/2 print('๋ฐฐ์—ด ์ „์ฒด ์š”์†Œ๋ฅผ 2๋กœ ๋‚˜๋ˆ„๊ธฐ: ',div_array) div_array1 = array[0][0]/2 print('๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ 2๋กœ ๋‚˜๋ˆ„๊ธฐ: ',div_array1) array= [[1,2,3],[4,5,6],[7,8,9]..

๋”ฅ๋Ÿฌ๋‹์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ NLP

[[ 0 0 1 2] [ 0 0 0 3] [ 4 5 6 7] [ 0 8 9 10] [ 0 11 12 13] [ 0 0 0 14] [ 0 0 0 15] [ 0 0 16 17] [ 0 0 18 19] [ 0 0 0 20]]์ž์—ฐ์–ด = ์šฐ๋ฆฌ๊ฐ€ ํ‰์†Œ์— ๋งํ•˜๋Š” ์Œ์„ฑ์ด๋‚˜ ํ…์ŠคํŠธ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(Natural Language Processing, NLP) : ์ž์—ฐ์–ด๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ธ์‹ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ ํ…์ŠคํŠธ ์ „์ฒ˜๋ฆฌ ๊ณผ์ • ํ† ํฐํ™”(tokenization) : ์ž…๋ ฅ๋œ ํ…์ŠคํŠธ๋ฅผ ์ž˜๊ฒŒ ๋‚˜๋ˆ„๋Š” ๊ณผ์ • keras, text ๋ชจ๋“ˆ์˜ text_to_word_sequence() ํ•จ์ˆ˜ : ๋ฌธ์žฅ์„ ๋‹จ์–ด ๋‹จ์œ„๋กœ ๋‚˜๋ˆ” from tensorflow.keras.preprocessing.text import text_to_word_sequence text ..

[๋”ฅ๋Ÿฌ๋‹] ์ด๋ฏธ์ง€ ์ธ์‹ , ์ปจ๋ณผ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง(CNN)

MNIST ๋ฐ์ดํ„ฐ์…‹ - ๋ฏธ๊ตญ ๊ตญ๋ฆฝํ‘œ์ค€๊ธฐ์ˆ ์›(NIST)์ด ๊ณ ๋“ฑํ•™์ƒ๊ณผ ์ธ๊ตฌ์กฐ์‚ฌ๊ตญ ์ง์› ๋“ฑ์ด ์“ด ์†๊ธ€์”จ๋ฅผ ์ด์šฉํ•ด ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ - 70,000๊ฐœ์˜ ๊ธ€์ž ์ด๋ฏธ์ง€์— ๊ฐ๊ฐ 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ด๋ฆ„ํ‘œ๋ฅผ ๋ถ™์ธ ๋ฐ์ดํ„ฐ์…‹ ์†๊ธ€์”จ ์ด๋ฏธ์ง€๋ฅผ ๋ช‡ %๋‚˜ ์ •ํ™•ํžˆ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š”๊ฐ€? MNIST ๋ฐ์ดํ„ฐ๋Š” ์ผ€๋ผ์Šค๋ฅผ ์ด์šฉํ•ด ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. mnist.load_data() ํ•จ์ˆ˜ : ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ X : ๋ถˆ๋Ÿฌ์˜จ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ Y_class : ์ด ์ด๋ฏธ์ง€์— 0~9๊นŒ์ง€ ๋ถ™์ธ ์ด๋ฆ„ํ‘œ • ํ•™์Šต์— ์‚ฌ์šฉ๋  ๋ถ€๋ถ„: X_train, Y_class_train • ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉ๋  ๋ถ€๋ถ„: X_test, Y_class_test from keras.datasets import mnist (X_train, Y_class_train), (X_test, Y_c..