티스토리 뷰
밑바닥부터 시작하는 딥러닝 : 파이썬으로 익히는 딥러닝 이론과 구현
실습 환경 : google colab
4장 - 신경망의 학습
책에서는 로컬 개발환경에서 실습하도록 되어있지만
google clolab에서 실습을 진행. 그에 맞게 코드 수정.
범용능력 : 아직보지 못한 데이터 (훈련데이터에 포함되지 않은 데이터)로도 문제를 올바르게 풀어내는 능력.
오버피팅 (Overfitting) : 한 데이터셋에만 지나치게 최적화된 상태.
손실함수 (loss function) : 신경망 성능의 나쁨을 나타내는 지표. 현재의 신경망이 훈련데이터를 얼마나 잘 처리하지 못하는지를 나타낸다. => 숫자가 낮을수록 성능이 좋다
손실함수 - 오차제곱합
오차제곱합 : (sum of squares for error , SSE) : 각 원소의 출력값과 정답 레이블 값의 차(-) 를 제곱(^2) 한 후 그 총합을 구한다.
def sum_squares_error(y, t):
return 0.5 * np.sum((y - t)**2)
# 정답은 2
t = [0, 0, 1, 0, 0, 0, 0, 0 ,0, 0 ]
# 정답이 2일거라고 추정한 확률은 0.6
y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0]
sum_squares_error(np.array(y), np.array(t))
#정답이 7일거라고 추정한 확률은 0.6 . 실제 정답은 2.
y = [0.1, 0.05, 0.1, 0.0, 0.05, 0.1, 0.0, 0.6, 0.0, 0.0]
sum_squares_error(np.array(y), np.array(t))
각 계산식 단계를 엑셀로 풀어보자..
손실함수 - 교차엔트로피 오차
교차엔트로피 오차 (cross entropy error, CEE) : 정답의 자연로그를 계산한다.
(ex: 정답 레이블은 '2'가 정답이라고 하고 이때 신경망의 출력이 0.6 이라면 -log0.6 이 된다.)
좀더 상세하게 풀면 엑셀수식으로 보면 log(0.6, 2.71828) * -1 이 된다.
2.71828은 자연상수 e 이다.
https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EB%A1%9C%EA%B7%B8%EC%9D%98_%EB%B0%91
# 교차엔트로피 오차 (cross entropy error, CEE)
def cross_entropy_error(y, t):
delta = 1e-7 # 0.0000001
return -np.sum(t * np.log(y + delta)) # y가 0일 경우 -inf, 무한대가 되어 계산이 되지 않음. 그래서 아주 작은값(delta)을 더해준다.
1e-7을 숫자형으로 표현하면 ??
https://calculationcalculator.com/1e-7-to-number
# 정답은 2
t = [0, 0, 1, 0, 0, 0, 0, 0 ,0, 0 ]
# 정답이 2일거라고 추정한 확률은 0.6
y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0]
cross_entropy_error(np.array(y), np.array(t))
# 정답은 2
t = [0, 0, 1, 0, 0, 0, 0, 0 ,0, 0 ]
#정답이 7일거라고 추정한 확률은 0.6 . 실제 정답은 2.
y = [0.1, 0.05, 0.1, 0.0, 0.05, 0.1, 0.0, 0.6, 0.0, 0.0]
cross_entropy_error(np.array(y), np.array(t))
'Programming' 카테고리의 다른 글
신경망 - 손글씨 숫자 인식 (mnist) (0) | 2023.12.31 |
---|---|
신경망 - 활성화함수 : 계단, 시그모이드, ReLU 함수. (1) | 2023.12.31 |
- Total
- Today
- Yesterday
- 바질 재배
- 방울토마토 재배
- 포러너245
- 다이소 바질
- 나이키 리액트 인피니티 런 플라이니트
- 포러너 245 뮤직
- 비트 키우기
- 다이소 씨앗
- 가민 포러너
- 젤카야노 25
- 베란다에서 비트 키우기
- 리액트 인피니티 런
- 바질
- 방울토마토 키우기
- 바질 키우기
- 비트
- 베란다에서 식물키우기
- garmin
- 나이키
- forerunner265
- 밑바닥부터 시작하는 딥러닝
- 다이소 방울토마토
- forerunner 245 music
- 포러너 245
- 가민
- 치커리
- 베란다에서 식물 키우기
- 진미영
- 적상추
- 방울토마토
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |