케라스
-
[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은 위에서 설..
-
[Keras] 튜토리얼10 - 앙상블(ensemble)💫 Computer Science/Python & AI Framework 2019. 12. 31. 00:07
● 머신러닝에서 앙상블(ensemble)이란? 앙상블 기법은 동일한 학습 알고리즘을 사용해 여러 모델을 학습하는 기법입니다. 괜찮은 Single Learner(단일 학습기)보다 Weak Learner를 결합하면 더 좋은 성능을 얻을 수 있다는 아이디에서 출발한 방법이기도 합니다. 즉, 성능이 좋지 않은 모델을 모아 성능이 좋은 모델 하나를 만드는 것입니다. Weak Learner : Learner는 특정한 데이터를 이용해 인스턴스화 한 모델을 뜻하며, Weak Learner는 최종적인 결과물보다 상대적으로 정확하지 않은 결과를 보이는 learner를 말합니다. 예전에는 Kaggle(국제적인 머신러닝 문제풀이 사이트)에서 평타이상을 치는 모델로 랜덤포레스트를 사용하였는데 요즘에는 XGBoost를 많이 사용..
-
[Keras] 튜토리얼9 - MLP(MultiLayer Perceptron) 구현하기💫 Computer Science/Python & AI Framework 2019. 12. 30. 08:53
● 신경망(Neural Network)의 발전 단층 신경망 : 입력층 + 출력층 다층 신경망 : 입력층 + 히든층 + 출력층 심층 신경망 : 입력층 + 2개이상의 히든층 + 출력층 ● MLP(MultiLayer Perceptron) 다층 퍼셉트론 이란? 퍼셉트론으로 이루어진 층(layer) 여러 개를 순차적으로 붙여놓은 형태입니다. 입력에 가까운 층을 아래에 있다고 하고, 출력에 가까운 층을 위에 있다고 합니다. 신호는 아래에서 위로 계속 움직이며, MLP에서는 인접한 층의 퍼셉트론간의 연결은 있어도 같은 층의 퍼셉트론끼리의 연결은 없습니다. 또, 한번 지나간 층으로 다시 연결되는 피드백(feedback)도 없습니다. 각 층은 그래프 구조에서 하나의 노드처럼 동작합니다. 즉, 입력이 들어오면 연산을 한 ..