본문 바로가기

데이터 과학

Transformer 설명 ※ 아래는 여러 블로그를 참고하여 만든 것입니다. 사전 지식) Attention 모델 ----------------- 기본 ----------------- 1) Transformer의 내부 2) Encoder의 내부 2-1) 구조 2-2) 역할 2-3) Self Attention 네트워크 3) Decoder의 내부 4) 전체 네트워크 구조 ----------------- 심화 ----------------- 5) Transformer 심화 5-1 ~ 6) Self-Attention 첫번째 ~ 여섯번째 단계 6) Multi-head Self Attention layers (MSA) 7) Positioning Encoding 방법 8) Decoder 상세 9) 마지막 단계 10) 학습 데이터 예시 Trans.. 더보기
Likelihood(가능도) ▶ Likelihood - 확률분포의 모수($\theta$)가 어떤 확률 변수의 표본과 일관되는 정도를 나타내는 값이다. --> 표본(x)을 설명할 수 있으려면, 모수($\theta$)는 어떻게 되어야 하는지 가능성을 나타낸다. - 구체적으로, 표본에 대한 모수의 Likelihood는 이 모수를 따르는 분포가 주어진 관측값에 대하여 부여하는 확률이다. -->표본(x)가 주어졌을때 이를 설명할 수 있는 모수($\theta$)의 Likelihood는 이 모수를 따르는 분포가 주어진 관측값(X = x)에 대하여 부여하는 확률이다. Ex1) 동전을 던져 앞면(H)이 나오는 확률을 $p_H$라 하자. 만약 $p_H = 0.5$일때, HH(앞면 두번) 나올 확률은 (곱의 법칙에 의해) 0.25이다(수식 오른쪽). .. 더보기
최대 우도 추정법(MLE) 사전 지식 : 가능도(Likelihood) Contents - 최대 우도 추정(MLE) - 최대 우도 추정법의 일반적인 계산방법 - 정규 분포(Normal Distribution)에서의 최대 우도 추정법 - 이항 분포(Binomial Distribution)에서의 최대 우도 추정법 최대 우도 추정(MLE) 최대우도추정은 확률 분포에서 (데이터를 이용해) 가능성을 최대화하는 모수를 추정하는 방법이다. (Find an optimal way to fit a distribution to the data) 즉, 데이터를 잘 설명하는 모델을 찾고자 하는 것이다. 왜 모델을 찾으려 할까? 데이터를 일반화함으로써 데이터를 잘 이해할 수 있고 예측하는 것이 가능하기 때문이다. e.g. 데이터가 (정규/지수/감마) 분포를.. 더보기
Gaussian Mixture Model(GMM) ※ Gaussian Mixture Model(가우시안 혼합 모델)을 알기전에 먼저 Multivariate Gaussian Distribution(다변량 가우시안 분포)을 먼저 알아야 한다. 1. Gaussian Mixture Model(GMM) 정의 2. GMM을 이용한 분류(Classification) 3. EM 알고리즘을 이용한 GMM 학습 (EM : Expectation - Maximization) 4. 코드 1. Gaussian Mixture Model(GMM) 정의 혹은 식을 다음과 같이 표현하기도 한다. $ p(x) = \Sigma_{k=1}^K{P(z_k)P(x|z)} $ - 멀티모달(Multi-modal) 분포를 설명하기 위해 쓰인다. - K는 가우시안 분포의 갯수(하이퍼 파라미터) - $.. 더보기
Attention 모델 - 구현편 목차 1. Seq2Seq의 문제점 2. Encoder의 개선 3-1. Decoder의 개선 (1) 3-1-1. 대응 관계를 찾는 방법 3-2. Decoder의 개선 (2) 3-3. Decoder의 개선 (3) 3-4. Time Attention 계층의 구현 4. Attention을 갖춘 Seq2Seq의 구현 5. 평가 1. Seq2Seq의 문제점 짧은 문장이든, 긴 문장이든 Encoder에서 같은 길이의 벡터만 출력한다. 2. Encoder의 개선 Encoder의 출력 길이는 입력 문장의 길이에 따라 바꿔준다. LSTM 계층의 은닉 상태 벡터를 모두 이용한다. 지금까지는 LSTM 계층의 마지막 은닉 상태만을 Decoder에 전달했었다. 3-1. Decoder의 개선 (1) 지금까지와 똑같이 Encoder.. 더보기
Pytorch with examples ※ 아래 글은 Pytorch 홈페이지의 pytorch_with_examples를 번역 및 요약한 것입니다. 1. Numpy vs Pytorch 사인함수(sin)를 numpy 와 pytorch를 이용해 Linefitting 하면서 두 프레임 워크를 비교해 본다. 먼저 LineFitting을 위해서 모델링을 먼저 한다. 본 예제에서는 3차원 다항식으로 sin 함수를 Linefitting 을 시도한다. $ y = dx^3 + cx^2 + bx + d $ 2. Numpy 아래는 Numpy로 sin 함수 Linefitting 하기 위한 코드와 결과이다. 아래 그림을 보면, 3차원으로 다항식 가정을 하였고, 추정치가 실제 sin 함수와는 다소 차이를 보인다. 하지만, 계산 그래프를 통해서 계수(coefficient.. 더보기
[MIT] 데이터 사이언스 기초 강의 요약[11 ~ 15강] Chapter 11. Introduction to Machine Learning ▶지도 학습(Supervised Learning) - 분류(Classification), 회귀(Regression)가 존재 - 분류 : 라벨을 예측하는 것(이중 분류 or 다중 분류) (e.g. K-NN) - 회귀 : 연속적인 숫자 혹은 부동소수점을 예측하는 것 (e.g. Linear or Polynomial Regression) ※ 회귀는 분류와 다르게 출력 값에 연속성이 있다. ▶비지도 학습(Unsupervised Learning) - 원래 데이터를 보다 쉽게 해석할 수 있도록 만드는 알고리즘 - 비지도 변환(Unsupervised Transformation), 군집(Clustering), 이상 탐지(Anomaly Det.. 더보기
RNN & LSTM 설명 및 구현 ※ 아래의 글은 Colah의 "Understanding LSTM Network"를 번역한 것입니다. Contents 1. RNN(Recurrent Neural Network) 2. RNN의 단점 3. LSTM Network 4. LSTM Network 상세 5. 다양한 LSTM Network 종류 6. 다음 방향 7. Pytorch LSTM Network 1. RNN(Recurrent Neural Network) 과거 사건(시간이 지난 사건)을 네트워크에 반영할 수 없는 것은 기존 NN(Neural Network)의 단점이었다. RNN은 루프(Loop)를 이용하여 이 문제를 해결하였다. 루프는 같은 네트워크를 반복하여 사용하지만(multiple copies of the same network), 정보가 .. 더보기