참고) 활성화 함수
소프트맥스
- 주로 다중 클래스 분류 문제에서 사용됨.
 - 여러 클래스 중 하나를 선택해야 하는 문제(예: 고양이, 개, 새 등 3개의 클래스 중 하나)를 해결할 때, 소프트맥스는 각 클래스에 속할 확률을 계산함.
 
시그모이드
- 주로 이진 분류 문제에서 사용됨.
 - 출력값을 0과 1 사이의 값으로 변환하므로, 결과를 확률로 해석할 수 있음.
 - 주로 두 가지 클래스를 구분할 때 사용되며, 확률이 0.5를 기준으로 하나의 클래스를 예측함.
 


시그모이드 함수를 사용하는 이유
- 비선형성을 추구하기 위해서다.
 - 인공신경망에서 비선형성을 추구하지 않으면 여러층의 신경망을지나도 결국 선형변환만 일어나 복잡한 패턴을 학습할 수 없기 때문이다.
 - 출력이 0과 1사이 이기 때문에 출력값을 확률처럼 해석할 수 있게 한다.
 - 미분이 가능해 역전파 알고리즘을 사용하는 신경망에서 쉽게 적용할 수 있다.
 - 입력값이 너무 크거나 작으면 기울기가 아주 작아져 기울기가 소실되므로 최근에는 ReLu와 같은 함수를 더 많이 사용
 


데이터가 입력층에서 출력층까지 차례차례 이동하면서 가중치와 편향을 이용해 계산이 이루어지는 것





추론한 값과 실제 값의 오차를 이용해 가중치를 다시 계산하는 원리





0, 1, 1, 0의 형태가 역시 나오지 않음










loss(예측값과 정답값의 차이) 함수 교체: MSE -> 크로스 엔트로피로
델타 != 오차이고 오차의 크기를 조정하는 역할을 한다.
하지만 크로스엔트로피 손실함수와 시그모이드 함수를를 사용할 때는 오차에 시그모이드 함수 미분값을 곱할 필요 없이 오차 자체가 델타와 오차가 같아진다.
수학적 문제이지만, 델타를 구할 때 Cross Entropy 함수를 사용하면, 델타는 오차와 같다.
시그모이드 함수는 loss 함수가 아니라 활성화 함수이다.
역전파 과정에서 시그모이드 함수를 미분한 값을 오차에 곱해 해당 오차가 가중치(W)에 어떻게 영향을 미치는지 결정하는 역할로 오차와 시그모이드함수 미분값을 곱한것이 델타이다.



x = x - max(x)를 하는 이유
exp(x)가 지수함수여서 x값이 증가함에 따라 급격히 y값이 증가함(오버플로우) -> 계산이 안될수도 있음
x축 값을 왼쪽으로 이동시켜서 y값을 작게 만들어 y 값이 너무 큰것을 방지함


















