작성
·
1K
0
선생님 안녕하세요.
강의 잘 듣고 있습니다.
여기에선 y값이 'Global~' 하나 인데
현업에서는 y값이 여러 개일 경우가 많은데, 그럴 때는
y_raw_data 컬럼을 어떻게 설정해주나요?
답변 2
0
0
안녕하세요. 답변 도우미입니다.
우선 지금 이야기하시는 것이 RNN과 LSTM을 사용할 때, y값이 여러 개인 경우(다중 출력)를 의미하는 것이 맞으시죠? RNN과 LSTM에서도 y값을 여러 개 출력하도록(다중 출력) 설정이 가능합니다.
아래는 RNN과 LSTM을 사용할 때 다중 출력을 처리하는 방법에 대한 기본 가이드입니다
1. 모델 아키텍처 설계: RNN 또는 LSTM의 마지막 레이어에서 출력 노드의 수를 y값의 개수에 맞게 조정하거나, 여러 개의 별도의 출력 레이어를 추가하는 방식으로 모델을 설계합니다.
2. 데이터 구조화:
* y_raw_data
와 같은 pandas DataFrame에서, 각 y값은 별도의 컬럼으로 관리될 수 있습니다. 예를 들어, y1
, y2
, y3
이라는 세 개의 예측 대상이 있다면, 데이터프레임의 형태는 아래와 같을 수 있습니다.
x_data | y1 | y2 | y3
-------------------------------
... | ... | ... | ...
* 데이터를 학습용 입력(x)과 레이블(y)로 분리할 때, y 부분은 여러 컬럼을 선택하여 넘파이 배열이나 텐서로 변환합니다.
X = df['x_data'].values
Y = df[['y1', 'y2', 'y3']].values
3. 손실 함수 선택: 여러 출력을 가질 때 각 출력에 대한 손실을 어떻게 계산할 것인지, 그리고 최종 손실을 어떻게 결합할 것인지 결정해야 합니다. 만약 각 출력이 연속적인 값(회귀)을 예측하는 경우, MSE와 같은 손실 함수를 사용하며, 각 출력의 손실을 평균내서 최종 손실로 사용할 수 있습니다.
4. 모델 학습 및 예측: RNN이나 LSTM을 학습할 때는 다중 출력 레이블에 대한 정보를 모두 제공하며, 예측 시에는 각 레이블에 대한 예측 결과가 반환됩니다.
이외에는 조금더 복잡한 모델을 고려해볼 수 있을 것 같고요. RNN 과 LSTM 은 그 기본이 되는 모델이라고 보셔도 좋을 것 같습니다.
감사합니다.