DTW(Dynamic Time Warping, 동적 시간 워핑)DTW(Dynamic Time Warping, 동적 시간 워핑)란 두 개의 시계열이 존재할 때 상호 간 얼마나 유사한지 측정하기 위한 방식이다. 길이가 동일한 시계열의 유사도를 측정하는 방법은 다양하다. 코사인 유사도를 사용해도 되고, 유클리드 거리(Euclidean Distance)를 이용해 계산하면 유사도를 판단할 수 있다. 유클리드 거리는 두 점사이의 거리를 계산할 때 사용하는 방법인데 수식은 아래와 같다.$$ d = \sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_n-b_n)^2} $$ 유클리드 거리는 계산이 쉽고 연산 속도가 빠르다는 장점이 있다. 하지만 유클리드 거리는 같은 시점의 거리를 계산하기 때문에 속도를 반..
주요 개념유클리드 거리(Euclidean Distance)맨하탄 거리(Manhattan Distance)해밍 거리(Hamming Distance) 두 점 사이의 거리를 구하는 방법은 유사도(Similarity)와 관련이 있다. 거리가 가까울수록 해당 데이터가 가지고 있는 특징(feature)이 유사할 가능성이 크기 때문이다. 두 점사이 거리를 구하기 위한 대표적인 방법으로 아래 세 가지가 있다. 하지만 아래 방식들은 데이터의 차원과 요소 개수가 동일해야 한다. 유클리드 거리(Euclidean Distance)우선 유클리드 거리(Euclidean Distance)는 아래 그림과 같이 계산할 수 있다. 피타고라스 정리와 크게 다르지 않다. 다만 차수가 많아져도 아래와 같이 계산할 수 있다.$$ d = \sq..
주요 개념구조방정식 모델링(structural equation modeling, SEM)BBeta(\(\beta\))tsep 회귀분석 모델링을 진행하며 많은 논문들을 접하게 된다.논문들 표에서 B, \( \beta \), t, se, p와 같은 약어와 기호들로 자주 표기하곤 한다. 이는 경로 분석, 회귀분석, 요인 분석을 합쳐 발전시킨 통계 방법인 구조방정식 모델링(structural equation modeling, SEM) 모형 분석을 할 때 필요한 수치들이다.예시로 아래 논문의 표가 있다. 우선 B = estimates 값을 의미한다. 이는 회귀 모델에 얼마나 영향을 끼치는가를 나타내는 지표로 해석할 수 있다. 일차 방정식 y=ax+b에서 x의 계수가 B가 된다. 해당 회귀 모델에서 영향력이 큰 독..
TF(Term Frequency) 우선 TF(Term Frequency)란 1개의 문서 안에서 특정 단어가 출현하는 빈도를 뜻한다. 문단을 문장으로, 문장을 단어로 나누고 더 깊이 단어를 형태소로 나눌 수 있다. 전체 단어 또는 형태소 목록 중 특정 단어가 얼마나 자주 나왔는지 파악해 해당 문서의 특성을 파악할 수 있다. 영어에서는 a bat에서 a와 같이 1글자만 나오는 단어는 생략할 수 있지만 한글을 그러면 문맥이 바뀌는 경우가 있어 생략이 쉽지 않다. 한글은 키보드로 입력하기에 매우 효율적이지만 자연어 처리 부분에서는 굉장히 까다롭다. 아래는 파이썬으로 구현한 tf이다. def tf(t, d): return d.count(t) DF(Document Frequency) 다음으로 DF(Document ..
주요 개념 자연어 처리 코사인 유사도(Cosine Similarity) 유클리드 거리(Euclidean distance) 코사인 유사도(Cosine Similarity)는 내적 공간의 두 벡터 간 각도의 코사인 값을 이용하여 측정된 벡터 간의 유사한 정도를 의미한다. 각도가 0°일 때의 코사인 값은 1이고 이외 다른 모든 각도의 코사인 값은 1보다 작다. 이 값은 벡터의 크기가 아닌 방향의 유사도를 판단하는 목적으로 사용되며, 두 벡터의 방향이 완전히 같을 경우 1, 90°의 각을 이룰 경우 0, 180°로 완전히 반대 방향인 경우 -1의 값을 갖는다. 이때 벡터의 크기는 값에 아무런 영향을 미치지 않는다. 코사인 유사도는 어떤 개수의 차원에도 적용이 가능하지만 특히 결과값이 [0,1]의 범위로 떨어지는..
머신러닝 공부를 하다 보면 오컴의 면도날(Occam's Razor)이란 단어를 종종 마주하게 된다. 단순성의 원리에 대해 강조하기 위해 등장하곤 하는데 의미는 아래와 같다."많은 것들을 필요 없이 가정해서는 안된다" (Pluralitas non est ponenda sine neccesitate.)"더 적은 수의 논리로 설명이 가능한 경우, 많은 수의 논리를 세우지 말라."(Frustra fit per plura quod potest fieri per pauciora.) 즉, 어떤 현상을 설명할 때 불필요한 가정을 해서는 안 된다는 것이다. 더 쉽게 말하면 같은 현상을 설명하는 두 개의 주장이 있다면, 간단한 쪽을 선택하라는 뜻이다.예를 들어 성적이 F가 나왔다는 사실이 있으면 이를 해설하기 위해 아래와..