주요 개념 자연어 처리 코사인 유사도(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가 나왔다는 사실이 있으면 이를 해설하기 위해 아래와..
주요 개념최대 우도 추정(Maximum Likelihood Estimation)우도 함수(Likelihood Function) 최대 우도(Maximum Likelihood)란 도출된 결과의 각 가설마다 계산된 가능도(우도) 값 중 가장 큰 값을 말한다. 즉 발생할 확률이 가장 큰 가설이라 할 수 있다. 하지만 만약 모수가 알려지지 않은 어떤 \( \theta \)인 확률분포가 있다면 여기서 뽑은 표본들을 이용해 \( \theta \)를 추정할 수 있다. 이를 최대 우도 추정(Maximum Liklihood Estimation, MLE)라고 한다. 우도 또한 정확한 수치가 아닌 추정에 가깝기 때문에 이러한 방식을 적용하기에 적절하다 볼 수 있다. 가장 대표적인 예시인 동전던지기를 예를 들어보자. 만약 10..
주요 개념 원시 타입(Primitive Type) 참조 타입(Reference Type) 깊은 복사(Deep copy) 얕은 복사(Shallow copy) JS에는 원시 타입(Primitive Type)과 참조 타입(Reference Type)이 있다. 1. 원시값 Number String Boolean Null Undefined 2. 객체(참조)값 Object Symbol 원시 타입인 숫자, 문자열, 논리형, 널, 언디파인드 다섯 가지를 제외한 모든 값은 객체(참조) 타입이다. 참조 타입이라고 불리는 이유는 객체의 모든 연산이 실제 값이 아닌 참조값으로 처리되기 때문이다. 이름에서 알 수 있든 원시 타입은 값 자체를 복사하여 사용한다. 그렇기 때문에 어떠한 변수를 복사하고 나서 원본에 해당하는 변수를 ..
주요 개념라이브러리(library)패키지(package)모듈(module)함수(function)메소드(method) 비단 파이썬에서만 사용되는 용어는 아니지만 가끔 혼동해서 말하는 경우가 있어 정리해 둘 필요가 있을 것 같다. 먼저 라이브러리(library)는 여러 패키지와 모듈들을 모아놓은 것을 의미한다. 패키지(package)는 특정 기능과 관련된 여러 모듈을 한 폴더 안에 넣어 관리하는데 이를 패키지라고 한다. 예를 들어 Test라는 폴더 안에 __init__.py, test.py와 같은 파일들이 모여있는 것이다. 모듈(module)은 함수, 변수, 클래스를 모아놓은 것을 말한다. 일반적으로 한 파일을 말하는데 예를 들어 .py와 같은 하나의 파일 안에 함수와 변수, 클래스가 모여있는 것으로 볼 수..