본문 바로가기

인공지능

(24)
[딥러닝DL] RNN응용 규칙기반 챗봇 라이브러리 정의 🐸 import tensorflow as tf """단어사전 만들기""" from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences 규칙기반 데이터 정의하기 (질문/답변) 🐸 questions = [ "전기요금 어때?", "안녕하세요", "너 이름이 뭐니?", "어떻게 지내세요?", "프랑스의 수도는 어디인가요?", "뭐 해?", "오늘 날씨 어때?", "좋아하는 음식은 뭐에요?", "무슨 일을 좋아해요?", "가장 좋아하는 색깔은 무엇인가요?", "가장 기억에 남는 여행은 어디에요?", "주말에는 뭐하고 시간을 보내나요?", ..
[딥러닝DL] 순환신경망(RNN) - 장기기억 순환신경망(LSTM), 게이트웨이 반복 순환신경망(GRU) 순환신경망 🐸 순환신경망(Recurrent Neural Network, RNN) - RNN은 텍스트 처리를 위해 고안된 모델(계층) - 바로 이전의 데이터(텍스트)를 재사용하는 신경망 계층임 (이전의 기억을 가지고 있다☆) EX) 챗봇, 은행 카카오톡 서비스 순환신경망 종류 - 심플 순환신경망(Simple RNN) - 장기기억 순환신경망(LSTM) - 게이트웨이 반복 순환신경망(GRU) simple RNN 단점 - 긴 문장(시퀀스)을 학습하기 어려움 - 시퀀스가 길 수록 초반의 정보는 점진적으로 희석(소멸) 됨 즉, 멀리 떨어져 있는 단어의 정보를 인식하는데 어려움이 있음 - 이러한 단점을 보완한 모델이 LSTM과 GRU LSTM(Long Short-Term Memory, 장기기억) - 단기기억을 오래 ..
[딥러닝DL] DNN 분류데이터사용 - 입력계층의 출력크기 64 - 은닉계층의 출력크기 32 - 나머지는? - 콜백함수 모두 적용 - 옵티마이저 모두 적용 후 가장 좋은 성능일 때 옵티마이저 확인해 보기 - 정밀도, 재현율, f1-score, confusion_matrix 출력 실습해보기 - 내코드 🐥 import pandas as pd import numpy as np import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import seaborn as sns """한글처리""" plt.rc("font", family = "Malgun Gothic") """마이너스 기호 처리""" plt.rcParams["axes...
[딥러닝DL] DNN 회귀데이터 사용 데이터 가져오기 🐥 """라이브러리 정의""" import pandas as pd """ - 데이터프레임 변수 : data - 데이터 읽어들이기 """ data = pd.read_csv("./data/01_회귀_OOOO예측_데이터셋_Row_1000.csv") data.head(1) data.info() data.describe() """독립변수(X)와 종속변수(y)로 분리하기""" X = data.iloc[:, :-1] y = data["OOOO"] print(X, y) X.shape, y.shape """ 정규화 하기 - X_scaled 변수명 사용 """ from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler...
[딥러닝DL] 심층신경망 훈련 및 성능향상2 - 성능규제(Dropout), 모델 저장 및 불러오기, 콜백함수(ModelCheckpoint, EarlyStopping) 심층신경망 실습🦄 - 새로운 모델 생성 : model20 변수명 사용 - epoch 20번 반복 수행 - 프로그래스바가 보이도록 훈련시 출력하기 - 손실 및 정확도 곡선 각각 그려주세요~ * 함수 정의 def model_fn(a_layer = None): """모델 생성""" model = keras.Sequential() """입력층(1차원 전처리계층) 추가""" model.add(keras.layers.Flatten(input_shape = (28,28))) """100개의 출력을 담당하는 은닉계층 추가, 활성화 함수 relu""" model.add(keras.layers.Dense(100, activation="relu")) """추가할 은닉계층이 있는 경우만 실행됨""" if a_layer: mo..
[딥러닝DL] 심층신경망(DNN) 훈련 및 성능향상 - verbose, epoch, history, 시각화 목차 1. 라이브러리 정의 2. 데이터 수집 및 정규화 3. 심층신경망(Deep Neural Network, DNN) 4. 훈련 출력방법 지정 5. 모델 추가 정보 6. 시각화 하기 사용할 라이브러리 정의🦄 import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split """실행 결과를 동일하게 하기 위한 처리(완전 동일하지 않을 수도 있음)""" tf.keras.utils.set_random_seed(42) """연산 고정""" tf.config.experimental.enable_op_..
[딥러닝] 신경망계층 추가방법 및 성능향상방법 - 옵티마이저 목차 1. 신경망모델에 계층(layer) 추가하는 방법 2. 성능 향상 방법 3. 옵티마이저(Optimizer) - SGD(확률적 경사하강법), Adagrad, RMSProp, Adam - 학습률 - 모멘텀 fashion_mnist 데이터로 독립변수와 종속변수 읽어들이기 라이브러리 import tensorflow as tf from tensorflow import keras import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split """실행 결과를 동일하게 하기 위한 처리(완전 동일하지 않을 수도 있음)""" tf.keras.utils.set_random_seed(42) """..
[머신러닝ML] 분류 앙상블 모델 앙상블 모델 - tree구조(결정트리)를 기반으로 만들어진 모델 - 여러개의 트리 모델을 이용해서 훈련하는 모델을 앙상블 모델이라고 칭합니다. 앙상블 모델 분류 - 회귀와 분류에서 모두 사용한 모델들 입니다. - sklearn 패키지 모델은 모두 가능. - xgb도 가능. 분류 모델 - 랜덤포레스트 - 엑스트라트리 - 그레디언트 부스팅 - 히스트그레디언트부스팅 - XGboost 앙상블 모델 - 배깅(Bagging)과 부스팅(Boosting) 방식 - 앙상블 모델은 여러개의 트리를 사용하기 때문에 → 훈련 데이터를 여러 모델(여러 트리)에 적용하는 방식에 따라서 → 배깅과 부스팅 방식으로 구분합니다. 배깅(Bagging) 방식 - 사용되는 여러개의 모델(여러 트리)들은 서로 독립적으로 사용됨(연관성 없음)..