목록분류 전체보기 (213)
archive

1. Sequential Model- RNN 은 주어지는 입력 자체가 Sequential - Sequential 데이터 -> audio, video, 손의 모션 등-Sequential 데이터 처리의 어려움 -> 우리가 얻고자 하는 데이터의 출력값은 "하나의 라벨값"일 때가 많음, 그러나 이는 정의상 입력의 길이를 가늠할 수가 없음, 즉 입력의 차원을 예측 불가능-따라서 CNN을 사용할 수 없음, 몇 개의 입력이 들어오든 입력의 차원과 상관 없이 데이터를 처리할 수 있는 모델이 필요해짐 -기본적인 Sequential 모델 : Naive Sequential Model, 입력이 들어올 때 다음의 입력값을 예측하는 것 ex) 언어 모델-첫 번째 입력 벡터는 아무 것도 고려하지 않아도 됨, 두 번째 입력 벡터는 ..

XOR 문제에 대한 기계 학습을 진행하는 코드 리뷰 프로젝트XOR연산은 eXclusion OR 의 줄임말이고, 출력의 특징은 두 입력이 같으면 0을, 다르면 1을 출력하는것 문제 1. 모델 세팅import numpy as np # numpy importX = np.array([0, 0, 1, 1, 0, 1, 0, 1]).reshape(2,4) # 입력Y = np.array([0, 1, 1, 0]).reshape(1,4) # 정답 -학습셋으로 사용할 데이터셋 (입력값, 정답값) 행렬벡터를 numpy를 통해 정의# 가중치 초기화 함수def init_parameters(num_hidden_units = 2): W1 = np.random.randn(2, num_hidden_units) # 첫번째 레이어 가중치..
1. 경사하강법 (Gradient Descent) 을 구현할 데이터 쌍을 numpy 라이브러리를 활용해 생성한다import numpy as npxy = np.array([[1., 2., 3., 4., 5., 6.], [10., 20., 30., 40., 50., 60.]]) x_train = xy[0]y_train = xy[1] - split, stack, concatenate과 같은 방법들도 array가 클 때는 자주 사용한다. 특히 해당 방법을 사용할 때 axis를 잘 설정해야 원하는 결과를 얻을 수 있다. -numpy의 split 메소드, vsplit 메소드, flatten 메소드 활용split_xy = np.split(xy, 2, axis=0)x_tr..

1. Regularization-Generalization이 잘 되도록 학습의 이점이 최대일 때 학습을 방해해서 학습을 멈추도록 하는 기법-(1) Early Stopping-training 에 활용되지 않은 데이터셋을 validation 데이터로 활용해서 모델성능을 평가하고 loss가 커지는 시점에 train을멈추는 방식-이를 재평가하기 위해서는 새로운 validation set이 필요 -(2) Parameter Norm Penalty :NN 파라미터가 너무 커지지 않도록 함:이왕이면 네트워크가 학습할 때 작으면 작을 수록 좋음:물리적인 의미는 function space 속에서 최대한 부드러운 함수로 -> 부드러운 함수일 수록 generalization performance가 좋을 것이다라고 가정 -(3..

1. 용어 컨셉 정리(1) Gradient Descent : 내가 정의한 Loss Function에 대해서 줄어들었을 때 optimal을 이룰 것이라는 가정 하에 편미분값을 이요해서 학습을 진행하는 것-1차 미분한 값을 사용해서, 반복적으로 최적화하여 local minimum을 찾아내는 과정 ** Important concepts of optimization(2) Generalization: 우리는 일반화 성능을 높이는 것이 목적:일반화란? -> 학습 iteration이 진행됨에 따라 training error는 지속적으로 줄게 되어있음:training error은 계속 줄어들면 무조건적으로 좋다? 아님, test error와의 최적점을 찾아내야 :Generalization gap ) 학습데이터와 테스..

1. Neural Network-인간의 신경망 구조에서 희미하게 영감을 받아 제작-Neural Network는, 내가 정의한 함수로 투입값을 근사하는 수학적인 예측기이다. 행렬의 곱셈과 activation function(비선형 연산)이 반복적으로 일어남- 어떤 변환을 위한 함수를 모방하는 function approximator 2. Linear Neural Networks-선형회귀의 목적 : 입력이 1차원이고 출력이 1차원일 때, 2개의 값을 연결하는 가장 이상적인 값을 찾는 것-파라미터는 가중치 w와 y 절편 b이다.-우리의 목적은, N개의 데이터를 가장 잘 대변할 수 있는 하나의 선을 찾아내는 것-그리고 Loss Function은 실제 데이터 값과 실선 사이의 차이 (LSM)을 줄이기 위해 정의하..