본문 바로가기
  • 기술을 이야기하지만 사람을 생각합니다.
20. 인공지능과 딥러닝

[PyTorch로 시작하는 딥러닝 기초] 05. Logistic Regression

by WE DONE IT. 2020. 2. 2.

edwith의 <파이토치로 시작하는 딥러닝 기초>의 'Lab-05 Logistic Regression' 강의를 정리하였습니다.

 

[LECTURE] Lab-05 Logistic Regression : edwith

학습목표 로지스틱 회귀(Logistic Regression)에 대해 알아본다. 핵심키워드 로지스틱 회귀(Logistic Regression) 가설(Hypothesis) 손실함수(C... - tkddyd

www.edwith.org


Logistic Regression

 

  • X라는 데이터는 m개의 데이터들이 d 차원(d  사이즈)의 벡터
    => m이 '0' 또는 '1'로 이루어진 매트릭스
    =>  m * d 차원의 매트릭스
  • 로지스틱 회귀는 d 차원의 1d 벡터가 주어졌을 때, '0' 또는 '1'에 가까운지 찾는 문제
  • w (weight 파라미터)는 (d * 1) 차원의 매트릭스
  • P(x = 1) = 1 - P(x = 0) : '1'일 확률은 1 - '0'이 될 확률과 같음 
  • | X * w |  = (m * d) x (d * 1) = (m * 1) : m개의 element를 가진 1d 벡터가 됨

 

 

sigmoid 함수

  • 마이너스 무한대는 '0', 플러스 무한대는 '1'에 가까운 값을 갖게 해주는 함수

Weight Update via Gradient Descent

  • weight를 미분한 값에서 learning rate를 곱한 값을 W에서 뺀 뒤, gradient descent가 최소화하는 방향으로 학습하게 됨

Optional: High-level Implementation with nn.Module

class BinaryClassifier(nn.Module):
    def __init__(self):
        super().__init__()
        self.linear = nn.Linear(8, 1) #self.linear = {w,b}
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        return self.sigmoid(self.linear(x))
model = BinaryClassifier()
# optimizer 설정
optimizer = optim.SGD(model.parameters(), lr=1)

nb_epochs = 100
for epoch in range(nb_epochs + 1):

    # H(x) 계산 => P(x=1)
    hypothesis = model(x_train) 

    # cost 계산
    cost = F.binary_cross_entropy(hypothesis, y_train)

    # cost로 H(x) 개선
    optimizer.zero_grad()
    cost.backward()
    optimizer.step()
    
    # 20번마다 로그 출력
    if epoch % 10 == 0:
        prediction = hypothesis >= torch.FloatTensor([0.5])
        correct_prediction = prediction.float() == y_train
        accuracy = correct_prediction.sum().item() / len(correct_prediction)
        print('Epoch {:4d}/{} Cost: {:.6f} Accuracy {:2.2f}%'.format(
            epoch, nb_epochs, cost.item(), accuracy * 100,
        ))


 

Logistic Classification 개념 설명 (모두를 위한 딥러닝 - 김성훈 교수님 강의)

1. Logistic Classification 가설 함수 정의

2. Coss Function 강의

 

댓글