Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

No Limitation

[Pytorch] 로지스틱 회귀분석 본문

ML & DL & RL

[Pytorch] 로지스틱 회귀분석

yesungcho 2022. 2. 4. 15:58

참고 자료
https://wikidocs.net/53560
유원준 님의 Pytorch로 시작하는 딥러닝 입문 책 자료를 참고하였습니다. 

 

Pytorch에서 로지스틱 회귀 분석을 구현해보자. 

 

Binary Classification을 예로 들어 살펴보자

 

주어진 데이터는 다음과 같다. 

 

다음 데이터를 바탕으로 가중치와 편향 값을 초기화하면 다음과 같다. 

 

이에 Hypothesis는 시그모이드 함수에 회귀식을 집어 넣는 식으로 구축이 가능하고

Loss는 Cross Entropy 값으로 구현된 수식을 집어 넣어 구현할 수 있다. 

 

이로써 Logistic Regression의 Gradient Descent는 다음과 같이 구현할 수 있다. 

 

 

그렇다면 동일한 기능을 nn.Module을 사용하여 구현해보자

 

다음과 같이 층을 쌓아가는 단계로 nn.Sequential을 사용한다. 

이 부분은 keras와 tf의 layer 설계 단계와 유사하다. 

그리고 model()을 통해 입력 데이터에 대한 예측 값은 sigmoid를 적용한 결과로 출력된다. 

 

이를 실제 정답 label과 비교를 하면서 loss를 계산해주는 함수로 F.binary_cross_entropy()를 사용한다. 

 

즉, 다음과 같이 구현할 수 있다. 

 

이 역시 클래스를 통해 구현도 가능하다.