[모두의 딥러닝] Linear Regression의 개념 강의노트 & TensorFlow
📗강의노트/모두의 딥러닝

[모두의 딥러닝] Linear Regression의 개념 강의노트 & TensorFlow

728x90
반응형

Sung Kim 님의 "모두의 딥러닝" 강의노트입니다

좋은 강의 감사드립니다!

https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5


Supervised Learning : 데이터를 가지고 학습시켜서 예측하는 것 ( 공부시간 학습을 통한 점수 예측 )
                                    -> 모델을 만들어 Regression을 사용함 ( 새로운 학생의 공부시간을 입력 )

그 후 (Linear) Hypothesis를 세운다.
기존 데이터에 적합한 선을 결정하는 것임 - 선을 찾는 것이 학습을 하는 것 
수학적으로 나타낸다면 H(x) = Wx + b로 나타낼 수 있다. 

Cost function : 우리가 세운 가설과 실제 데이터가 얼마나 맞는지 확인하는 것
                H(x) - y : 잔차   하지만 +, - 일 수도 있기 때문에  (H(x) - y)^2 을 해서 양수로 표현하여 확인한다.  차이가 클 때 더 큰 패널티를 주기도 한다. 

각각의 가설 결과와 실제값의 차를 m개 더한 후 m개로 나눔 ( 평균 ) = cost

결국 Cost(W,b)에 대한 것 가장 최적의 W, b 를 구하는 것이 목적
Minimize cost(W, b)를 구하는 것이 학습의 목적이라고 할 수 있다. 

< Linear Regression with TensorFlow >

  1. Build hypothesis
            tf,Variable : trainable한 텐서이다. 과정에서 변경가능 
            tensor의 shape를 주어야함 tf.random.normal([1]) : 값이 하나인 1차원 array ( rank = 1 )
            
  1. Build cost function
            tf.reduce.mean : 텐서들을 평균내주는 기능 1,2,3,4, => 2.5
            tf.square : 제곱
  1. GradientDescent
            스스로 w,b를 조정하여 값을 찾는 것 
            tf.train.GradientDescentOptimizer(learning_rate = 0.01)
            Train = optimizer.minimize(cost) :  cost minimize 하는 것
  1. Launch a session
            tensor를 실행하기 이전에 sess.run(tf.global_variables_initializer())을 실행해줘야함
            variable을 initialize 하는 것
  1. Run a session using sess.run   알고 싶은 값 sess.run(A)에 입력




출력하는 과정 

Placeholder 사용하는 이유는 때에 따라 값을 다르게 넣을 수 있기 때문이다. shape도 임의로 정할 수 있음 





728x90
반응형