손실함수
·
Data Science/밑바닥부터 시작하는 딥러닝
신경망 학습에서는 현재의 상태를 손실 함수(loss function) or 목적 함수라는 지표로 표현한다. 신경망의 성능이 '얼마나 나쁜가'를 나타내는 지표이다. 학습이란 과정은 그 지표를 가장 좋게 만들어주는 가중치 매개변수의 값을 탐색하는 것이다. 이 손실 함수로는 임의의 함수를 사용할 수 있지만 일반적으로 평균제곱오차(Mean Squared Error, MSE), 교차 엔트로피 오차(Cross-Entropy Loss)를 사용한다. 오차제곱합 (Sum of Squares for Error, SSE) \(y_{k}\) = 예측값, 신경망이 추정한 값 \(t_{k}\) = 실제값, 정답 레이블 \(k\) = 데이터의 차원 수 오차란 알고리즘이 예측한 값과 실제 정답과의 차이를 의미한다. 평균제곱오차 (M..
데이터에서 학습한다!
·
Data Science/밑바닥부터 시작하는 딥러닝
신경망 학습에서 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 이번 장에서는 손실 함수(Loss Function)라는 것이 나온다. 비용 함수(Cost Function)라고도 부른다고 한다. 신경망이 학습할 수 있도록 해주는 지표이며 이 손실 함수의 결괏값을 가장 적게 만드는 가중치 매개변수를 찾는 것이 목표이다. 앞으로 이 손실 함수의 값을 가급적 작게 만드는 기법으로, 함수의 기울기를 활용하는 경사법이 나온다. 데이터 주도 학습 데이터에서 답을 찾고 패턴을 발견하고 이야기를 만드는 것이 기계학습이다. (패턴 찾기) 즉, 수집된 데이터 셋에 존재하는 패턴을 학습하여 유용한 알고리즘을 개발하는 것이다. 예를 들어 이미지에서 '5'라는 숫자를 인식하는 프로그램을 구현..
Chapter 3.4 3층 신경망 구현하기
·
Data Science/밑바닥부터 시작하는 딥러닝
이번에는 [그림 3-14]의 3층 신경망에서 수행되는, 입력부터 출력까지의 처리 (순방향 처리) 를 구현해보자. 이를 위해 앞에서 설명한 넘파이의 다차원 배열을 사용한다. 넘파이 배열을 잘 쓰면 아주 적은 코드만으로도 신경망의 순방향 처리를 완성할 수 있다. 3.4.1 표기법 설명 이번 절에서는 신경망에서의 처리를 설명하며 \(w_{12}^{\left( 1\right) }\) 과 \(a_{1}^{\left( 1\right) }\) 같은 표기법이 나온다. [그림 3-16]을 보면 입력층의 뉴런 \(x_{2}\)에서 다음 층의 뉴런 \(a_{1}^{\left( 1\right) }\)으로 향하는 선 위에 가중치를 표시하고 있다. [그림 3-16]과 같이 가중치와 은닉층 뉴런의 오른쪽 위에는 '\(^\left(..
Chapter 3.3 다차원 배열의 계산
·
Data Science/밑바닥부터 시작하는 딥러닝
넘파이의 다차원 배열을 사용한 계산법을 숙달하면 신경망을 효율적으로 구현할 수 있다. 그래서 이번엔 넘파이의 다차원 배열 계산에 대해 알아보고 신경망을 구현해보겠다. 3.3.1 다차원 배열 다차원 배열도 기본은 '숫자의 집합'이다. 숫자를 N차원으로 나열하는 것을 다차원 배열이라고 한다. >>> import numpy as np >>> A = np.array([1, 2, 3, 4]) >>> print(A) [1 2 3 4] >>> np.ndim(A) // np.ndim(): 배열의 차원 수 확인 1 >>> A.shape // '배열'.shape: 배열의 형상 확인, 무조건 튜플 형태로 반환 (4,) >>> A.shape[0] 4 2차원 배열은 특히 행렬(matrix)라고 부르고 [그림 3-10]과 같이 ..
HaSeon9
'Data Science/밑바닥부터 시작하는 딥러닝' 카테고리의 글 목록