1. Introduction- 알고리즘(Algorithm)은 INPUT -> OUTPUT 하는 일련의 계산과정- 잘 정의된 계산 문제를 풀기 위한 도구로 볼 수 있음 - INPUT이 다음과 같이 주어져 있다면, 정렬을 거치고 나선 OUTPUT은 정렬된 숫자들의 집합으로 나옴- 실제로 많은 프로그램에선 정렬은 CS에서 가장 중요한 작업임 2. 알고리즘의 특징- 실제로 현실세계에서도 매우 중요한 역할을 하게된다.ex) GPS를 이용해 최단거리찾기.. 3. 자료구조- 해당 책에선 여러 자료구조를 다룸- 자료구조는 자료를 편리하게 접근하고 변경하기 위해 자료를 저장하거나 조직하는 방법을 의미
1. 손실함수(Loss Function)- 신경망 학습에서 현재의 상태를 나타내는 하나의 지표라고 생각하면 됨- 그 지표를 가장 좋게 만들어주는 파라미터를 찾게 해주는 함수라고 생각하자.- 손실함수는 신경망의 성능의 나쁨을 나타내는 지표- 손실 함수의 값이 클수록 좋지 않음을 알 수 있음( 값을 최소로 만드는 게 목적)- 밑시딥1 에선 MSE, CEE 만 다루기에 이 2개에 대해서 알아보자. 2. 평균 제곱 오차(MSE | Mean Squared Error)- 데이터가 신경망을 거쳐 나온 확률 벡터와 라벨을 원 핫 인코딩하여 나온 확률 벡터를 고차원 공간의 점으로 이햐한 후 피타고라스 정리로 거리를 측정함- 미분 계산의 편의를 위해 제곱근은 없애고 앞에 1/2를 곱해줘서 수정해줌(밑시딥1에서) - Cod..
1.Introduce MNIST - MNIST 데이터 셋은 0부터 9까지의 손글씨 이미지로 구성- 훈련 데이터 60,000장 / 테스트 데이터 10,000장- 각 데이터는 이미지와 라벨로 이루어짐- 각 이미지는 28 * 28 해상도의 흑백사진- 각 픽셀은 0~255로 밝기표현이 되어있음 (0: 검정 / 255: 흰색) 2. MNIST 데이터 출력- MNIST라는 데이터베이스에 대해서 알아봤다면, 한번 실제로 출력해보자.https://github.com/WegraLee/deep-learning-from-scratch GitHub - WegraLee/deep-learning-from-scratch: 『밑바닥부터 시작하는 딥러닝』(한빛미디어, 2017)『밑바닥부터 시작하는 딥러닝』(한빛미디어, 2017). ..
1. 다차원 배열의 계산1.1. 다차원 배열- 다차원 배열은 기본적으로 숫자의 집합이라고 생각하면 편하다. - 간단히 배열이란 직사각형의 집합이라고 생각하면 된다. 만일 N차원으로 나열된 것이라면 N차원 배열이라고 정의한다.- 특히 2차원 배열은 행렬(Matrix)라고 부르고, 가로방향을 행, 세로 방향을 열이라고 정의한다. cf) 3차이상인 배열은 텐서(Tensor)라고 부른다. - 간단한 코드 예제를 봐보자. 1.2. 행렬 곱 - 이를 예제와 함께 보면 다음과 같다.- m x n 행렬과 n x l행렬의 곱은 m x l 행렬이 된다. - 행렬 곱은 numpy에서 np.dot()을 이용하여 구할 수 있다. ex) 2. 신경망에서의 행렬 곱 - 신경망과 행렬곱은 무슨 연관이 있을까? - 다음과 같이 신..