활성화 함수 친구들
오늘의 복습 키워드: SoftMax
쉽고 간단하게만 이해해보기
빠른 결론: 시그모이드는 이진분류(binary classification)에, 소프트 맥스는 다중클래스 분류(multiclass problems)에 사용된다.
시그모이드 vs 소프트맥스
시그모이드 함수는 로지스틱 함수의 한 케이스라 볼 수 있고, 인풋이 하나일 때 사용되는 시그모이드 함수를 인풋이 여러개일 때도 사용할 수 있도록 일반화 한 것이 소프트맥스 함수이다. 내용출처
🌱 logit vs sigmoid vs softmax 퀵 정리 내용출처
- logit과 sigmoid는 서로 역함수 관계이고
- 2개 클래스를 대상으로 정의하던 logit을 K개의 클래스를 대상으로 일반화하면 softmax함수가 유도(derived)됩니다.
- softmax함수에서 K를 2로 놓으면 sigmoid함수로 환원이 되고,
- 반대로 sigmoid함수를 K개의 클래스를 대상으로 일반화하면 softmax함수가 유도됩니다.
시그모이드의 출력값은 하나인 반면, 소프트맥스 함수의 출력은 분류하고자 하는 클래스의 갯수만큼 차원을 가지는 벡터로 각 원소는 0과 1사이의 값을 가지며, 이 각각은 특정 클래스가 정답일 확률을 나타낸다. 내용출처
동물 분류 예시: 각 원소는 어떤 동물일 확률을 나타낸다. (이미지 출처)
아래 이미지는 다른 예제 데이터지만 형태가 동물 그림 예시와 같아서 참고하자면, 데이터의 실제값이 팬더일 경우 원-핫 벡터는 [0 1 0]이다. 예측값과 실제값의 오차가 0이 되려면 소프트맥스 함수의 결과가 [0 1 0]이 되어야 한다. 따라서 예측값과 실제값 사이의 오차를 계산하기 위해서 손실함수로 cross-entropy 함수를 사용한다. 그리고 손실함수가 최소가 되는 방향으로 가중치와 편향을 업데이트 한다. 내용참조