- 변수 : 신경망에서 학습 대상
- ,
- 하이퍼 파라미터 : 학습 알고리즘에게 우리가 정해줘야 하는 것
- learning rate
- 반복 iteration 횟수
- 은닉층 hidden layer 개수
- 은닉유닛 hidden units 개수
- 활성화 함수 선택
- 모멘텀 항 momentum term
- 미니배치 크기 mini batch size
- 학습 전 파라미터를 초기화한다.
- w = np.random.rand(
shape
) * 0.01
→ 랜덤 초기화.- b = np.zeros(
shape
)
→ 0으로 초기화
- learning rate 정하기
- 일단 0.01로 시작 (?)
활성화 함수 정하기
- 데이터 값의 범위가 (거의) 양수일 때 → ReLU
- 대체로 sigmoid냐 tanh냐 중에선 → tanh
- Binary classification의 출력층 → sigmoid
비선형이어야 함.
종류 (4가지)
sigmoid
[장점]
출력값 : 0~1 → binary classification의 출력층에 적합.
왜냐하면 그 출력층은 y=1일 확률을 나타내는데, 확률은 0~1 사이 값이니까.
tanh
[장점]
평균이 0
→ 데이터를 원점으로 이동하는 효과 有.
→ 평균이 0.5인 Sigmoid보다 효율적.
ReLU
[장점]
sigmoid, tanh는 x가 너무 크거나 작을 때 도함수가 거의 0
→ 학습 속도 저하
반면 ReLU는 x 절반(x>0)
은 도함수가 1으로, 0에 가깝지 X
→ 학습 빠름.
leaky ReLU
[장점]
남은 x 절반(x<0)도 도함수가 0이 아님. → 학습 더 빠름.