본문 바로가기

[CS224W] 1-1. Why Graphs 이 포스트는 CS224W : Machine Learning with Graphs 강의를 기반으로 작성되었습니다. Graph란? entity들을 관계(relations) 및 상호작용(interactions)과 함께 묘사/분석하기 위한 general language (entity들을 isolated datapoints로 보기보다는, entity 사이의 networks나 relation의 측면으로 보는 것) ex) computer networks, 질병 감염 경로, 논문 인용 네트워크, knowledge graph, code graphs, 3D shape 등 2가지 종류 networks (natural graphs) : underlying domains가 자연스럽게 그래프로 표현 - ex) social net..
[Kaggle] kernel 내 plot에서 한글 깨짐 해결 import seaborn as sns import matplotlib.pyplot as plt import matplotlib as mpl import matplotlib.font_manager as fm plt.rcParams['axes.unicode_minus'] = False font_path = '/kaggle/input/nanum34/NanumSquareR.ttf' font_name = fm.FontProperties(fname=font_path, size=10)#.get_name() plt.rc('font', family=font_name.get_name()) ## plt 입력 시 fontproperties=font_name 매개변수 넣어주기 gnr_code_name_plot = sns.ba..
[Kaggle] kernel에서 data 추가하기 1. 오른쪽 위 화살표 클릭 후 '+Add data' 클릭 2. Search Datasets을 통해 이미 해당 데이터가 kaggle 내에 존재하는지 찾아보거나, 개인이 가지고 있는 데이터를 Upload한다. 3. Upload를 할 경우, dataset 명을 정하고 파일을 업로드한다. 이 때 이미 파일이 존재할 경우 아래와 같이 어떤 dataset에 존재하는지 알려준다.
[Tableau] 태블로에서 다른 프로그래밍 언어 연동하기 https://help.tableau.com/current/pro/desktop/ko-kr/r_connection_manage.htm SCRIPT 함수를 이용하면 태블로에서 R, Python, MATLAB 등의 코드를 작성할 수 있다. input 변수들을 .arg1, .arg2 등으로 넣어주고, SCRIPT_REAL("코드",input1,input2,...) 와 같은 형태로 넣어주면 된다. 함수의 종류는 다음과 같다. 사용 예시 참고자료 : https://elearning.tableau.com/data-science-with-tableau/394817/scorm/20j9qqnfti1cr
[NLP] BERT (Bidirectional Encoder Representations from Transformer) 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. 구글에서 공개한 모델인 BERT는 앞에서 소개했던 트랜스포머 블록을 사용하고 bi-directional하기 때문에 좋은 성능을 내어 많이 사용되고 있다. (논문 pdf : https://arxiv.org/pdf/1810.04805.pdf) 이전 다른 모델들(GPT, ELMo)과 BERT를 비교해보자. GPT는 주어진 sequence로 다음 단어를 예측하는 언어 모델이라서 단어 sequence를 한 방향으로만 보는 아키텍쳐를 지니고 있으며, ELMo는 bi-LSTM layer 상단은 양방향이지만 중간 layer는 한 방향으로 학습되는 모델이다. ..
[NLP] Transformer Network 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. 구글 NIPS에서 공개한 트랜스포머 네트워크는 자연어처리에 큰 획을 그었다. 이후 개발된 BERT, GPT 등의 모델은 모두 이 트랜스포머 블록을 기본 모델로 사용하고 있다. (논문 pdf : https://arxiv.org/pdf/1706.03762.pdf) Scaled Dot-Product Attention Transformer block의 주 요소 중 하나인 Scaled Dot-Product Attention은 아래 수식을 통해 계산된다. 행렬 형태인 입력 X는 (입력 문장 단어 수) * (입력 임베딩 차원 수) 크기를 가지고 있으며, 쿼..
[NLP] ELMo (Embeddings from Language Models) 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. ELMo는 문장 임베딩 기법 중 하나로, 전이 학습(transfer learning)을 NLP에 접목시킨 언어 모델이다. 단어 sequence가 얼마나 자연스러운지에 대해 확률값을 부여하며, 입력한 단어들 뒤에 어떤 단어가 올지 맞추는 방식으로 학습된다. ELMo가 등장한 이후, 모델을 pre-train시킨 뒤 각종 downstream task (classification 등 우리가 풀고 싶은 task들)에 적용하는 방식이 일반화되었으며, 이런 과정을 pre-train model을 downstream task에 맞게 fine tuning한다고 ..
[NLP] 잠재 디레클레 할당 (LDA) 이 포스트는 책 '한국어 임베딩(자연어 처리 모델의 성능을 높이는 핵심 비결 Word2Vec에서 ELMo, BERT까지, 이기창 저)'을 기반으로 작성되었습니다. 토픽 모델링 (Topic Modeling)이라고 불리기도 하는 LDA (Latent Dirichlet Allocation)란, 각 문서에 어떤 주제가 존재하는지 나타내는 확률 모형이다. LDA는 말뭉치 이면에 존재하는 정보를 추론하는, 잠재 정보를 알아내는 과정이므로 잠재(Latent)라는 단어가 붙으며, 변수 중 디레클레 분포를 따르는 변수가 있기 때문에 디레클레(Dirichlet)라는 단어로 명명되어 있다. http://www.jmlr.org/papers/volume3/blei03a/blei03a.pdf http://www.cs.columb..