인공지능/딥러닝3 [밑바닥부터 시작하는 딥러닝] 손실 함수 신경망의 성능을 알아볼 때 쓰인다. 이때 얼마나 잘 처리하냐를 알아보는 것이 아니라 얼마나 처리를 하지 못하냐가 지표로 나타난다. 1. 오차제곱합 각 원소의 출력과 정답 레이블의 차를 제곱한 후 합을 구한다. def sum_squares_error(y,t): return 0.5 * np.sum((y-t)**2) 2. 교차 엔트로피 오차 오차제곱합의 판단과 일치한다. def cross_entropy_error(y, t): delta = 1e-7 return -np.sum(t * np.log(y+delta)) * 이때 delta와 같은 작은 값을 더해주는 이유는 log에 0들어가는 경우 -무한대로 발산하기 때문에 작은 값을 더해주어 값이 설정되도록 해준다. 3. 미니배치 학습 훈련 데이터 중 일부만 골.. 2021. 10. 21. [밑바닥부터 시작하는 딥러닝] 신경망 출력층 1. 항등 함수 y=x 로 입력이 그대로 출력되는 함수이다. 2. 소프트맥스 함수 소프트맥스 함수의 최종 수식이다. 소프트맥스 함수는 원래 아래 C'의 상수항이 없는 함수이지만 넣어도 값은 동일하다. 상수를 넣는 이유는 소프트맥스 함수를 그냥 계산할 시에 숫자가 너무 커는 오버플로 현상이 생기기 때문이다. 이를 이용해 다음과 같은 형식으로 소프트맥스 함수를 구현할 수 있다. def softmax(a): c = np.max(a) exp_a = np.exp(a-c) sum_exp_a = np.sum(exp_a) y = exp_a / sum_exp_a return y 적용하여 계산하면 다음과 같은 결과가 나온다. a = np.array([1010,1000,990]) y = softmax(a) print(.. 2021. 10. 21. [밑바닥부터 시작하는 딥러닝] 퍼셉트론, 신경망 퍼셉트론 정의 퍼셉트론 : 많은 input을 입력받아 하나의 output 을 출력하는 것 뉴런 or 노드 : 신호값 (0 또는 1) 가중치 : 노드가 input 값으로 보내질 때 곱해지는 값 임계값 : output이 1이 되게 하는 어떤 값 (input 신호의 합이 임계값을 넘어서면 output이 1이 된다) 편향 : 결과값에 더해지는 값 (일차 함수에서 상수항) 퍼셉트론의 한계 일차 함수이기 때문에 직선으로만 표현이 가능하다. 따라서 직선 하나로 나눈 영역만 표현할 수 있다. 다층 퍼셉트론 뜻 : 여러 퍼셉트론을 층으로 쌓은 것 ex) XOR은 하나의 퍼셉트론으로 표현이 불가능하기 때문에 다음과 같이 NANA, OR, AND 를 쌓아서 만들어야 한다. XOR = ((NAND) AND (OR)) 신경망 .. 2021. 10. 21. 이전 1 다음