Deep Learning/Natural Language Processing

[pytorch] Intro

frances._.sb 2022. 7. 18. 13:03
728x90

[파이토치로 배우는 자연어처리] 교재 참고

처음부터 공부하는 마음으로 책 정리를 해보았다.

 

   1.1 지도학습

 

 - 머신러닝에서 지도 또는 지도 학습은 샘플(observation)에 대응하는 예측하는 값(target)의 정답을 제공하는 방식이다.

- sample : 예측 시 사용하는 아이템. 즉, input

- target : sample에 상응하는 label, 또는 ground truth

- model : target label을 예측하는 함수

- parameter : 모델을 규정함. weight라고도 불림.

- predict : estimate $\hat{y}$

- loss function : 훈련 데이터에 대한 예측이 타깃과 얼마나 멀리 떨어져 있는지 비교

 

 

 

< (확률적) 경사 하강법을 사용한 훈련 >

 

gradient descent

- parameter의 초깃값을 추측한 다음 목적함수 (손실 함수)의 값이 수용할만한 임계점(수렴 조건) 아래로 내려갈 때까지 parameter 반복해서 업데이트

- 메모리 제약과 계산 비용이 높아 매우 느리다.

 

stochastic gradient desent

- 데이터 포인트 하나 또는 일부 랜덤 하게 선택하여 gradient 계산.

- 데이터 포인트 하나 시 pure SGD

- 데이터 여려 개 사용 시 minibatch SGD

 

 

⊙ backpropagation : parameter를 반복적으로 업데이트하는 과정

 - forward pass : 현재 parameter값으로 입력을 평가하여 손실 함수 계산

 - backward pass : 손실의 gradient 사용하여 parameter 업데이트

 

 

 

  1.2 샘플과 타깃의 인코딩

 

 

 ⓛ 원-핫 표현

 

- one-hot representation : 0 벡터에서 시작해 문장이나 문서에 등장하는 단어에 상응하는 원소를 1로 설정

 

 

 

 ② TF 표현 

   : 등장 횟수에 비례하여 단어에 가중치 부여

 

from sklearn.feature_extraction.text import CountVectorizer
import seaborn as sns

corpus = ['Time flies like an arrow.',
          'Fruit flies like a banana.']

one_hot_vectorizer = CountVectorizer(binary=True)
one_hot = one_hot_vectorizer.fit_transform(corpus).toarray()
vocab = one_hot_vectorizer.get_feature_names()
sns.heatmap(one_hot, annot=True,
            cbar=False, xticklabels=vocab,
            yticklabels=['Sentence 1', 'Sentence 2'])

 

 

 

 - TF-IDF : idf 벡터 표현에서 흔한 토큰의 점수를 낮추고 드문 토큰의 점수를 높인다.

 

$IDF(w) = log \frac{N}{n_w}$

 

 

- $n_w$ : 단어 $w$를 포함한 문서의 개수

- $N$ : 은 전체 문서의 개수

 

from sklearn.feature_extraction.text import TfidfVectorizer
import seaborn as sns

tfidf_vectorizer = TfidfVectorizer()
tfidf = tfidf_vectorizer.fit_transform(corpus).toarray()
sns.heatmap(tfidf, annot=True, cbar=False, xticklabels=vocab,
            yticklabels=['Sentence 1', 'Sentence 2'])

 

실습 확인하러 가기

728x90
반응형