[Deep Learning] 심층 신경망(DNN) 실습

1 minute read


1. 심층 신경망(Deep Neural Network, DNN) 실습

3가지 문제를 예측하기 위해 Keras Modeling 실습을 진행함

1) 이진 분류(Binary Classification)

IMDB(Internet Movie DataBase) : 인터넷 영화 리뷰 데이터(텍스트)로부터 긍정/부정 분류

자연어 처리 방법

  • Last Layer
    • The number of Node : 1
    • Activation : Sigmoid
    • Error Function: binary_crossentropy


2) 단일 레이블 다중 분류(Categorical Classification)

Handwritten Digits in the M(Mixed)-NIST Database : 손글씨 숫자 이미지로부터 10개(0 ~ 9) 숫자 분류
Fashion Images in the M(Mixed)-NIST Database : 흑백 패션 이미지로부터 10개 카테고리 분류

이미지 데이터 처리 방법

CNN을 사용하게 되면 처음에는 벡터로 바꾸지 않고 그대로 사용할 수 있지만, 이미지 분류를 위해 DNN으로 입력이 들어갈 때 Flatten()으로 펴주고 들어가게 된다.

  • Last Layer
    • The number of Node : the number of Class
    • Activation : Softmax
    • Error Function : Categorical_crossentropy
  • 참고
    • 다중 레이블 다중 분류에서는 활성화함수를 Sigmoid를 사용하고, Cost function은 binary_crossentropy를 사용한다.

3) 수치 예측(Regression Analysis)

Boston Housing Price Dataset : 보스턴 집 값 예측

  • Last Layer
    • The number of Node : 1
    • Activation : None
      • 수치 예측에서는 마지막 레이어에 Activation을 주면 안된다. 예를 들어, sigmoid를 주면 값이 0에서 1사이로 변경되기 때문에 실제 예측값을 알 수 없다.
      • 0과 1 사이 값에 대한 회귀일 경우에는 sigmoid 사용
    • Error Function : mse

2. DNN에서의 Hyperparameter Optimization

  • Layer & Node & Input_shape
  • Activation function
  • Loss & Optimizer
  • Epoch & Batch_size
  • Kernel_regularizer & Dropout
  • K-fold Cross Validation
  • Train vs. Validation Rate & Normalization & Standardization

Leave a comment