신경망
신경망은 입력값과 출력값을 연결하는 여러 개의 뉴던(node)로 이루어져 있다.
신경망은 입력층, 은닉층, 출력층으로 계층적 구조로 구성되어 있다. 입력층은 입력 데이터를 받는 부분이고, 출력층은 최종 결과를 내보내는 부분, 은닉층은 보통 여러 층으로 구성되어 있는데, 또한 각 층은 여러 개의 뉴런으로 구성되어 있다.
은닉층에서 활성화 함수를 통해 출력 신호를 계산한다. (활성화 함수 : softmax, 시그모이드, ReLU, tanh 등등등)
결론 :
위와 같이 활성화 함수를 통해 출력된 값이 신경망이 예측한 결과이고, 실제 값과의 차이가 손실 함수(loss function)이다.
loss를 최소화하기 위해 가중치(weight)를 조절하는 것이 신경망 학습 과정이다.
softmax
softmax는 위에서 설명한 활성화 함수 중 하나이다. 주로 다중클래스 분류 문제에서 사용된다.
이를 통해 특정 벡터가 어떤 클래스에 속하는지 확률을 계산할 수 있다.
import numpy as np
def softmax(x):
e_x = np.exp(x - np.max(x, axis=-1, keepdims=True)) # axis=-1 옵션을 통해 n차원 다룸
val = e_x / np.sum(e_x, axis=-1, keepdims=True)
return val
v = np.array([[1,1,0], [-3,0,1], [-1,0,4]])
softmax(v)
axis=-1은 가장 마지막 차원을 의미함. keepdims 옵션은 연산 결과의 차원을 입력값과 동일하게 유지하는 옵션이다.
위 옵션을 사용하지 않으면, 결과값의 차원이 입력값보다 1차원 낮아진다.
왜 그런가 생각해보니,
[[2,3],[4,1]]가 있을 때, np.max를 적용하면 [4,3]이 되고, 저 옵션을 사용하면 [[4,4],[3,3]]으로 유지되는 것..!
역전파(backpropagation)
역전파란 딥러닝에 쓰이는 알고리즘으로, 출력 값과 실제 값의 오차를 이용하여 각 계층의 가중치(weight)와 편형값(bias)를 조정하면서 학습하는 알고리즘이다.
출력층부터 입력층까지 거꾸로 오차를 전파하면서 가중치와 편향을 수정해간다. 이런 과정을 통해 모델이 실제값과 예측값의 차이를 줄이고, 정확한 예측을 할 수 있도록 도와준다.
확률론
딥러닝에서 확률론을 사용하여 신경망 모델을 구성하고 학습니다. 이미지 분류 문제에서 각 클래스에 대한 확률을 계산해서 가장 높은 확률 클래스를 선택하는 것이 그 예시이다.
조건부확률
p(yㅣx) 란 입력변수 x에 대해 정답이 y일 확률, 좀 더 풀어서 설명하면 x 사건이 발생한 상태에서 y 사건이 발생할 확률이다.
기계학습에서 이런 조건부확률 성질을 이용한다. 예를 들어, 분류 문제에서 주어진 특성(feature) 값에 대해 각각 클래스에 속할 확률을 계산하고 가장 높은 확률을 선택한다. 이런 계산이 베이즈의 정리를 따른 것이다.
표집분포
표집분포는 모집단에서 무작위로 추출한 표본의 특성을 나타내는 확률분포이다. 표본분포와는 차이가 있는데, 표본분포는 하나의 모집단에서 무작위로 추출한 단일 표본의 특성을 나타내는 확률분포이고,표집분포는 모집단에서 표본을 여러 번 반복하여 추출한 것이다.표집분포는 정규분포를 따를 수 있지만, 표본분포는 따르지 않을 수 있다.표집분포는 모집단에서 가능한 모든 표본을 많이 추출하기 때문에 중심극한정리에 의해 정규분포를 따르는 것이다.
최대가능도 추정법
확률분포 모수 값을 추정하는 방법. 가능도 함수를 최대화하는 모수 값을 찾는 것이다. 가능도 함수란 ? 주어진 데이터가 특정한 모수 값에서 나타날 확률
** 다시 공부하기 **
'부스트캠프 > day 정리' 카테고리의 다른 글
[week 3 - day 2] CNN / modern CNN (0) | 2023.03.21 |
---|---|
[week 1 - day 5] cnn, rnn (0) | 2023.03.10 |
[week 1 - day 3] 경사하강법 (0) | 2023.03.09 |
[week1 - day 3] 벡터 & 행렬 (0) | 2023.03.08 |
[week 1 - day 2] Pandas (0) | 2023.03.08 |