[Python] 신경망 처음부터 끝까지 구현하기 05
신경망 처음부터 끝까지 구현하기 05
- foward_neuralnet 함수 생성
def forward_neuralnet(x):
# x와 가중치의 행렬곱 연산에 편향을 더한 값을 y_hat에 넣는다 (y_hat = 예측 값)
y_hat = np.matmul(x, weight) + bias
return y_hat, x
- forward_postproc 함수 생성
def forward_postproc(y_hat, y):
# 예측 값에서 실제 값을 빼 diff에 저장
diff = y_hat - y
# 행렬 안의 각 값을 제곱
square = np.square(diff)
# 행렬 전체의 평균을 loss에 저장
loss = np.mean(square)
return loss, diff
- eval_accuracy 함수 생성
def eval_accuracy(y_hat, y):
mdiff = np.mean(np.abs((y_hat - y) / y))
return 1 - mdiff
- backprop_neuralnet 함수 생성
def backprop_neuralnet(G_output, x):
global weight, bias
x_transpose = x.transpose()
G_w = np.matmul(x_transpose, G_output)
G_b = np.sum(G_output, axis = 0)
weight -= LEARNING_RATE * G_w
bias -= LEARNING_RATE * G_b
- backprop_postproc 함수 생성
def backprop_postproc(diff):
M_N = diff.shape
g_mse_square = np.ones(M_N) / np.prod(M_N)
g_square_diff = 2 * diff
g_diff_output = 1
G_diff = g_mse_square * g_square_diff
G_output = g_diff_output * G_diff
return G_output
Author And Source
이 문제에 관하여([Python] 신경망 처음부터 끝까지 구현하기 05), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gandi0330/Python-신경망-처음부터-끝까지-구현하기-04-6f9z1pxn저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)