반응형

이미지 분류는 CNN이 강했죠?
2025.04.16 - [분류 전체보기] - [딥러닝] Keras 케라스 완전 기초 3편 - 이미지 분류 마스터! CNN으로 딥러닝 모델 만들기 (with Keras)
[딥러닝] Keras 케라스 완전 기초 3편 - 이미지 분류 마스터! CNN으로 딥러닝 모델 만들기 (with Keras)
지난 시간에는 Dropout과 Optimizer로 모델을 튜닝해봤습니다. 2025.04.15 - [데이터사이언스(Data Science)/ML & DL] - [딥러닝] Keras 케라스 완전 기초 1편 - 첫 번째 딥러닝 모델 만들기 (10줄) [딥러닝] Keras 케
datasciencebeehive.tistory.com
그렇다면 텍스트나 시계열 데이터는 어떤 구조가 좋을까요? 바로 RNN (Recurrent Neural Network) 과 LSTM (Long Short-Term Memory) 입니다. 오늘은 IMDb 영화 리뷰 데이터를 가지고, 긍정/부정 감성 분석 모델을 만들어볼게요! 🎬
🔤 사용할 데이터: IMDb 감성 분석 데이터셋
- 영화 리뷰 25,000개 (훈련) + 25,000개 (테스트)
- 긍정/부정 (binary classification)
1. RNN 모델 실습 코드
import tensorflow as tf
from tensorflow.keras.datasets import imdb
from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, SimpleRNN, Dense
# 데이터 불러오기 (가장 많이 나오는 단어 10,000개만 사용)
(x_train, y_train), (x_test, y_test) = imdb.load_data(num_words=10000)
# 시퀀스 길이를 맞춰주기 (리뷰 길이 제각각이기 때문)
x_train = pad_sequences(x_train, maxlen=200)
x_test = pad_sequences(x_test, maxlen=200)
# RNN 모델 구성
model = Sequential([
Embedding(input_dim=10000, output_dim=32),
SimpleRNN(units=32),
Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.summary()
model.fit(x_train, y_train, epochs=5, batch_size=64, validation_split=0.2)
model.evaluate(x_test, y_test)
2️⃣ LSTM으로 업그레이드!
from tensorflow.keras.layers import LSTM
model = Sequential([
Embedding(input_dim=10000, output_dim=64),
LSTM(units=64), # 더 깊고 기억력이 긴 구조
Dense(1, activation='sigmoid')
])
📌 SimpleRNN은 기본 순환 신경망이고, LSTM은 더 긴 문맥을 기억할 수 있는 구조입니다.
🔍 Embedding이란?
- 단어를 숫자로 바꾸기만 하면 모델이 이해 못해요.
- 그래서 단어 벡터화 (word embedding) 필요!
- Embedding 레이어가 이를 자동으로 해줍니다.
📊 결과 예시 (LSTM 기준)
Epoch 5/5
625/625 [==============================] - 45s 71ms/step - loss: 0.3011 - accuracy: 0.8714 - val_loss: 0.3668 - val_accuracy: 0.8432
🧾 테스트 정확도: 0.8520
✅ 정리
- 텍스트나 시계열 데이터 → RNN, LSTM이 적합
- 간단한 감성 분석 모델도 Keras로 쉽게 만들 수 있음
- LSTM은 긴 문맥 정보를 더 잘 반영
반응형
'데이터사이언스(Data Science) > ML & DL' 카테고리의 다른 글
| [딥러닝] Keras 케라스 완전 기초 2편 - Keras 딥러닝 모델 성능 높이기! Dropout, Optimizer 쉽게 배우기 (0) | 2025.04.16 |
|---|---|
| [딥러닝] Keras 케라스 완전 기초 1편 - 첫 번째 딥러닝 모델 만들기 (10줄) (0) | 2025.04.15 |
| AI가 대규모 데이터 세트를 처리하는 방법: 모델 성능 최적화 🌟 (0) | 2025.01.20 |
| 🛠️ AI 프로젝트: AI를 활용한 자동 회계 어시스턴트 🤖💼 (3) | 2025.01.01 |
| 머신러닝 알고리즘 가이드: 종류와 강점, 약점 분석 📊 (3) | 2024.12.29 |