# imdb
- 데이터 불러오기
- 긍정/부정 분류기 (binary 분류)
# random
- 랜덤한 인덱스 값 얻어내기 위함 (randint 함수 사용)
# tensorflow.keras : 자연어 처리 용도
- 데이터 셋 :
- 로이터 뉴스 데이터 가져오기 (multiclass 분류)
- MNIST 데이터 가져오기
- 전처리 :
- pad_sequence : 패딩 연산 하기
- to_categorical : 원핫 인코딩 처리
- 토큰 처리 :
- Tokenizer() : Corpus 를 토큰화 시켜서 데이터를 사용 가능하도록 변형한다
- fit_on_texts 연산 : 각각의 문자들에 대해서 정수 인덱스를 부여한다
ex) { 'apple : 1' , 'banana : 2' }
> 반환값이 없으며, 해당 Tokenizer 에 fitting 이 된 상태를 만들어주기만 한다ㅏ
- texts_to_sequences 연산 : fit_on_texts 연산을 통해 부여된 인덱스를 이용해서, texts 를 직접 sequence 값으로 바꿔서 반환한다
ex) "apple banana" -> [1, 2]
> 주로 fit_on_text 연산과 세트로 같이 적용해준다
- 모델 (이미 존재하는 모델 활용시) :
- SimpleRNN : 레이어 추가
- Dense :
- 입력값 :
1) units=? : 출력층의 벡터가 몇 차원인지 설정 (주로 원핫벡터를 이용. 원핫벡터의 차원을 기입해줌)
2) activation='sigmoid', 'softmax' 등 : 활성화 함수의 종류를 설정해줌
3) input_shape = (batch_size, input_onehot_dimension) 이 주로 사용되는 형태 (2차원 텐서)
> 이런 input 을 받을 경우엔, 2차원 텐서 (batch_size, onehot_dimension) 를 반환
- 출력값 : 2차원 텐서 (batch_size, onehot_dimension)
- LSTM :
- 입력값 :
1) units=? : hidden layer 의 벡터 차원 수
ex) units=4 : hidden layer 의 벡터 차원 수 = 4*1
2) input_shape = ( time sequence, embedding vector dimension )
ex) input_shape=(10,35) : LSTM 셀의 갯수가 10이며 (=time sequence 가 10), 임베딩 레이어의 벡터 차원 수가 10*1 이다
3) return_sequences=True/False :
> True 일 경우, N:N 모델이 되며, 출력층이 3차원으로 변한다 : 출력층 = (batch_size, time_sequence, units) <- 3차원
> False 일 경우, N:1 모델이 되며, 출력층이 2차원으로 변한다 : 출력층 = (batch_size, units) <- 2차원
- 결괏값 : return_sequences 의 T/F 여부에 따라 다른 결괏값을 낸다
> N:N 모델의 경우, 3차원 텐서 반환 : (batch_size, time_sequence, units)
> N:1 모델의 경우, 2차원 텐서 반환 : (batch_size, units)
*** 여러 개의 LSTM 층이 겹쳐져 있을 경우? ex) model.add(LSTM(256)), model.add(LSTM(128))
> 특별히 새로운 argument 를 입력하지 않는 이상,
이전 LSTM 층의 time_sequence 값을 똑같이 사용한다
ex)
# tensorflow 라이브러리 (자연어처리 X)
: 모델을 직접 설계시 사용
- 모델 :
- tf. placeholder : 데이터 값을 받을 수 있는 객체 생성기
- tf. Variables : 매개변수로 구성된 객체 생성기
- 활성화 함수 :
- tf. nn. relu, tf. nn. sigmoid 등
- 손실함수 (=비용함수)
- tf. reduce_mean, tf. reduce_sum 함수 활용해서 cost 구하기
- 최적화 함수
- tf. train. Optimizer. minimize(~) 활용
- Session() 라이브러리 : 구상 완료한
# Pandas
- 데이터 가져오기 :
구글 Colab 에 데이터가 있는 경우에, 데이터 가져오기 위해 사용
'프로그래밍 언어 기본 문법 > 파이썬' 카테고리의 다른 글
Dataframe - Pandas 자료형 정리 (0) | 2020.03.11 |
---|---|
파이썬 데이터/자료형 (0) | 2020.03.11 |
(최신화 중)여러 패키지 문법 정리 - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.31 |
케라스 함수형 API - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.30 |
케라스 기본 문법 정리 - 딥러닝을 이용한 자연어처리 입문 (0) | 2020.01.30 |