Data Science

Data Science/ML&AI

[군집화] Clustering 알고리즘 쉽게 이해해보기

Clustering(군집화)는 비지도 학습 중 한가지 기법으로, 비슷한 유형의 데이터를 그룹화함으로써 unlabeled 데이터에 숨겨진 구조를 파악한다. 군집화를 통해 다음과 같은 것들을 구현할 수 있다. Recommendation Engine: 개인화된 사용자 경험을 제공하기 위해 상품들을 그룹화 한다. Search Engines: 뉴스 토픽과 검색 결과를 그룹화 한다. Market Segmentation: 지역, 인구, 행동 등을 바탕으로 고객을 그룹화한다. K-Means Clustering K Means 알고리즘은 주어진 K, 즉 그룹화 할 그룹의 개수에 따라 주어진 데이터를 군집화 하는 알고리즘이다. Means는 각 클러스터의 중심(centroids)과 데이터들의 평균 거리를 의미한다. K- Me..

Data Science/ML&AI

[NLP] Word Embedding with Lookup table - nn.Embedding()

파이토치에서는 임베딩 벡터를 사용하는 방법이 크게 두 가지가 있다. 임베딩 층 (embedding layer)를 만들어 훈련 데이터로부터 처음부터 임베딩 벡터를 학습하는 방법과 미리 사전에 훈련된 임베딩 벡터(pre-trained word embedding)들을 가져와 사용하는 방법이다. 우선 전자의 방법부터 알아보겟다. 임베딩 층의 입력으로 사용하기 위해서 입력 시퀀스의 각 단어들은 모두 정수 인코딩이 되어있어야 한다. 어떤 단어 -> 단어에 부여된 고유한 정수값 -> 임베딩 층 통과 -> 밀집 벡터 임베딩 층은 입력 정수에 대해 밀집 벡터로 매핑하고, 이 밀집 벡터는 인공 신경망의 학습 과정에서 가중치가 학습되는 것과 같은 방식으로 훈련된다. 훈련 과정에서 단어는 모델이 풀고자하는 작업에 맞는 값으로..

Data Science/ML&AI

[NLP] Embedding - fastText란?

페이스북에서 개발한 텍스트 임베딩 기법 중 하나로, 전반적으로 word2vec과 유사하나 가장 큰 차이점은 word2vec은 한 단어를 더 이상 쪼개질 수 없는 최소 단위라 생각한다면, fastText는 각 단어를 character 단위 n-gram으로 쪼갠다는 것이다. 즉 내부 단어를 고려하며 학습하여 word2Vec의 한계를 보완한다. 1. fastText의 원리 1-a 내부 단어(subword)의 학습 n의 값에 따라 단어가 얼마나 분리되는지 결정된다. 예를 들어 n = 3 일 때, happy 라는 단어는 hap app ppy + 시작과 끝을 의미하는 를 도입하여 총 다섯가지의 내부 단어를 벡터화 시킨다. # n = 3 # 단어 = happy 여기에 마지막으로 원래의 단어에 를 추가해준 벡터까지 추..

so.py
'Data Science' 카테고리의 글 목록