순환 신경망(Recurrent Neural Network, RNN) - 여러 개의 데이터가 순서대로 입력되었을 때 앞서 입력받은 데이터를 잠시 기억해 놓는 방법 - 기억된 데이터가 얼마나 중요한지 판단하고 별도의 가중치를 주어 다음 데이터로 넘김 1. 다수 입력 단일 출력 ex) 문장을 읽고 뜻을 파악할 때 2. 단일 입력 다수 출력 ex) 사진의 캡션을 만들 때 3. 다수 입력 다수 출력 ex) 문장을 번역할 때 LSTM(Long Short Term Memory) - 반복되기 전에 다음 층으로 기억된 값을 넘길지 여부를 관리하는 단계를 하나 더 추가 - RNN의 기울기 소실 문제를 보완 LSTM 예제 - 로이터 뉴스 카테고리 분류 데이터 - 11,228개의 뉴스 기사를 읽고 이 데이터가 어떤 의미를 지..
원-핫 인코딩(one-hot encoding) - 단어 또는 문장을 이진 벡터로 변환하여 각 단어 또는 문장 요소의 존재 여부를 표현 - 각 단어를 모두 0으로 바꾸고 원하는 단어만 1로 바꾸어 주는 것 나는 = [ 0 1 0 0 0 0 0 0 ] 그대만큼 = [ 0 0 1 0 0 0 0 0 ] 사랑스러운 = [ 0 0 0 1 0 0 0 0 ] 사람을 = [ 0 0 0 0 1 0 0 0 ] 본 = [ 0 0 0 0 0 1 0 0 ] 적이 = [ 0 0 0 0 0 0 1 0 ] 없다 =[ 0 0 0 0 0 0 0 1 ] ※ 맨 첫 번째는 0 인덱스 자리 1. 토큰화 및 인덱스 값 출력 text = '나는 그대만큼 사랑스러운 사람을 본 적이 없다' token = Tokenizer() token.fit_on_..
자연어 처리(Natural Language Processing, NLP) - 인간의 언어를 컴퓨터가 이해하고 처리할 수 있는 형태로 변환하는 기술 - 딥러닝을 하기 전 텍스트를 정제하는 텍스트 전처리 과정 필요 텍스트 토큰화(tokenization) - 토큰(token) : 텍스트 데이터를 작은 단위로 분할하는 과정에서 생성된 단어, 음절, 형태소와 같은 개별적인 단위 - 토큰화(tokenization) : 입력된 텍스트를 잘게 나누는 과정 text_to_word_sequence : 텍스트를 단어 단위로 나눔 : keras에 존재 # 케라스의 텍스트 전처리와 관련한 함수중 text_to_word_sequence 함수를 불러옴 from tensorflow.keras.preprocessing.text imp..
컨볼루션 신경망(CNN) - 입력된 이미지에서 다시 한 번 특징을 추출하기 위해 커널(슬라이딩 윈도)을 도입하는 기법 - 원래 있던 값 x 가중치 값 = 새로 추출된 값 ex. (1x1)+(0x0)+(0x0)+(1x1) = 2 - 커널을 한 칸씩 옮겨 모든 칸에 적용 - 새롭게 만들어진 층을 컨볼루션(합성곱)층이라고 함 - 입력 데이터가 가진 특징을 대략적으로 추출해서 학습 진행 Con2D() : 컨볼루션(합성곱) 층을 추가하는 함수 : keras에 존재 - 첫 번째 인자 : 커널을 몇 개 적용할지 결정 - kernel_size : 커널의 크기를 (행, 열) 형식으로 결정 - input_shape : 맨 커음 층에 입력되는 값을 (행, 열, 색상 또는 흑백) 형식으로 결정 - activation : 활성..
MNIST 데이터 - 미국 국립표준기술원(NIST)이 고등학생과 인구조사국 직원 등이 쓴 손글씨를 이용해 만든 데이터 - 7만 개의 글자 이미지에 각각 0부터 9까지 이름표를 붙인 데이터셋 - keras API를 이용해 불러올 수 있음 이미지 인식 1. 데이터 준비 - X : 불러온 이미지 데이터 / y : 이미지에 0~9를 붙인 이름표 - X_train, y_train : 학습셋 / X_test, y_test : 테스트셋 from tensorflow.keras.datasets import mnist # MNIST 데이터셋을 불러와 학습셋과 테스트셋으로 저장 (X_train, y_train), (X_test, y_test) = mnist.load_data() # 학습셋과 테스트셋이 각각 몇 개의 이미지로..
부동산 가격 예측 데이터 분석 - 아이오와주 에임스 지역에서 2006년부터 2010년까지 거래된 실제 부동산 판매 기록을 보고 집의 가격 예측 - 빠진 부분, 범위에서 너무 벗어난 부분, 가격과는 관계 없는 정보 포함 1. 환경 및 데이터 준비 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import seaborn as..
와인 품질 예측 데이터 - 레드 와인과 화이트 와인에 대한 화학적 특성과 품질 등급을 통해 와인의 종류 예측 1. 환경 및 데이터 준비 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from sklearn.model_selection import train_test_split import pandas as pd # 데이터 입력 df = pd.read_csv('./data/wine.csv', header=None) # 데이터를 미리 봄 df.head() # 와인의 속성을 X로 와인의 분류를 y로 저장 X = df.iloc[:,0:12] y = df.iloc[:,12] 2. 검증셋 포함하여 모델 ..