Tensorflow 2 NLP(자연어처리)/추가적으로 필요한 개념 7

정보의 정량화, 정보 엔트로피에 이은 Cross Entropy

비용함수로 자주 사용되는 Cross Entropy에 대해서 깊은 이해를 하게 해주는 영상을 발견했다. ( 자막도 잘 나와있어서 좋다. ) https://www.youtube.com/watch?v=PtmzfpV6CDE https://www.youtube.com/watch?v=2s3aJfRr9gE | 정보량 ​ 세상에는 다양한 종류의 정보들이 있다. 이 정보들을 하나의 기준으로 평가하고 싶은데 어떤 기준이 좋을 것인가? ​ ​ A라는 사람이 B라는 사람에게 정보를 전달할 것인데 보내고자 하는 정보의 양(정보량)을 수치화 할 수 있는 방법이 있을까? ​ 일단 정보들을 하나의 기준으로 평가하려면 정보들을 전달하는 방식이 동일해야 할 것이다. ​ 어떤 정보는 문자로 보내고, 어떤 정보는 숫자로 보내면 이 둘 정보..

Automatic Differentiation이란

PyTorch가 dynamic auto differentiation(autodif)를 지원한다고 하기에 이 Auto differentiation이 무엇인지 한번 알아보려고 한다. ​ 우리는 Gradient Descent를 이용해 손실함수의 최솟값을 쫓아가면서 가중치들을 업데이트한다. ​ 이때, 가중치를 업데이트 하는 방법은 아래와 같다. ​ 현재 가중치에 Loss를 현재 업데이트하려는 가중치로 편미분한값을 스케일조정(a)해서 빼주는 방식으로 업데이트 한다. ​ Gradient Descent에 대해서는 잘 설명된 글이 넘쳐나기 때문에 이 정도에서 마무리하고 ​ 이때, 저 미분값을 컴퓨터가 어떻게 계산할 것인지에 대해 다뤄보고자 한다. Finite Differencing ​ 가장 먼저, 도함수의 정의를 이용..

PCA(주성분분석)의 목적함수 증명

PCA의 목적함수는 결론부터 말하자면 차원축소를 위해 제거한 고유치(λ)들의 합이다. 이를 증명해보자. ​ PCA부터 review 하자 더 자세한 내용은 내 블로그 다음 글 참조 https://nlp-study.tistory.com/24 [4-2] PCA(주성분 분석)와 SVD(특이값 분해) 차원축소를 완벽하게 이해하기 오늘은 정말 중요한 PCA와 SVD (특이값 분해)차원축소에 대해 다룰 것이다. 선형대수학을 배웠으면 천천히 따라가면서 충분히 이해 할 수 있을 것이다. 부디 이를 정확이 이해하고 싶다면 자신만 nlp-study.tistory.com 1. 표준화 표준화를 먼저 해준다. 이는 정보의 왜곡을 방지하고, 계산을 단순화 시킨다. ​ 2. 근사 차원 축소를 통해 정제된 데이터를 가지고, 원래 값을..

[1-6] 도커(Docker)에서 파이썬(python)코드로 작업하기

가장 먼저 도커는 리눅스와 맥os에서 간단히 설치 할 수 있지만, 많은 사람들이 사용하는 Windows 에서는 불가능하다. 그래서 우회하는 방법이 WSL(Windows Subsystem for Linux)이고 정확하게 말하자면 WSL2 이다. ​ 1. WSL을 설치하고 Windows에서 Linux를 실행시킨다. 2. WSL은 기본으로 1이 설정되어 있으므로 WSL을 2로 바꾸어 준다. (제대로 바뀌었는지 확인 필) 2. Linux(Ubuntu)에서 Docker를 설치한다. ​ 그러면 Windows 환경에서 도커를 활용 할 수 있다. ​ 위의 과정은 구글 검색을 통해 간단하게 따라 할 수 있다. ​ ​ ----------------------------------------------------------..

[1-5] 최대우도법

: 어떤 사건을 일으키게 만든 확률분포의 특성을 추정하는 방법 중 하나로, 표본을 얻은 후 이 표본을 이용해 원래의 확률분포를 알아내는 기술이다. ​ 간단히, 표본 5개 x={1,4,5,6,9} 를 추출했을 때 정규분포 후보군(출처: https://angeloyeo.github.io/2020/07/17/MLE.html) 위 5개를 획득한 확률 분포는 파란색 보다는 주황색일 가능성이 더 크다. ​ 이처럼 우리는 표본으로부터 원래의 확률 분포를 예측하는 것이 가능하다. 하지만 표본으로 부터 100% 정확한 확률분포는 얻을 수 없으므로 가장 그럴듯 한 확률분포를 얻어내기 위해 노력해야 한다. 이때 사용하는 방법이 미분계수를 이용하는 방법이다. ​ 다양한 알고리즘에서 자주 사용하는 설계 방식중 하나를 소개하겠다..

[1-4] DAN(Deep Averaging Network)란? (+Dropout)

http://file:///C:/Users/gypsi/Downloads/DAN+%EB%85%BC%EB%AC%B8.pdf 다음 링크에서 관련 논문과 간단한 정리를 볼 수 있다. ​https://medium.com/tech-that-works/deep-averaging-network-in-universal-sentence-encoder-465655874a04 Deep Averaging network in Universal sentence encoder Word embeddings are now state of art for doing downstream NLP tasks such as text classification, sentiment analysis, sentence similarity… medium...

[1-3] TF-IDF 란?

TF-IDF 는 간단히 표현하자면 모든 문서에서 자주 등장하는 단어는 중요도가 낮다고 판단하고(조사 등..), 특정 문서에서만 자주 등장하는 단어는 중요도가 높다고 판단하여 (주제를 담고 있는 단어일 확률 높으므로) 하나의 값으로 나타내는 것이다. 그래서 TF-IDF값이 높은 단어일 수록 주제를 담고있는 단어라고 말 할 수있다. ​ TF-IDF식 (출처: https://www.affde.com/ko/tf-idf-can-it-really-help-your-seo.html) 1. TF는 특정 문서에서만 쓰인 단어 사용 수이다. 2. DF는 특정 단어가 나타난 문서의 수이다. 그러므로 DF값이 클수록 범용적인 단어라고 할 수 있다. 3. IDF는 N(문서 개수)를 DF로 나누고 log를 취해준다. 그러므로 I..