전체 글 621

[1-1 파이썬] 출력, print(), string

파이썬을 시작하기 위해 아래의 3가지를 안내합니다. 첫째. 어떤 프로그램을 이용해서 코딩할 것인가? 기본 파이썬 에디터, 주피터, 코랩 등이 많지만 지금은 Replit 사이트를 추천해드리겠습니다. 구글아이디로 간단히 로그인만 하면 코딩을 하고, 출력물을 볼 수 있습니다. > create 버튼을 누르고 > 언어로 python을 선택하고 > create repl 버튼을 누릅니다. https://replit.com/ The collaborative browser based IDE Replit is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programmi..

차원감소(dimensionality reduction), SVD

1. 차원감소 dimensionality reduction란? 차원감소 dimensionality reduction은 말 그대로 벡터의 차원을 줄이는 방법을 말합니다. 데이터의 양이 너무 방대할 때, 행렬 내부 원소의 대부분이 0이거나(sparse matrix) 중요도가 낮을 때, 벡터의 차원을 줄이게 됩니다. 이때, 단순히 물질적으로 공간을 축소하는 것이 아니라 중요한 정보는 최대한 유지하면서 줄이는 것이 핵심입니다. 아래의 그림처럼 데이터의 분포를 고려해 중요한 '축'을 찾는 일을 수행합니다. 2. SVD 특잇값분해 차원을 감소시키는 방법 중, 특이값 분해 SVD(Singular Value Decomposition)을 이용하겠습니다. SVD는 임의의 행렬을 세 행렬의 곱으로 분해합니다. U, V는 직..

점별 상호정보량 Pointwise Mutual information(PMI)

1. PMI(Pointwise Mutual information)정의하기 pointwise: 점별의, 즉 주어진 집합의 각점에서 일어나는 경우 mutual: 상호간, 서로의 information: 정보 이를 통해 PMI는 각 벡터에서 일어나는 정보 뿐만이 아니라, 벡터들 간 동시에 일어나는 정보 모두를 고려한다는 것을 유추할 수 있습니다. 2. 식으로 구현하기 PMI는 확률변수 x와 y에 대해 다음 식으로 정의됩니다. P(x,y) 는 x,y가 말뭉치에 동시에 등장할 확률 P(x) x가 말뭉치에 등장할 확률 P(y) y가 말뭉치에 등장할 확률 을 뜻합니다. PMI값이 높다면? 이는 x,y 가 관련이 높다는 것을 뜻합니다. 이번에는 횟수를 사용하여 식을 다시 써봅시다. C(x,y) 는 x,y가 말뭉치에 동시..

코사인 유사도 cosine similarity

백터 사이의 유사도를 측정하는 방법을 배우겠습니다. 다양한 방법이 있겠지만, 자주 이용하는 코사인 유사도에 대해 알아보기로 합시다. 1. 코사인 유사도 cosine similarity 앞서, 단어를 벡터화시켰는데요. 단어와 단어, 즉 벡터와 벡터 사이에 얼마나 관련성이 있는가를 측정하는 것입니다. 만약 코사인 유사도 값이 높다면 이 두 벡터 간의 관련이 높다는 뜻입니다. 2. 구하는 방법 코사인유사도를 구하는 방법은 벡터를 L2노름으로 정규화하고, 내적을 구하는 것입니다. 식은 다음과 같습니다. 분자에는 벡터의 내적이 분모에는 각 벡터의 노름(벡터의 크기)이 등장합니다. 여기에서는 L2노름(벡터의 각 원소를 제곱해 더한 후, 다시 제곱근)을 계산합니다. 두 벡터가 가리키는 방향이 완전히 같다면 코사인 유..

분산 표현 distributional representation/ 분포가설 distributional hypothesis/동시발생 행렬 co-occurrence matrix

지난 시간 컴퓨터에게 자연어를 이해시키기 위해서, 먼저 우리가 사용하는 문장을 단어라는 단위로 나누어 말뭉치(corpus)에 담는 작업을 했습니다. 이번 시간에는 corpus를 이용해서 단어의 의미를 추출하는 방법을 알아보겠습니다. 다양한 방법이 있지만 이번에는 통계 기반 기법을 이용하려고 합니다. 1. 분산 표현 distributional representation 말이 어렵지만, 간단히 말해 단어를 분산하여 표현한다는 뜻입니다. 예를 들어 '사랑'이라는 단어를 분산 표현으로 나타내면 [0, 0, 1] [0.21, 0.34, -0.44] 등으로 나타내는 것이죠. 단어를 벡터화시키는 작업이라고도 할 수 있겠습니다. 2. 분포 가설 distributional hypothesis 분산 표현하는 기준은 무엇일..

카테고리 없음 2022.07.29