Data Science 20

Neural Machine Translation (seq2seq) Tutorial

Neural Machine Translation (seq2seq) Tutorial 1. Background on Neural Machine Translation 과거에 전통적인 phrase-based translation system들은 source 문장들을 여러개의 chunks로 쪼개고 그 다음 phrase-by-phrase로 해석했다. 이방법은 번역결과에 있어서 disfluency를 초래했는데 사람이 해석하는 것처럼 정확하게 작동하지 않았다. NMT는 기존의 방식에서 벗어나 사람이 전체 문장을 읽고 그 의미를 이해한 다음에 번역 결과를 생성하는 것처럼 번역을 한다. [Enc-dec 구조] : encoder는 source 문장을 meaning vector로 변환하고 번역을 위해 decoder에 보낸다...

resampling으로 imbalanced data(불균형 데이터 문제) 해결하기

Resampling으로 imbalanced data(불균형 데이터 문제) 해결하기 imbalanced data : 데이터 내 각각의 class들이 차지하는 데이터의 비율이 균일하지 않고 한쪽으로 치우친 데이터 major class : dataset 내에서 상대적으로 다수를 차지하는 class minor class : dataset 내에서 상대적으로 다수를 차지하는 class imbalanced data와 같은 문제에 처했을 때 보통 classification algorithm의 성능을 향상시키거나, 학습 전에 resampling을 통해 training set내의 클래스를 균형을 맞춘다. 보편적으로 이 중에서 후자가 선호된다. Resampling 방법은 dataset 내에서 minor class의 비중을 ..

Bag-Of-Words Model

[Bag-Of-Words] 1. The problem with Text 머신러닝 모델은 대체로 고정된 길이의 inputs과 ouputs을 요구한다.이러한 문제 때문에 대표적인 비정형 데이터인 text는 ML에서 작동하기 힘들다. 그래서 text는 숫자(vectors of numbers)로 변환되는 과정을 거치게 되는데,text가 vector로 표현된 형태를 vector representation 이라고 한다. e.g.) bag-of-words (occurence / count / frequency / tf_idf / bm25 ) / word2vec / doc2vec REF : NLP의 기본가정- vector space model 2. What is a Bag-of-words? 1) hypothesisba..

Data Science/NLP 2018.11.25

Text Preprocessing (텍스트 전처리)

[Text Preprocessing] Tokenising / stemming / lemmatising / pos tagging / stop words분석의 정확성을 높이고, 단어 수를 줄여 계산 복잡성을 감소시키기 위해 사용 1. Tokenising : tokenising : text의 본문을 토큰(token/word) 단위로 쪼개는 것 Tokenising 전 :['Hello Mr. Smith, how are you doing today?', 'The weather is great, and Python is awesome.', 'The sky is pinkish-blue.', "You shouldn't eat cardboard."] Tokenising 후 : ['Hello', 'Mr.', 'Smith',..

Data Science/NLP 2018.11.25

NLP 기본 가정

[NLP 기본가정] 통계의 기반에는 중심극한정리, 정규분포 등 여러 가설을 참이라고 놓듯이, NLP에도 이와 같은 기본가정이 몇 가지 존재한다. 1. vector space models : 모델이 텍스트를 이해하기 위해선 벡터(숫자)로 표현해야하는데 그것을 위한 기본 가정이다. (일부 모델은 단어를 숫자로 안바꾸고 그대로 사용하기도 한다.) 어떠한 방법으로 벡터를 표현하든, 벡터 공간에 벡터로 표현된 문서들 사이의 거리가 가깝다면 문서의 의미도 유사하다. 2. distributional hypothesis : 한 단어의 앞, 뒤로(주변에) 함께 등장하는 단어들은 서로 관련이 있다. 모두가 잘 알고 있는 word2vec의 기본 가정이기도 하며 word2vec 결과를 보면 한 벡터공간의 주변에는 그 단어와 ..

Data Science/NLP 2018.11.25

Text Similarity (Jaccard Similarity, Cosine Similarity, Euclidean distance)

document A, B가 있을 때, 2가지가 얼마나 비슷한지를 나타내는 척도이다. 1) Jaccard Similarity (자카드 유사도) 2) Cosine Similarity (코사인 유사도) 3) Euclidean Distance (유클리디안 거리) Sentence 1: AI is our friend and it has been friendly Sentence 2: AI and humans have always been friendly 1) Jaccard Similarity : document A와 B가 있다고 했을 때, 각각의 document의 word set이 겹치는 정도에 따라 두 document간 유사도가 높다고 판단한다. 값은 0과 1사이의 값이다. 2) Cosine Similarity :..

