PyTorch로 딥러닝 배우기 2

한준호·2021년 7월 22일
0

딥러닝 배워보기

목록 보기
2/7
post-thumbnail

Logistic Regression

Binary Classification

  • 합격 / 불합격
  • 정사 메일 / 스팸 메일
  • 진짜 / 가짜
    둘 중 하나를 결정하는 문제를 Binary Classification라고 하고, 이를 풀기 위한 대표적인 알고리즘으로 Logistic Regression가 있다.

Logistic vs Linear


Hypothesis Representation


H(x) = Wx+b가 아니라, 위와 같이 S자 모양의 그래프를 만들 수 있는 어떤 특정 함수 f를 추가적으로 사용하여 H(x) = f(Wx+b)의 가설을 사용한다. 그리고 위와 같이 S자 모양의 그래프를 그릴 수 f는 시그모이드함수이다.


Sigmoid

Hypothesis, H(x)가 0과 1 사이 값만 나타내게 하기위해 시그모이드 함수를 이용한다.


Decision Boundary


Cost Function

선형 회귀에서 사용했던 평균 제곱 오차의 수식
H(x) = Wx+b가 아니라 H(x) = sigmoid(Wx+b)
이다. 이 비용 함수를 미분하면 선형 회귀때와 달리 심한 비볼록(non-convex) 형태의 그래프가 나온다.

시그모이드 함수의 특징은 함수의 출력값이 0과 1사이의 값이라는 점이다. 즉, 실제값이 1일 때 예측값이 0에 가까워지면 오차가 커져야 하며, 실제값이 0일 때, 예측값이 1에 가까워지면 오차가 커져야 한다. 이를 충족하는 함수가 로그함수이다.
이를 하나의 식으로 통합 할 수 있다.


Optimization

선형 회귀에서는 모든 오차의 평균을 구해 평균 제곱 오차를 사용했었다. 마찬가지로 여기에서도 모든 오차의 평균을 구한다.
비용 함수는 실제값 y와 예측값 H(x)의 차이가 커지면 cost가 커지고, 실제값 y와 예측값 H(x)의 차이가 작아지면 cost는 작아진다. 이제 위 비용 함수에 대해서 경사 하강법을 수행하면서 최적의 가중치 W를 찾는다.



Softmax Regression

Multinomial Classification

세 개 이상의 답 중 하나를 고르는 문제를 다중 클래스 분류(Multi-class Classification)라고 한다.


Softmax Regression

소프트맥스 회귀는 확률의 총 합이 1이 되는 이 아이디어를 다중 클래스 분류 문제에 적용한다. 소프트맥스 회귀는 각 선택지마다 소수 확률을 할당한다. 이때 총 확률의 합은 1이 되어야 한다.
소프트맥스 회귀는 선택지의 개수만큼의 차원을 가지는 벡터를 만들고, 해당 벡터가 벡터의 모든 원소의 합이 1이 되도록 원소들의 값을 변환시키는 어떤 함수를 지나게 만들어야 한다. 이 함수를 소프트맥스(softmax) 함수라고 한다.


Softmax Function


Cost Function

소프트맥스 회귀에서는 비용 함수로 크로스 엔트로피 함수를 사용한다.


Cross-entropy Function

y는 실제값을 나타내며, k는 클래스의 개수로 정의한다. yj는 실제값 원-핫 벡터의 j번째 인덱스를 의미하며, pj는 샘플 데이터가 j번째 클래스일 확률을 나타낸다.


이를 n개의 전체 데이터에 대한 평균을 구한다고 하면 최종 비용 함수는 다음과 같다.



Application

Overfitting

Solutions

  • Set a features
    특징을 더 추가한다.
  • Regularization 정규화
  • More Data and Data Augmentation
  • Dropout
  • Batch Normalization

0개의 댓글