Softmax Regression
Softmax Regression을 알아보겠습니다.
Softmax Regression은 다중 분류(Multi-class classification)에 사용됩니다.
Class(분류하는 것)가 4 개라면, Softmax Regression을 통해 나오는 값의 개수도 4 개입니다.
예를 들어 고양이, 강아지, 병아리, 오리를 Class로 분류해야 한다면, Softmax Regression의 값 또한 [x, x, x, x]로 나옵니다.
Softmax의 값은 각 해당하는 함수의 확률을 나타냅니다.
아래의 예에서 첫 번째 위치는 고양이일 확률, 두 번째 위치는 강아지일 확률, 세 번째 위치는 병아리일 확률, 마지막 번째 위치는 오리일 확률입니다.
Softmax의 값은 소수점으로 표현됩니다. 그래서 이름이 Softmax로
명명되었습니다.
Hardmax의 경우는 큰 것이 1 나머지가 0으로 표기되기 때문입니다.
그리고 Softmax의 특이한 점은 모든 값의 합이 1이 된다는 점입니다.
0.1 + 0.1 + 0.7 + 0.1 = 1
Softmax가 어떻게 구해지는지 알아보겠습니다.
먼저, 각 각의 경우에 대해서 Linear Regression을 합니다.
그럼 해당 값이 나옵니다.
여기서 나온 z를 activation function(활성 함수)에 넣습니다.
활성화 함수에 넣기 전에 약간의 계산이 필요합니다. e의 z 제곱을 임시 변수 t로
저장합니다.
이 t를 활용하여 activation function을 만듭니다.
아래에 Cat(고양이)으로 예시를 들어보겠습니다.
개별 값에 전체를 나누어서 Normalization을 해줌과 동시에 전체 합이 1이 되게
만듭니다.
Softmax Regression의 Loss 함수는 다음과 같습니다.
#class는 class의 개수입니다.
Cost 함수는 다음과 같습니다.
끝.
카테고리: Machine learning
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.