Lab-02. Linear regression

dusruddl2·2022년 6월 24일
0

핵심키워드

  • 선형회귀(Linear Regression)
  • 평균제곱오차(Mean Squared Error)
  • 경사하강법(Gradient Descent)

Data Definition

공부한 시간과 성적과의 관계
공부를 많이 하면 할수록 성

Hypothesis

우리의 모델

W와 B를 어떻게 정의할까?

  • 0으로 초기화하기 때문에 => torch.zeros()
  • 학습할 것이라고 명시하기 위해 => requires_grad=True

Compute loss

학습을 하려면 우리의 모델이 정답과 얼마나 가까운지 알아야함!
이것을 계산하는 것이 바로 loss


MSE를 이용하여 loss 계산하기
복잡해보이지만, 파이토치로 한줄로 구현가능

cost = torch.mean((hypothesis-y_train)**2)

Gradient Descent

경사하강법 SGD를 이용한 코드

optimizer = optim.SGD([W,b],lr=0.01)

optimizer.zero_grad() #gradient를 0으로 초기화
cost.backward() #비용 함수를 미분하여 gradient 계산
optimizer.step() #W와 b를 업데이트

기울기를 초기화해야만 새로운 가중치 편향에 대해서 새로운 기울기를 구할 수 있습니다.

profile
정리된 글은 https://dusruddl2.tistory.com/로 이동

0개의 댓글