꾸준히 성장하기

[D+54] 교육 | 딥러닝의 히든 레이어와 회귀 모델의 이해 본문

KT 에이블스쿨 5기/교육

[D+54] 교육 | 딥러닝의 히든 레이어와 회귀 모델의 이해

data.dohii 2024. 4. 14. 20:44

오늘은 딥러닝의 핵심 구성 요소 중 하나인 '히든 레이어'와 기본적인 회귀 모델 구성에 대해 알아보겠습니다. 

이 두 주제는 복잡해 보이지만, 한 단계씩 차근차근 이해해 보도록 하겠습니다.


1. 히든 레이어(Hidden Layer)

딥러닝 모델을 구성할 때 기본적인 구조는 Input → Hidden Layer → Output Layer로 이루어집니다.

특히, 히든 레이어는 딥러닝의 성능을 좌우하는 중요한 요소입니다.

히든 레이어에서는 기존 데이터가 새롭게 표현(Representation)된 것이며, Feature Engineering(자동화)이 진행된 것입니다.

그래서 Deep Leaning을 Representation Learning이라고 부르기도 합니다.

다수의 히든 레이어: 성능 향상을 위해 하나 이상의 히든 레이어를 사용할 수 있습니다. 이는 모델이 더 복잡한 패턴을 학습할 수 있도록 해줍니다.
활성화 함수: 히든 레이어에서는 주로 'relu'라는 활성화 함수를 사용합니다. 이 함수는 각 노드에서의 선형 결과를 비선형으로 변환해 다음 레이어로 전달하는 역할을 합니다.

# 메모리 정리

clear_session()

# Sequential 모델 선언

model = Sequential([Dense(8, input_shape=(nfeatures,), activation='relu'),

                                          Dense(4, activation='relu'),

                                          Dense(1) ])

# 모델 요약

model.summary()

 

2. 회귀 모델 구성

1) 전처리 과정
NaN 값 처리: 결측치를 제거하거나 채워넣습니다.
가변수화: 범주형 데이터를 수치형 데이터로 변환합니다.
스케일링: 데이터의 범위를 일정하게 조정해 모델의 학습 효율을 높입니다.

 

2) 모델 구성
첫 번째 레이어에서는 input_shape를 설정하여 데이터의 형태를 명시하며, 

마지막 레이어에서는 출력 노드가 1개인 구조로 설정합니다. 

중간의 히든 레이어에서는 비선형 활성화 함수를 사용하여 성능을 높입니다.

 

3) 코드와 요약

# 메모리 정리

clear_session()

# Sequential 타입 모델 선언 (입력은 리스트로!)

model = Sequential([ Dense(6, input_shape=(nfeatures,), activation='relu'),

                                           Dense(1)])

# 모델 요약

model.summary()

# 컴파일

model.compile(optimizer=Adam(learning_rate=0.001), loss='mse')

구분 Hidden Layer Output Layer Compile
Activation Activation Node 수 Optimizer Loss
회귀 분류 relu X 1 adam mse

딥러닝을 통한 회귀 모델링은 데이터의 내재된 복잡한 패턴을 이해하고 이를 바탕으로 정확한 예측을 하는 것이 목표입니다. 

내일은 분류 모델에 대해서 다뤄볼 예정입니다.

딥러닝이 처음에는 다소 어렵게 느껴질 수 있지만, 기본 개념을 잘 이해하면 분명 큰 도움이 될 것입니다.

반응형