No Limitation
[Pytorch] 로지스틱 회귀분석 본문
참고 자료
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()를 사용한다.
즉, 다음과 같이 구현할 수 있다.
이 역시 클래스를 통해 구현도 가능하다.
'ML & DL & RL' 카테고리의 다른 글
[Pytorch] MNIST 데이터 분류하기 - 소프트맥스 회귀로 분류 (0) | 2022.02.11 |
---|---|
[Pytorch] 다중 클래스 분류 회귀 (0) | 2022.02.04 |
[Pytorch] Custom Dataset (0) | 2022.02.03 |
[Pytorch] Mini Batch Size와 Data Loader (0) | 2022.02.03 |
[Pytorch] Class를 이용한 Model 구현 (0) | 2022.02.03 |