딥러닝과 머신러닝
Pytorch로 구현한 논리회귀 (2024-06-20) 미완성
Dumbobo
2024. 6. 20. 15:07
1. 단항 논리 회귀(Logistic Regression)
* 분류를 할 때 사용하며, 선형 회귀 공식으로부터 나왔기 때문에 논리회귀라는 이름이 붙여짐
2. 시그모이드(Sigmoid) 함수
* 예측값을 0에서 1사이의 값으로 되도록 만듦
* 0에서 1사이의 연속된 값을 출력으로 하기 때문에 보통 0.5(임계값)를 기준으로 구분
import torch
import torch.nn as nn
import torch.optim as optim
import matplotlib.pyplot as plt
torch.manual_seed(2024)
x_train = torch.FloatTensor([[0], [1], [3], [5], [8], [11], [15], [20]])
y_train = torch.FloatTensor([[0], [0], [0], [0], [0], [1], [1], [1]])
print(x_train.shape)
print(y_train.shape)
plt.figure(figsize= (8, 5))
plt.scatter(x_train, y_train)


model = nn.Sequential(
nn.Linear(1, 1),
nn.Sigmoid()
)
print(model)
print(list(model.parameters())) # W : 0.0634, b : 0.6625
3. 비용함수
* 논리회구에서는 nn.BCELoss() 함수를 사용하여 Loss를 계산
* Binary Cross Entropy
