인공지능
-
[Keras] 튜토리얼14(마지막) - 모델 SAVE, LOAD, Tensorboard 이용하기💫 Computer Science/Python & AI Framework 2020. 1. 12. 14:11
새로운 언어나 프레임워크를 배울 때, 예전에는 두꺼운 책을 하나 사서 1장부터 공부 -> 예제 따라하기 이런식으로 공부를 했었는데요. 그렇게 되면 1장만 열심히 하고 뒤로 갈 수록 공부를 안하게 되더라구요..... 저만 그렇나요? 그렇게 기초부터 하나씩 익혀가면 물론 좋겠지만, 사람의 기억력이라는 것이 원래 복습을 안하면 공부한 것에 10%만 남는다고 하잖아요? 그래서 프로그래밍을 아예 모르는 사람이 아니라면 새로운 언어나 프레임워크를 배울 때, 거기에 관련된 개념들의 대표 예제를 먼저 따라해본 후 개념을 대충 익히는 식으로 공부하는 것이 훨씬 효율적이라고 생각합니다. 나중에 실전 프로그래밍을 할 때 비슷한 개념이 나오면 다시 찾아볼때 복습한다고 생각하면서 공부하면 처음부터 두꺼운 책을 공부하는 것과 별..
-
[Keras] 튜토리얼12 - Scikit-learn의 Scaler💫 Computer Science/Python & AI Framework 2020. 1. 5. 21:29
● 스케일링(Scaling)이란? 스케일링이란 데이터 전처리 과정의 하나 입니다. 데이터의 값이 너무 크거나 혹은 작은 경우에 모델 알고리즘 학습과정에서 0으로 수렴하거나 무한으로 발산해 버릴 수 있는 것을 방지하거나, 예측 값이 범위를 벗어나는 입력데이터의 값에 더 큰 영향을 받는 것을 방지합니다. 스케일링을 통해 다타원의 값들을 비교 분석하기 쉽게 만들어 줍니다. 자료의 overflow나 underflow를 방지하고 최적화 과정에서 안정성 및 수렴 속도를 향상시킵니다. 예를 들어 키와 몸무게가 입력 데이터로 주어지고 라벨데이터는 100m달리기에 걸리는 시간을 예측한다고 하면, 키와 몸무게는 서로 범위, Unit이 다르기 때문에 더 큰 값을 가진 키 값이 결과 값에 더 큰 영향을 미치는 것을 방지하기 ..
-
[Keras] 튜토리얼 11 - LSTM(feat. RNN) 구현하기💫 Computer Science/Python & AI Framework 2020. 1. 4. 01:06
● RNN(Recurrent Neural Network)란? RNN(Recurrent Neural Network)은 일반적인 인공 신경망인 FFNets(Feed-Forward Neural Networks)와 이름에서 부터 어떤 점이 다른지 드러납니다. FFNets는 데이터를 입력하면 연산이 입력층에서 은닉층을 거쳐 출력층까지 차근차근 진행되고 이 과정에서 입력 데이터는 모든 노드를 딱 한번씩 지나가게 됩니다. 그러나 RNN은 은닉층의 결과가 다시 같은 은닉층의 입력으로 들어가도록 연결되어 있습니다. 즉, FFNets는 시간 순서를 무시하고 현재 주어진 데이터만 가지고 판단합니다. 하지만 RNN은 지금 들어온 입력데이터와 과거에 입력 받았던 데이터를 동시에 고려합니다. ○ RNN의 사용 RNN은 위에서 설..
-
[딥러닝] Bias-Variance Tradeoff 와 앙상블✨ AI 2020. 1. 2. 01:19
● Bias-Variance Tradeoff 머신러닝을 이용해 분류기를 만들때, 테스트 하는 과정을 거치며 많은 에러들이 나오게 되는데 이런 에러들을 MSE로 분석해보면 Bias와 Variance의 식으로 정리됩니다. Learning Error = Bias + Variance Bias : 학습된 분류기와 실제 값 사이의 제곱 에러, 정확도와 비슷한 개념 Variance : 학습된 분류기들이 각기 다른 학습셋에 성능의 변화정도가 급하게 변하는지 안정적으로 변하는지를 나타내는 척도 ○ High Variance & Low Bias 모델이 높은 variance와 낮은 bias를 가질 때, 일부는 정확하게 매핑되지만 많은 데이터가 정확하게 예측하지 못합니다. 모델을 너무 tight하게 학습하여 데이터가 조금만 변..