๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

DataScience

(9)
[Natural Language Processing with Deep Learning] 01. Intro & Word Vectors ๋ณธ ํฌ์ŠคํŒ…์€ ์Šคํƒ ํฌ๋“œ Christopher Manning ๊ต์ˆ˜๋‹˜์˜ [Stanford CS224N: Natural Language Processing with Deep Learning]์ˆ˜์—…์„ ๋ฐ”ํƒ•์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์™ธ์—๋„ ์ถ”๊ฐ€ ์„ค๋ช…์ด ํ•„์š”ํ•œ ๊ฐœ๋… ๋“ฑ ์ฐธ๊ณ ํ•œ ์ž๋ฃŒ๋Š” ๋งํฌ์™€ ์ถœ์ฒ˜๋ฅผ ๋‚จ๊ฒจ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜ ์˜์ƒ : https://www.youtube.com/watch?feature=shared&v=rmVRLeJRkl4 ๊ฐ•์˜ ์ž๋ฃŒ : https://web.stanford.edu/class/cs224n/slides/ ๊ฐœ์š” 2023๋…„์„ ๊ฐ•ํƒ€ํ•œ openAI์˜ ChatGPT๋ฅผ ์ด์–ด ๊ตฌ๊ธ€์˜ Bard, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ Bing์ด ์—ฐ๋‹ฌ์•„ ์ถœ์‹œ๋˜๋ฉฐ ์˜จ ์‚ฌํšŒ๊ฐ€ ์ƒ์„ฑํ˜• AI ๊ธฐ๋ฐ˜ ์–ธ์–ด ๋ชจ๋ธ์„ ์ฃผ๋ชฉํ•˜๊ณ  ์žˆ๋‹ค. ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ NLP(N..
Multivariable linear regression ์ง€๋‚œ ์‹œ๊ฐ„๊นŒ์ง€ Linear regression์—์„œ input variable์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ•˜๋‚˜์ผ ๋•Œ์˜ Hypothesis, Cost ํ•จ์ˆ˜, Gradient descent algorithm๊นŒ์ง€ ๋‹ค๋ฃจ์–ด๋ดค๋‹ค. ์‚ฌ์‹ค ํ˜„์‹ค ์„ธ๊ณ„์—์„œ ๋ณ€์ˆ˜ ํ•˜๋‚˜๋กœ ์ข…์† ๋ณ€์ˆ˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋งŽ์ง€ ์•Š๋‹ค. ์ฃผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ข…์† ๋ณ€์ˆ˜๋ฅผ ์˜ˆ์ธกํ•ด๋‚ด๊ณค ํ•œ๋‹ค. Multivariable Linear Regression Input variable์ด ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋  ๋•Œ, ์šฐ๋ฆฌ๋Š” ๊ฐ€์„ค์„ ๋ฐ”๊พธ์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ, ์šฐ๋ฆฌ๋Š” ์ˆ˜์‹์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ํ–‰๋ ฌ (matrix) ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. x1 x2 x3 Y 73 80 75 152 93 88 93 185 89 91 90 180 96 98 100 196 73 66 70 142 ์ด๋Ÿฌํ•œ x1, x2..
Linear Regression Cost Function & Gradient Descent Algorithm Linear Regression ์˜ ๊ด€์‹ฌ ์ง€๋‚œ ์‹œ๊ฐ„์— ์•Œ์•„๋ดค๋˜ Linear Regression ์˜ Cost ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์šฐ๋ฆฌ์˜ ๊ด€์‹ฌ์€ , ์šฐ๋ฆฌ๊ฐ€ ์กฐ์ž‘ ๊ฐ€๋Šฅํ•œ W ๊ฐ’(x ์˜ ๊ธฐ์šธ๊ธฐ)๊ณผ b ๊ฐ’(y ์ ˆํŽธ)์„ ์กฐ์ •ํ•˜์—ฌ Cost ํ•จ์ˆ˜ ๊ฐ’์ด ๊ฐ€์žฅ ์ ๊ฒŒ ๋‚˜์˜ค๋Š” ๋ชจ๋ธ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. Gradient Descent Algorithm ์šฐ์„  ์ง€๋‚œ ๋ฒˆ ์˜ˆ์‹œ๋กœ ์‚ดํŽด๋ณด์•˜๋˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์ž X Y 1 1 2 2 3 3 ๋˜ํ•œ ๊ฐ€์„ค ํ•จ์ˆ˜ H(x) = Wx ๋ผ๊ณ  ํ•˜๋ฉด, (b ๊ฐ’์„ 0์ด๋ผ๊ณ  ํ•˜์ž) ๋‹ค์Œ๊ณผ ๊ฐ™์€ Cost ํ•จ์ˆ˜๊ฐ€ ํ‘œํ˜„๋œ๋‹ค. ์ด ํ•จ์ˆ˜(Cost ํ•จ์ˆ˜)์˜ ๋ชจํ˜•์„ ๊ทธ๋ ค๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. W ๊ฐ’์— ๋”ฐ๋ผ Cost ํ•จ์ˆ˜๊ฐ’์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. W๊ฐ€ 0์ผ ๋•Œ๋Š” Cost ๊ฐ’์ด 0.4667์ด๊ณ , 1๋กœ ๊ฐˆ์ˆ˜๋ก ์ ์  ์ค„์–ด๋“ค..
Tensorflow Linear Regression Implementation Linear Regression์˜ ์›๋ฆฌ์— ๋Œ€ํ•ด ๊ฐ€๋ณ๊ฒŒ ์•Œ์•„๋ดค์œผ๋‹ˆ, tensorflow๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•œ Linear Regression์„ ๊ตฌํ˜„ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ง€๋‚œ ๋ฒˆ์— ์‚ฌ์šฉํ–ˆ๋˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค. import tensorflow as tf x_train = [1,2,3] #ํ•™์Šตํ•  x๊ฐ’ y_train = [1,2,3] #ํ•™์Šตํ•  y๊ฐ’ #Tensorflow ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” Variable : Tensorflow๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ๋ณ€ํ™”์‹œํ‚ค๋Š” ๋ณ€์ˆ˜ _ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ณ€๊ฒฝ์‹œํ‚ด W = tf.Variable(tf.random.normal([1]), name = 'weight') # Weight #๊ฐ’์ด ํ•˜๋‚˜์ธ array๋ฅผ ์ฃผ๊ฒŒ ๋จ b = tf.Variable(tf.random.normal([1]), name = 'bias')..
Linear Regression Linear Regression ๊ธฐ์ดˆ Linear Regression์€ ์—ฐ์†์ ์ธ ๋ฐ์ดํ„ฐ์˜ ์ถ”์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ ˆ์ด๋ธ”(๊ฒฐ๊ณผ๊ฐ’)์„ ์˜ˆ์ธกํ•˜๋Š” Supervised Learning ์˜ ์ผ์ข…์ด๋‹ค. ๋งŒ์•ฝ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•  ๋•Œ, X Y 1 1 2 2 3 3 ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 2์ฐจ์› ์ƒ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ ์ž ํ•˜๋Š” ์ž‘์—…์€ ์œ„์˜ ์„  ์ค‘์— ์–ด๋–ค ์„ ์ด ๊ฐ€์žฅ Data์˜ ์ถ”์ด๋ฅผ ์ž˜ ์„ค๋ช…ํ•˜๋Š”์ง€ ๊ฐ€์„ค์„ ์„ธ์šฐ๊ณ  ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ํ•  ์ผ์€ Hypothesis (๊ฐ€์„ค)์„ ์„ธ์šฐ๋Š” ์ž‘์—…์ด๋‹ค. ๊ทธ ๊ฐ€์„ค์€ "Linear ํ•œ Model์ด ์šฐ๋ฆฌ์˜ Data์— ๋งž์„ ๊ฒƒ์ด๋‹ค. " ๋Š” ๊ฐ€์„ค์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด์ œ๋ถ€ํ„ฐ Linearํ•œ ์„ ์„ ์ฐพ๋Š” ์ž‘์—…์— ๋“ค์–ด๊ฐ„๋‹ค. ์œ„์— ์žˆ๋Š” ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆผ์—์„œ ๊ทธ๋ ค์ง„ ์„ ๋“ค์€ ๊ฐ๊ฐ์ด ..
Tensorflow ๊ธฐ๋ณธ Operation Tensorflow์˜ ๊ธฐ๋ณธ์ ์ธ Operation์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜๋‹ค. Tensorflow๋Š” data flow graphs๋ฅผ ์‚ฌ์šฉํ•ด numerical ํ•œ ๊ณ„์‚ฐ์„ ํ•˜๋Š” Library์ด๋‹ค. Edge ์— ๋Œ์•„๋‹ค๋‹ˆ๋Š” Data๋“ค์„ Tense๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๊ทธ๋“ค์˜ ๋Œ์•„๋‹ค๋‹˜, ์ฆ‰ ํ๋ฆ„์„ Flow๋ผ๊ณ  ํ•˜๊ณ , ๊ทธ๊ณณ์—์„œ ๋‚˜์˜จ ์ด๋ฆ„์ด Tensorflow์ด๋‹ค. ๋ณธ๊ฒฉ์ ์œผ๋กœ Tensorflow ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด๋ณด๋ ค๊ณ  ํ•˜๋Š”๋ฐ, ๋˜ ๋‹ค์‹œ ๋ฒ„์ „ ์ด์œ ์˜ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค. "AttributeError : module 'tensorflow' has no attribute 'Session'" tensorflow version 1๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— Session ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ–ˆ๊ณ , version 2์—์„œ๋ถ€ํ„ฐ๋Š” Session์ด ์ ์šฉ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค..
Tensorflow in Pycharm ๊ทธ๋ฆฌ๊ณ  Google Colab ์ธํ„ฐํ”„๋ฆฌํ„ฐ ํ™œ์šฉ์„ ์œ„ํ•ด Pycharm์„ ์„ค์น˜ํ–ˆ๋‹ค. Pycharm์€ ๊ตฌ๊ธ€์—์„œ Pycharm ์„ ๊ฒ€์ƒ‰ํ•œ ํ›„, ๋ฌด๋ฃŒ ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋ฉด ๋œ๋‹ค. ์„ค์น˜ ํ›„ , Create Project๋ฅผ ํ•˜๋ฉด, ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด ๋‚˜์˜ค๋Š”๋ฐ, Conda ์— ์„ค์น˜๋˜์–ด ์žˆ๋Š” Python tensorflow ๋ฒ„์ „์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. Project ๋ฅผ ๋งŒ๋“ค๊ณ , 'File -> New -> Python File' ์„ ์ž…๋ ฅํ•ด์„œ ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ๋งŒ๋“  ํ›„, tensorflow ๊ฐ€ ์ž˜ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด์•˜๋‹ค. prompt์—์„œ ์ž…๋ ฅํ–ˆ๋˜ ๋‚ด์šฉ์„ ๋˜‘๊ฐ™์ด ์ž…๋ ฅํ•ด๋ณด์•˜๋Š”๋ฐ, import tensorflow as tf node1 = tf.constant(3.0, dtype = tf.float32) node2 = tf.constant(5.0) tf.pri..
Tensorflow ์™€ ๋จธ์‹ ๋Ÿฌ๋‹ ๋จธ์‹ ๋Ÿฌ๋‹์ด๋ž€ ? ๋จธ์‹ ๋Ÿฌ๋‹์€ ์ผ์ข…์˜ Software์ด๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ทœ์น™์„ ์ผ์ผํžˆ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„, ๋ฐ์ดํ„ฐ ์†์—์„œ ๊ทœ์น™์„ ์ฐพ์•„๋‚ด๊ณ , ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ปดํ“จํ„ฐ๊ฐ€ ๋งŒ๋“ค์–ด ๋‚ธ๋‹ค. ์ฆ‰ ์ปดํ“จํ„ฐ๊ฐ€ ์ง์ ‘ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ํ•™์Šต์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•™์Šตํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ•ด์ง€๊ณ , ๋ ˆ์ด๋ธ” (๊ฒฐ๊ณผ๊ฐ’)์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ํ•™์Šตํ•˜๋Š” Supervised Learning (์ง€๋„ํ•™์Šต) ๊ณผ ๋ ˆ์ด๋ธ”์ด ์—†๊ณ  ์ปดํ“จํ„ฐ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ์Šค์Šค๋กœ ํ•™์Šตํ•ด์•ผ ํ•˜๋Š” Unsupervised Learning(๋น„์ง€๋„ํ•™์Šต)์ด ์žˆ๋‹ค. ๊ทธ ์ค‘์— ์šฐ์„  ์ง€๋„ํ•™์Šต์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ง€๋„ํ•™์Šต์€ ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ๊ฒฐ๊ณผ๊ฐ’์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด๋ธ”์ด ์ •ํ•ด์ ธ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ์˜ ํ‚ค๋ฅผ ์˜ˆ์ธกํ•œ๋‹ค๋ฉด 0๋ถ€ํ„ฐ 2m ๋“ฑ ์—ฐ์†์ ์ธ ์ˆซ์ž๋ฅผ..