Data Science/NLP 2018.11.15

Lp space / Lebesgue spaces (L1, L2, ...)

* Intro to Lp 머신러닝을 하다보면 L1, L2라는 용어를 많이 보게 될것이다. 그 중에서 가장 대표적인 것들은 다음과 같다. L1, L2 distance L1, L2 minimisation L1, L2 normalisation L1, L2 regularisation L1, L2 penalty 사실 이를 표현하는 말들은 많지만 위의 개념들 모두 동일하거나 크게 차이가 없다. L1, L2 등은 Lp space에서 파생되었으며 (L1: Lp space에서 p=1인 경우, L2: Lp space에서 p=2인 경우) 정의는 p-norm을 일반화 시킨것과 같다. (the Lp spaces are function spaces defined using a natural generalization of the..

Distance Metrics

하나의 벡터와 다른 벡터의 차이를 측정하는 방법은 여러가지가 있다. 그중에서 Distance 기반의 측정 방법은 말 그대로 벡터간의 물리적 길이를 기반으로 측정하는 방법이다. 길이에 가중치를 주는 방법에 따라 여러가지 지표로 나타 낼 수 있고, 이 방법에 의해 underfitting, overfitting을 야기시킬 수도 있다. 1) Manhattan distance (L1) : stepped path 2) Chebychev distance 3) Euclidean distance (L2) : straight line 4) Minkowski distance • Overview of each distance 1) Manhattan distance : L1 distance라고 불리며 stepped path 형..

Partial Derivative(편미분) and Chain Rule(체인룰) in Neural Network

이 포스트는 기본적으로 NN(Neural network)에 대한 기본적인 이해가 있는 대상을 위해 작성되었습니다.또한, 제목에 표시한 것처럼 NN에서의 편미분과 체인룰에 대한 내용이며 Gradient Descent(경사감소법)를 직접적으로 다루지는 않습니다. Partial Derivative = 편미분 (Partial Derivative = Gradient = A Partial Derivate of a Specific Error)Chain Rule = 체인룰 / 합성곱 [편미분 : Partial Derivative] y값에 영향을 미치는 변수(variable/x값)가 많을 때, 변수 하나가 미치는 영향을 구하기 위해 사용 why to use in NN? : NN에서는 Gradient Descent(경사감..

ReLU를 사용하는 이유

[ReLU란?] (수식)h=max(0,a) where a=Wx+b (그래프) 왼편은 일반적인 활성화 함수의 형태이고 우측은 gradient descent에 사용되는 역함수를 취했을 때의 형태이다. [ReLU의 대표적인 장점] - Sparsity- Vanishing Gradient 위 장점은 sigmoid 함수와의 비교했을 때 이다.ReLU가 나오기 전에는 주로 sigmoid가 많이 쓰였으므로 sigmoid와 비교하는 것이 옳다. sigmoid는 tanh와 비슷한 경향이 있다. 단, tanh는 sigmoid에 비해 Vanishing Gradient가 개선된 경우이지 극복한 것은 아니다. [ReLU를 사용하는 이유] 1) Sparsity (a가 0보다 작을 때 / a≤0) (Sparse 하다는 것은?) sp..