Linear Regression

숑숑·2020년 12월 29일
0

김성훈 교수님 강의를 참고했습니다.

  • Linear는 ‘선(line)의’ 라는 뜻이다. 말 그대로 일차함수의 형태로 사건에 대한 가설을 세워서 실제 결과와의 오차범위를 비교해가는 regression이다.
  • 위의 cost 함수는 오차결과를 나타냄
  • Cost 함수의 결과값을 minimize한 결과를 구하는 것이 이 연산의 목적 (미분해서 구한다)

알고리즘 구현

Jupyter Notebook 사용

📌 Basic


나중에 안 건데 사진에 for문과 if문 옆에 : 를 붙이지 않았다.

  • cost는 0으로 수렴해가고, W는 1로, b는 0에 가까워진다.
  • 트레이닝 값을 동일하게 줬기 때문에 y=x가 가장 이상적인 형태로 판단될 것이기 때문

📌 Placeholder ver.


  • 일부러 W=1, b=1.1 로 예측되게끔 트레이닝 값을 전달했다.
  • 결과를 보면 cost는 0으로 수렴하고 있고, W는 점점 1에 가까워지고 있으니 텐서플로가 잘 학습하고 있다는 것을 알 수 있다.

📌 Matrix ver.


  • 다차원 행렬의 경우 그냥 * 연산은 듣지 않으므로 matmul 함수를 써서 곱셈해야한다.
  • W의 값으로 주는 랜덤값 또한 몇차원인지 설정을 해둬야한다. Ex. Random_normal([3,1])
profile
툴 만들기 좋아하는 삽질 전문(...) 주니어 백엔드 개발자입니다.

0개의 댓글