본문 바로가기

전체 글153

정규표현식(regular expression) 정규표현식(regular expression) 정규표현식은 복잡한 문자열을 처리할 때 유용하게 사용하는 방법입니다. 특히 크롤링할때 굉장히 유용하게 사용이 됩니다. 정규표현식 모듈 (re) 파이썬에서는 정규 표현식을 지원하기 위해서 re 모듈을 제공하여 줍니다. re 모듈을 사용하면 특정 패턴과 일치하는 문자열을 검색, 치환, 제거 등을 할 수 있습니다. raw string r을 문자열 앞에 붙이면 문자열을 그대로 변환하여 줍니다. In a = 'abcdef\n' print(a) b = r'abcdef\n' print(b) Out abcdef abcdef\n 파이썬에서는 \n이 개행문자로 사용이 되는데 위와 같이 r을 써주면 문자 그대로 인식하게 됩니다. 정규표현식 메타 문자 정규표현식에서 사용하는 메타.. 2020. 8. 15.
특이값 분해(Singular Value Decomposition, SVD) 고유값 분해는 정방 행렬에 대해서만 가능하다고 배웠습니다. 그렇다면 다른 행렬들은 분해를 못하는 걸까요?? 아니요!! 바로 특이값 분해라는 것이 있는데요. 특이값 분해는 정방 행렬뿐만 아니라 행과 열의 크기가 다른 모든 직각 행렬에 적용을 할 수 있습니다. 특이값 분해먼저 특이값 분해는 실수 벡터 공간에 한정하여서 설명합니다. 특이값 분해는 행렬 A가 m X n 행렬일때, 아래 수식과 같이 3개의 행렬의 곱으로 분해되는 것을 말합니다. 직교행렬: 자신과 자신의 전치 행렬의 곱 또는 이를 반대로 곱한 결과가 단위행렬이 되는 행렬 대각행렬: 주 대각선을 제외한 모든 원소가 모두 0인 행렬 1. 전치 행렬(Transposed Matrix)전치 행렬은 행과 열을 교환하여서 얻은 행렬입니다. 다시 말하자면 주대각.. 2020. 8. 11.
고유값, 고유벡터, 고유값 분해 고유값과 고유벡터 선형변환 A에 의한 변환 결과가 자기 자신의 상수배가 되는 0이 아닌 벡터를 고유벡터라고 하고 이 상수배의 값을 고유값이라고 합니다. 다시 말하자면 n X n 정방행렬 A에 대해 Av = λv를 만족하는 0이 아닌 열벡터 v를 고유벡터, 상수 λ를 고유값이라 정의합니다. (고유값, 고유벡터는 정방행렬에 대해서만 정의합니다.) - 정방행렬: 열과 행의 개수가 동일한 행렬을 정방 행렬이라고 합니다. 추가 설명을 하자면 먼저 선형 변환은 벡터에 사칙연산을 해주겠다! 라고 생각하면 됩니다. Av = λv를 보고 설명을 해보면 벡터 v에 행렬 A를곱하는 것을 '벡터 v에 선형 변환 A를 해주었다.'라고 이야기 할 수 있습니다. 그렇다는 것은 Av는 v벡터에 선형 변환 A를 해주었다는 뜻이겠죠??.. 2020. 8. 11.
bag of words bag of words 백오브워즈는 단어의 등장 순서에 관계없이 단어의 등장 빈도를 임베딩으로 쓰는 기법입니다. 문장을 단어들로 나누고 이들을 중복집합에 넣어서 임베딩으로 활용합니다. 가방에 넣고 흔들어서 빈도를 세어 본다고 생각해보세요!! 백오브워즈는 '저자가 생각하는 주제가 문서에서의 단어 사용에 녹아 있다' 는 가정이 깔려있습니다. 즉 주제가 비슷한 문서라면 단어의 빈도 또한 비슷하다는 이야기입니다. 단어-문서 행렬(Term-Document matrix) 단어 문서 행렬은 각 단어들의 빈도를 나타낸 표입니다. 행은 단어, 열은 문서에 대응합니다. 문서 1 문서 2 문서 3 문서 4 딸기 0 2 8 6 복숭아 0 1 0 0 수박 0 1 0 0 예시로 다음과 같이 이루어져 있다고 한다면 문서3과 문서4.. 2020. 7. 15.
임베딩에 쓰이는 세가지 통계 정보 백오브워즈(bag of words) - 백오브워즈(bag of words)가정에서는 어떤 단어가 많이 쓰였는지에 관한 정보를 중요하게 생각합니다. 글의 의도를 단어 사용의 여부나 그 빈도에서 나타난다고 생각하기 때문입니다. - 백오브워즈 가정에서 많이 쓰이는 통계량은 바로 TF-IDF(Term Frequency-Inverse Document Frequency)입니다. 언어 모델(language model) - 언어모델은 단어의 등장 순서를 학습하여 주어진 단어의 시퀀스가 얼마나 자연스러운가에 대한 확률을 부여합니다. 백오브워즈와는 달리 등장 순서가 중요합니다. - 예시에는 ELMo, GPT등 뉴런 네트워크 기반의 언어 모델들이 있습니다. 분포 가정(distributional hypothesis) - 분포.. 2020. 7. 15.
1.1 임베딩(embedding) 만약 컴퓨터가 인간을 속여 자신을 마치 인간인 것처럼 믿게 할 수 있다면 컴퓨터를 '인텔리전트'하다고 부를 만한 가치가 충분히 있다. [앨런 튜링(Alan Mathison Turing, 1912~1954)] 임베딩(embedding)이란?- 임베딩(embedding)은 자연어 처리(NLP) 분야에서 사람이 사용하는 언어를 기계가 이해할 수 있도록 하는 벡터로 바꾼 결과를 의미합니다. 메밀꽃 필 무렵운수 좋은 날사랑 손님과 어머니삼포 가는 길기차02107막걸리0100선술집0100 - 다음과 같은 표가 있다고 했을때 운수 좋은 날 문서의 임베딩은 [2,1] T 라고 할 수 있습니다. 표를 봤을때 사랑 손님과 어머니는 삼포 가는길과 기차라는 단어를 공통으로 공유하고 있어 비슷한 작품이겠다 라고 생각을 해볼 수.. 2020. 7. 15.