ML lab 06 DeepLearning
ML lec 6-1 - Softmax Regression: 기본 개념 소개
전에 배운 것을 요약하면 위와 같다. 그리고 오른쪽에 화살표로 그려진 그림을 익숙하게 해야 뉴럴 네트워크할 때 편하다.
logistic regression 을 그래프로 표현하면 위와 같이 feature을 나눌 수 있다.
하지만 이제 feature가 2개가 아닌 3개 이상이라면 어떻게 해야하는가?
간단히 생각한다면 3번 학습을 시키는 것이다. 그럼 독립된 벡터를 계산하기보다는 하나의 행렬로 3개의 y hat 값을 나타내는 벡터를 갖는 것이 더 효율적이다.
위와 같이 계산을 더 편히 할 수 있다. 여기서 사람들은 sigmoid 함수를 다 처리하는 것보다 3개를 묶어서 한번에 확률로 표현하는 softmax 함수가 더 효율적이다.
3개의 값을 softmax에 넣게 되면 도합 1이 되는 확률로 표현된다. 확률로 표현된 벡터에서 가장 큰 값을 가진 것으로 예측하게 된다.
위처럼 a일 확률이 70프로일 때 a를 1로 두고 나머지를 모두 0으로 두는 것을 one hot encoding이라고 한다.
이제 뉴럴 네트워크에는 조금 다른 cost function이 쓰인다.
바로 cross entropy라는 함수이다.
예측이 틀린다면 cost가 엄청 큰 값을 갖고 예측이 맞다면 cost가 엄청 낮은 값을 갖는다.
위처럼 에측이 정확히 맞으면 0인 cost를 갖는다. 하지만 정확히 틀리면 무한대 값을 갖는다.
그리고 위 식을 정밀하게 표현하면 아래와 같다.
테스트 셋은 건들이면 안되고 무조건 트레이닝 셋만 이용하여 위 식을 구현해야한다.
댓글
댓글 쓰기