기록

Sigmoid vs Softmax 차이점 본문

머신러닝

Sigmoid vs Softmax 차이점

김아이지 2023. 6. 21. 04:09

Classification task를 보다보면 sigmoid와 softmax가 사용되는것을 알 수 있다.

 

sigmoid 와 softmax의 차이점에 대해서 알아보고자 한다.

 

먼저 두 함수의 수식은 아래와 같다.

 

시그모이드(Sigmoid)

 

시그모이트 특징

1. 로지스틱 회귀 모델에서 이진 분류에서 사용된다.

2. 확률이 0~1 사이의 값을 가진다. 합이 1이 아니다.

3. 활성화 함수로 사용된다.

 

* 단일값에 대한 출력 결과를 얻는다.

* 단일값에 대해서 0~1 사이의 값을 얻기에 0.5를 기준으로 임계값(Threshold) 1(True) or 0(False)로 판별이 가능해서 사용된다.

* 단일값에 대해서 비선형 함수로 사용이 되지만 기울기 소실(Gradient Vanishing) 문제때문에 ReLU를 사용한다. 시그모이드의 미분값은 0~0.25 값을 가진다. 이 값을 chain rule로 계속해서 곱하면 0.xxx을 계속 곱하면서 계층이 깊어지면서 기울기가 거의 0에 근사하기에 기울기가 사라지기 때문이다. 그래서 ReLU를 사용한다. 왜? ReLU는 0이하는 0으로 양수는 입력값을 그대로 사용하기때문에 입력값이 양수일 경우, 입력값에 상관없이 항상 미분값이 1이다. 단, 입력값이 음수일 경우 가중치가 업데이트 되지 않는다. 이를통해서 기울기가 사라지는걸 방지하기 위해  ReLU를 사용한다.

 

 

소프트맥스(Softmax)

 

소프트맥스 특징

1. 로지스틱 회귀 모델에서 다중 분류에서 사용된다.

2. 확률의 합이 1이다.

3. 출력층에 사용된다.

 

* 다중 값에 대한 출력 결과를 얻는다. (3개 이상의 클래스에 대해서)

* 다중 값에 대해서 0~1 사이의 값을 가지고 전체 클래스의 결과의 합이 1이 된다. 그래서 다중 분류에서 사용되는데 예를들어서 소프트맥스의 출력으로 [0.79, 0.1, 0.11] 벡터 결과를 얻었다. 이때 입력 데이터에 대해서 각 클래스일 확률을 의미로 해석된다. -> 입력된 데이터의 클래스가 첫번째 클래스일 확률 79%, 두번째 클래스일 확률 10%, 세번째 클래스일 확률 11%이라는 의미이다.

'머신러닝' 카테고리의 다른 글

CART (Classification And Regression Tree) 알고리즘  (0) 2022.12.06
머신러닝 - 공개 데이터셋 구하는 곳  (0) 2022.07.08
ML 알고리즘 & 모델  (0) 2022.06.28
ML 데이터셋  (0) 2022.06.28
ML (Machine Learning)  (0) 2022.06.28
Comments