본문 바로가기

Archive171

[밑딥2] CBOW 모델과 skip-gram 모델의 수식 이해 밑바닥부터 시작하는 딥러닝 ch3.5 정리 CBOW 모델과 확률 - 기호 정리 P(A) : 사건 A가 일어날 확률 P(A, B) : 동시 확률로, 사건 A와 B가 동시에 일어날 확률 P(A|B) : 사후확률. B가 주어질 때, A가 일어날 확률 - 확률적 해석 w1, w2, .... , w t-1, wt 라는 말 뭉치가 주어질 때, 윈도우 크기에 따른 맥락을 고려하자. 윈도우 = 1 일때, 맥락 wr-1, wr+1에서 target이 wr이 될 확률은 P(w_r | w_r-1, w_r+1)으로 주어지게 된다. 여기서 w_t는 one-hot encoding 된 상태이므로, 교차 엔트로피를 구하면 다음과 같다. L = -log P(w_r | w_r-1, w_r+1) 이를 말뭉치 전체로 확장할 수도 있다. sk.. 2021. 8. 2.
[밑딥2] 신경망에서의 단어 처리와 word2vec 목표 문장 상에서, 문맥을 통해 어떤 단어가 들어갈지를 추측하고자 한다. 이 때, 단순히 one-hot만 적용해서는 단어간 의미를 반영하기는 어렵다. 따라서 단어간 의미를 반영하는 벡터화를 하기 위한 방법이 바로 Word2Vec이다. Word2Vec의 방식 Word2Vec에는 다음 두 가지 방식이 존재한다. - CBOW(Continuous Bag of Words) : 주변 단어를 통해 중심 단어를 추론하기 - Skip-Gram : 중심 단어를 통해 주변 단어를 추론하기 여기서 중심 단어란, 예측해야 하는 단어를 의미하고, 주변 단어는 중심단어 앞 뒤로, 예측에 사용되는 단어를 의미한다. 즉 중심단어가 target이 되며, 주변 단어는 context, 맥락이 된다. 이 때, 주변단어 앞 뒤로 몇 개를 볼지.. 2021. 7. 31.
[Data] UnderSampling, OverSampling 개요 분류 문제, 특히 binary-classification 상황을 고려하자. class 0, 1이 5 : 5 정도로 깔끔하게 나오는 상황은 분포가 균일하므로 학습에 문제가 없을 것이다. 그러나 이상탐지 문제처럼 하나의 클래스의 비중이 매우 낮아, 데이터가 균일하지 않은 상황에 도달할 수 있다. 이 때는 모델의 학습이 제대로 이루어지지 않을 수 있다. 이 문제를 해결하기 위해 나온 개념이 오버샘플링, 언더샘플링이다. (사진 출처 : https://www.kaggle.com/rafjaa/resampling-strategies-for-imbalanced-datasets) 언더샘플링 imbalanced class 문제를 해결하는 하나의 방법은 언더샘플링(undersampling)이다. 이는 다수가 속한 cl.. 2021. 7. 31.
[밑딥2] 중요도, 유사도가 높은 단어 추출하기 상호 정보량을 고려하는 이유 corpus에서 단어들간의 동시 발생 횟수를 고려해보자. the 같은 단어는 빈도가 매우 많아서 다양한 단어와 강한 관련성이있다고 판단될 것이나, 의미까지 파악한다면 더 유사도가 높은 단어가 선택되어야 할 것이다. 이를 위해서 확률적 관점에서 바라보는 지표를 선택한다. PMI PMI(x, y) = log2 P(x,y)/(P(x) * P(y)) 로 정의된다. 여기서 P(x)는 x가 말뭉치에 등장할 확률을 의미한다. 예를들어 10,000개의 단어가 있는 말뭉치에서 the가 100번 등장한다면 P(the) = 0.01이 될 것이다. 동시발생 행렬과 PMI 앞에서 본 동시발생 행렬을 위의 식에 적용하면, P(x, y) = C(x, y)/N, P(x) = C(x) / N, P(y) =.. 2021. 7. 21.
[밑딥2] 시소러스(thesaurus)와 기본적인 전처리 앞으로, 밑딥 2를 통해 자연어 처리에 대해 기본적인 공부를 진행하고자 합니다. 크게 2장부터 내용을 시작하며, 내용 요약 및 추가로 찾은 내용을 정리합니다. 추가로, 패키지들의 사용법 또한 정리합니다. ----------------------------------------------------------------------- 시소러스란? 앞으로 NLP에서 단어의 의미는 '사전적 의미'보다는, 유의어에 집중하려고 한다. 유의어 집단을 통하여, 단어들과의 연관관계를 파악한다. 이러한 시소러스의 문제점은 다음과 같다. - 사람이 직접 레이블링해야 하므로, 시대의 변화에 대응하기는 어렵다. - 단어의 미묘한 차이를 표현하기 어렵다. 토큰화와 id부여 우리는 문장이나 긴 글을 분석을 위한 작은 단위로 나누어.. 2021. 7. 19.
[TIL] Hadoop의 기본 명령어 (사용자 커맨드) 회사에서, 새 프로젝트를 시작하면서 세팅을 하면서 Hadoop이나 Hive에 익숙해져야만 하는 상황이 왔다. Hadoop 명령어를 공부하면서 기본적인 상황을 이해하려고 한다. (Hadoop을 통해서, 서버상에서도 데이터를 관리하는 어떤 매개체인것으로 이해했다. 실제로는 서버에서 작업을 해야 한다고 하셔서... 일단 이렇게 이해..) 주요 사용자 커맨드 $ hdfs dfs -ls $ hadoop fs -ls 기본적으로는 hdfs dfs + 명령어, hadoop fs + 명령어의 구조이다. cat 지정한 파일을 기본 입력으로 읽어서 출력 $ hdfs dfs -cat /user/file.txt text 지정한 파일을 텍스트 형식으로 읽음 $ hdfs dfs -text /user/file.txt ls 주어진 경.. 2021. 6. 30.