소프트맥스 회귀

  • 다중 클래스 분류
  • 대문자 C 를 class 의 갯수로 표기하고, 이 위 사진의 경우 C=4C=4 이다. (0, 1, 2, 3)

  • CC 가 4 인 경우, n[L]n^{[L]} 도 4가 된다.
  • 레이어 LL 의 각 노드는 각 클래스의 확률을 나타낸다.
    • a1[L]=P(otherX)a^{[L]}_1=P(\text{other}|X)
    • a2[L]=P(catX)a^{[L]}_2=P(\text{cat}|X)
    • a3[L]=P(dogX)a^{[L]}_3=P(\text{dog}|X)
    • a4[L]=P(chickX)a^{[L]}_4=P(\text{chick}|X)
  • a[L]=y^a^{[L]}=\hat y 이므로, y^\hat{y} 의 차원도 (C,1)(C, 1) 이다.

소프트 맥스 활성 함수

  • 소프트맥스 모델의 마지막 레이어 (출력 레이어) 에 사용되는 활성 함수이다.
z[L]=w[L]a[L1]+b[L]t=e(z[L])ai[L]=tij=1Ctjz^{[L]}=w^{[L]}a^{[L-1]}+b^{[L]}\\ t=e^{(z^{[L]})}\\ a^{[L]}_i=\frac{t_i}{\sum_{j=1}^Ct_j}
>>> np.random.randint(1, 5, 4)
array([3, 1, 2, 4])
>>> vec = np.random.randint(1, 5, 4)
>>> a = (np.exp(vec)) / np.sum(np.exp(vec))
>>> a
array([0.19661193, 0.19661193, 0.07232949, 0.53444665])
>>> np.sum(a)
1.0