본문 바로가기

개발

(58)
통계학의 이해 요 카테고리에서는 통계학(Statics)에 대한 내용을 학습하고 정리해보도록 하겠습니다. 전체적인 내용은 다양한 구글링 검색결과 및 유튜브 강의를 참고하였습니다. 1. 통계의 이해 통계학은 관심 또는 연구의 대상이 되는 모집단(population)으로 부터 자료를 수집, 정리, 요약을 하고 표본(=sample) 정보로부터 자료를 뽑았던 대상 전체인 모집단에 대한 최적의 의사결정을 내릴 수 있도록 정확한 방법을 연구하는 학문이다. 2. 모집단과 표본 모집단 : 관심대상 전체 표본 : 관심대상중 자료수집을 진행한 일부분 예시를 들자면, 대학생의 한달용돈에 대한 통계를 내야한다고 가정해보자. 여기서의 모집단은 전국의 대학생이고 우리는 표본으로서 100명만을 대상으로 자료수집을 진행한다고 볼 수 있다. (인원 ..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (12) 워드임베딩까지 공부했으니 NLP의 가장 기본이 되는 모델을 알아보도록 하자. 바로 RNN(Recurrent Neural Network)이다. 우리는 인공 신경망을 행렬과 벡터 연산으로 이해할 수 있다면 더 이해하기 용이하다는 것을 이미 알고있다. Ⅰ. RNN (Recurrent Neural Network) 요 신경망은 연속적인 시퀀스를 처리하기 위한 신경망이다. 사람은 글을 읽을 때, 이전 단어들에 대한 이해를 바탕으로 다음 단어를 이해하게 된다. 즉, 우리가 소통하는데 사용하는 언어(Language)는 시퀀스적인 데이터라는 말이다. 기존의 MLP에 비해 RNN은 이러한 이슈를 다루며, 내부에 정보를 지속하기 위해 루프과정을 통해 구성한다. RNN은 입력의 길이만큼 신경망이 펼쳐진다(=unrolled)...
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (11) 지난 포스팅에선 Word2Vec에 대해 알아봤죠, 이번에는 FastText에 대해 알아봅시다. 반복해서 말하지만 Word2Vec, FastText 둘다 신경망을 이용한 단어의 벡터화 방법론입니다😊 Ⅰ. FastText Word2Vec의 개량 알고리즘으로 Subword를 고려한 알고리즘입니다! 이는 Word2Vec의 한계점에서부터 파생된 개념인데 컴퓨터는 단어가 생긴게 다르면 아예 다른단어로 인식해버립니다. eat과 eating이 공통적으로 eat을 가지고 있더라고 할 지라도 말이죠...! 즉 위 그림처럼 형태학적인 특징이 단어의 의미고려에 반영되지 않습니다... 그외에도 OOV(Out of Vocabulary)라고 하는 문제도 있어요. 그래서 FastText는 Subword라는 개념을 도입하게 되는데요,..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (10) 저번 포스팅에 이어 본격적으로 Word2Vec에 대해 공부해봅시다!! Ⅰ. Word2Vec 반복해서 이야기하지만 컴퓨터가 신경망을 이용해 단어에 대한 작업을 하기위해서는 단어를 '벡터화'시킬 필요가 있습니다! 이를 위해 사용하는 방법론은 Word2Vec, GloVe, FastText등 많지만 이번 포스팅에선 Word2Vec에 집중해보죠! Word2Vec은 임베딩 그 자체에만 집중하는 신경망 모델인데요, 크게 2가지로 분류가 됩니다! 주변단어들로부터 중심단어를 예측하는 CBoW와 반대로 중심단어들로부터 주변 단어를 예측하는 Skip-gram이 있습니다! 과거는 어땠을지 몰라도 현재는 CBoW보다는 Skip-gram이 좋은 성능을 낸다고 합니다. 요 Skip-gram도 구버전과 신버전으로 나뉜다고 하는데, ..
NLP Load : 맨땅에 헤딩하는 NLP 공부일지 (9) 본격적으로 NLP의 길로 들어서보자~~ 오늘 정리할 내용은 바로 "워드 임베딩"! 하.지.만 그 전에, 5번째 NLP Load에서 다룬 벡터화에 대해 간략하게 복습을 해보자. 레츠기릿~ Ⅰ. 벡터화(Vectorization) 앞서 정리한 것처럼 벡터화는 크게 3가지 종류로 나눌 수 있다. 1. 벡터화에 신경망을 사용하지 않을 경우 단어에 대한 벡터화 : OHE(One-Hot Encoding) 문서에 대한 벡터화 : DTM(Document-Term Matrix), TF-IDF 2. 벡터화에 신경망을 사용하는 경우 단어에 대한 벡터화 : Word Embedding (Word2Vec, GloVe, FastText, Embedding Layer) 문서에 대한 벡터화 : Doc2Vec, Sent2Vec 3. 문맥..