SNN을 이용한 Classification, Sigmoid function
분류 (Classification)
x0과 x1의 입력을 받는 샘플을 잘 나눌 수 있는 선을 그었다면 Classification 문제를 잘 풀었다고 할 수 있다.
이 선은 Decision Boundary 라고 한다.
로지스틱 회귀 (Logistic Regression)
로지스틱 회귀는 사람, 계, 돼지 등의 범주형 데이터를 대상으로 한다.
그저 구분하기 위함이다.
선형 회귀는 숫자를 대상으로 한다.
범주형 데이터를 분류하는 방향이기 때문에 범주가 다른 서로 다른 데이터를 잘 구분하는 것이 로지스틱 회귀이다.
Sigmoid function
Sigmoid function은 모든 실수, 즉 무한대에 가까운 입력 값에 대해서도 출력이 가능하고,
이를 확률로 표현할 수 있다.
0을 기준으로 주변을 보았을 때 빠르게 변하는 것을 확인할 수 있고
0을 기준으로 먼 곳은 천천히 변하는 것을 볼 수 있다.
모든 점에서 미분이 가능하다는 유용한 특성이 있다.
이진 분류 문제에 쓰일 수 있는 이유는 출력이 확률로 가능하기 때문이다.
0.5가 넘는다면 A, 0.5가 안된다면 B 처럼
Sigmoid
icim.nims.re.kr/post/easyMath/64
교차 엔트로피 오차 (Cross Entropy)
~y = y 틸다 (추정치 표현할 때 많이 사용) : sigmoid를 통해 나온 값
y : 학습 데이터의 정답
y가 1일 경우에는 ~y가 1이라면 굉장히 추정을 잘 한 경우이므로 CEE는 0이 된다. 즉 오차가 없다는 것이다.
멀어지면 멀어질수록 에러가 증가하게 된다.
틀릴수록 오차가 무한히 증가한다.
다중 로지스틱 회귀의 기하학적 해석
얕은 신경망과 분류 알고리즘
이때 활성 함수는 sigmoid 함수를 사용하게 된다.
SNN으로 Classification할 경우 Out layer는 Logistic Regression과 동일하다.
다만 Input Layer 에서 Output Layer로 갈 경우 추가적인 Hidden Layer가 붙는다.
은닉 계층과 분류
선을 아무리 잘 그어도 오차가 하나 있다.
SNN을 이용하게 된다면 Hidden Layer을 이용하게 되면서 선을 잘 그을 수 있다.
이것을 다시 입력 space 기준으로 보았을 때 Decision boundary가 구불구불한 선이 된다.