신경망의 지도 학습
1. 신경망의 가중치 wi를 적당한(?) 값으로 초기화 설정
2. 입력값과 출력값 yj을 입력
3. 입력값과 가중치를 이용하여 계산(곱하여 합하기) dj 값을 구함
4. 계산된 값 dj와 출력값 yj의 오차 ej를 계산 ei = di - yi
5. 이 오차가 최소가 되도록 신경망의 가중치 wj를 조절
$$\bigtriangleup w_{ij} = \alpha e_i x_j$$
6. 전체 데이터에 대하여 2~5 단계를 반복합니다.
가중치 조정 규칙?
두 노드 간의 가중치는
입력 노드의 값 xj와 오차 ej에 비례하여 조정한다...
가중치 Wij 는 노드 j에서 노드 i로 들어가는 가중치 입니다... 매우 주의
$$w_{ij}\leftarrow w_{ij} + \alpha e_i x_j$$
$$\alpha = 학습률(0 < \alpha \leqq 1) $$
학습률:
가중치를 얼마나 바꿀 것인지를 조정하는 역할
값이 크면 정답에 접근하는 속도가 빠르지만, 정답 근처에서 왔다 갔다 하는 경우가 있고
값이 작으면 정답에 접근하는 속도가 느려질 수 있음
$$w_{11}\leftarrow w_{11} + \alpha e_1 x_1$$
$$w_{12}\leftarrow w_{12} + \alpha e_1 x_2$$
$$w_{13}\leftarrow w_{13} + \alpha e_1 x_3$$
$$w_{13} : 입력 노드 3에서 출력 노드 1로 연결되는 가중치임을 유의$$
epoch
전체 학습 데이터를 한 번씩 모두 학습시킨 횟수
참고문헌:
밑바닥부터 시작하는 딥러닝(한빛미디어, 사이토 고키 지음, 개앞맵시 옮김)
딥러닝 첫걸음(한빛미디어, 김성필 저)
'Python' 카테고리의 다른 글
4일째 4.2 odds, logit, 시그모이드함수, 소프트맥스 (0) | 2020.08.18 |
---|---|
3일째 3.2 활성화 함수(activation function) 이 뭔가요? (0) | 2020.08.14 |
2일째 2.2 그림그리기 -matplotlib (0) | 2020.08.13 |
제2강 2.1 넘파이 사용 - import, np.array( ) (0) | 2020.08.13 |