DEVELOPMENT/AI 4

train, test, validation 데이터셋

모델을 생성할 때, 데이터셋은 정말 중요하다. 다음은 train,test,validation 3가지 데이터셋에 대한 설명이다. 1) train 데이터셋 모델을 학습시킬 때 사용하는 데이터셋이다. train 데이터가 많으면 많을수록 모델이 학습할 수 있는 데이터가 많아 똑똑해질 수 있다. 2) test 데이터셋 앞서 RandomForest, DNN, CNN 모델의 코드를 보면, train데이터와 test데이터를 나누는 것을 확인할 수 있다. train_set, test_set = train_test_split(xy_data, test_size=0.3, random_state=123) 위 코드에서 test_size가 test데이터셋의 크기를 지정해주는 부분이다. 0.3이 의미하는 것은 총 데이터셋에서 tra..

DEVELOPMENT/AI 2020.12.30

딥러닝(DL) - CNN 모델

CNN(Convolutional Neural Network)이란? 데이터의 특징을 추출하여 이 특징들의 패턴을 파악하는 구조이다. CNN 알고리즘은 Convolution과정과 Pooling과정을 통해 진행되며, Convolution Layer와 Pooling Layer를 복합적으로 구성하여 알고리즘을 만든다. 1) Convolution Convolution은 아래 그림처럼 데이터의 특징을 추출하는 과정이다. - 연산 예시 : (1*1)+(1*0)+(1*1)+(1*0)+(1*1)+(0*0)+(1*1)+(0*0)+(0*1)=4 연산 결과, 5x5 이미지에서 Filter 하나가 3x3 크기의 이미지를 생성하게 된다. 만약 Filter가 3개라면 3x3 이미지 3개가 생성되는 것이다. Convolved Feat..

DEVELOPMENT/AI 2020.12.30

딥러닝(DL) - DNN 모델

DNN(Deep Neural Network)이란? 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이루어진 인공신경망이다. DNN은 분류 및 수치 예측을 하기 위한 것으로, 특히 이미지 트레이닝이나 문자인식과 같은 분야에서 매우 유용하게 쓰이고 있다. 대표적인 DNN 응용 알고리즘에는 CNN, RNN, LSTM, GRU 등이 있다. DNN 구현 from tensorflow.keras import layers from tensorflow.keras import models from tensorflow.keras import metrics from tensorflow.keras import losses from tensorflow.kera..

DEVELOPMENT/AI 2020.12.30

머신러닝(ML) - RandomForest 모델

RandomForest란? 앙상블 머신러닝(ensemble machine learning) 모델로 여러개의 결정트리(decision tree)가 모여서 만들어진 것이다. 원리 수많은 feature를 기반으로 하나의 결정트리를 만든다면 트리의 가지가 많아질 것이고, 이는 오버피팅이 발생할 확률이 높다. 하지만 랜덤포레스트는 여러개의 feature 중 랜덤으로 몇가지의 feature를 선택해서 여러개의 결정트리를 만들 수 있다. 이렇게 만들어진 여러 결정트리들이 내린 예측 값들 중 가장 많이 나온 값을 최종 예측값으로 결정하게 된다. 즉, 하나의 결정트리를 만드는 것이 아니라 여러 개의 작은 결정트리를 만드는 것이다. 여러 개의 작은 결정트리가 예측한 값들 중 가장 많은 값(분류일 경우) 혹은 평균값(회귀일..

DEVELOPMENT/AI 2020.12.29