[5팀] 텐서플로우로 시작하는 딥러닝 기초 | Lec 06
이 글은 boostcourse 강의를 참고하여 작성했습니다.
작성자 : 홍수정
1. Multinomial Classfication (다항분류)
A,B,C 대략 그래프에 표시하면 그렇게 된다.
binary clasfication을 가지고도 다항분류 (multionmial classfication) 구현이 가능하다.
📌binary classfication으로 multionmial classfiaction을 하는 과정은 다음과 같다.
1. C이거나 C가 아닌 2개의 케이스로 나눈다.
2. B이거나 B가 아닌 2개의 케이스로 나눈다.
3. A이거나 A가 아닌 2개의 케이스로 나눈다.
위의 과정으로 인해 3개의 각각 독립된 binary clasfication으로도 구현이 가능하게 된다.
실제 구현을 위해 행렬로 표현하면 다음과 같다.
3번 독립된 형태의 벡터를 가지고 계산을 하는 것이라 생각하면 된다. 하지만 이렇게 각각 독립적으로 하나씩 계산하게 되면
복잡해보이기 때문에 하나로 합쳐서 (Matrix multiplication) 계산을 하면 다음 아래 그림과 같이 나오게 된다.
3개의 독립된 classifiaction을 구현해도 되지만 하나의 벡터로 처리하게 되면 한번에 계산이 가능하게 되므로 간단하게 처리가 된다.
2. Softmax (소프트맥스)
효율적으로 Sigmoid를 처리하는 법은?
우리가 logistic classifier를 써서 앞에 본 행렬식과 같이 벡터로 계산을 하면
어떤 입력값에 대해 3개의 벡터를 낸다. (A에 해당하는 값, B에 해당하는 값, C에 해당하는 값. 이들은 각각 0~1 사이의 값들이고 모두 더하면 1이 된다.)
=> 이런 형태로 표현하기 위해 사용하는 것이 소프트맥스(Softmax)
💜'ONE-HOT' ENCODING : 제일 큰 값 (0.7)을 사용해서 나머지는 다 0으로 바꾼다
예측한 값과 실제의 값이 얼마나 차이가 나는지 알기위해 Cost function 를 설계해야함.
예측 값과 실제 값, 두 개 사이의 차이가 얼마나 되는지를 cross-entropy를 사용해서 (D(S,L)의 오른쪽 식) 구하게 된다.
3. Cross-entropy (크로스 엔트로피)
예측이 틀릴 경우 큰 값으로 설정, 맞을 경우 작은 값으로 설정한다. 계산은 아래 그림과 같다.
4. Logistic cost VS cross entropy