좋은 신경망이란 무엇일까? loss function이 작은것도 하나의 답이 될 수 있을것같다.
1. MSE(평균 제곱 오차)
2. 교차 엔트로피 오차
에 대해서 공부했다. 수식은 생략하겠다.
import numpy as np
#평균 제곱 오차 MSE
def mean_squared_error(y,t):
return 0.5 * np.sum((y-t)**2)
#y는 나의 예측값 t는 실제값이라고 볼 수 있다.
t = [0,0,1,0,0,0,0,0,0,0]
y = [0.1,0.05,0.1,0.1,0.1,0.1,0.1,0.1,0.0,0.5]
ans = mean_squared_error(np.array(y),np.array(t))
print(ans) #0.56125
#교차 엔트로피 오차 cross entropy error
# 1.데이터 하나인 경우, 정답이 숫자인경우를 고려해서 수
def cross_entropy_error(y,t):
if y.ndim ==1:
t = t.reshape(1,t.size)
y = y.reshape(1,y.size)
if t.size ==y.size:
t = t.argmax(axis =1)
data_size = y.shape[0]
return -np.sum(np.log(y[np.arange(data_size),t]+1e-7)) /data_size
t = [0,0,1,0,0,0,0,0,0,0]
y = [0.1,0.05,0.6,0.0,0.05,0.1,0.0,0.1,0.0,0.0]
ans2 = cross_entropy_error(np.array(y),np.array(t))
print(ans2) #0.51087
'Data Science > 머신러닝&딥러닝 기초 이론' 카테고리의 다른 글
[딥러닝 실습] MNIST backpropagation 최고 성능 찾아보기 (learning rate, epoch 편) (0) | 2020.07.04 |
---|---|
[딥러닝 실습] numerical_gradient 경사하강법 (0) | 2020.04.24 |
[딥러닝 실습] MNIST 손글씨 인식 실습하기 (0) | 2020.04.18 |
[딥러닝 실습] 활성화함수 Softmax 함수 (0) | 2020.04.14 |
[딥러닝 실습] 활성화 함수 연습(step, sigmoid ,relu function) (0) | 2020.04.14 |
댓글