본문 바로가기

알고리즘

(2)
레드 블랙 트리 기존의 이진 검색 트리는 깊이가 원소 수 만큼 늘어날 수 있기 때문에 성능을 보장 받지 못한다는 단점이 있다. 그래서 이진 검색 트리에 몇 가지 제약을 걸어서 만든 것이 레드 블랙 트리이다. 레드 블랙 트리의 조건 1. 루트는 블랙 2. 리프는 블랙 3. 노드가 레드이면 자식은 블랙(no double red) 4. 루트에서 리프까지 만나는 블랙의 수가 일정하다. + 삽입된 노드는 레드 여기서 모든 리프가 블랙이라는 것은 우리가 생각하는 리프에 해당하는 말이 아니다. 위와 같이 자식이 하나이거나 없는 경우 NIL이라는 가상의 리프 노드를 붙여주고 블랙으로 만든다. 레드 블랙 트리는 이진 검색 트리에 이런 저런 조건을 건 것이므로 기본적으로 이진 검색 트리라고 할 수 있다. 즉 모든 삽입과 삭제는 이진 검색..
한국어 임베딩 : 1장 임베딩이란? 임베딩(embedding)은 자연어를 벡터로 바꾼 결과물, 혹은 벡터로 바꾸는 일련의 과정을 의미한다. 임베딩만 잘하면 어떤 모델을 써도 성능이 보장되고, 임베딩을 못하면 아무리 좋은 모델을 써도 좋은 결과를 얻기 힘들다고 한다. 그렇다면 좋은 임베딩의 조건은 무엇일까? 좋은 임베딩에 대해 이해하려면 임베딩을 하는 이유부터 파악해야 한다. 우리는 자연어를 언어 자체로 이해하지만, 컴퓨터는 숫자를 가지고 계산하는 기계일 뿐이다. 따라서, 자연어를 컴퓨터가 이해할 수 있는 벡터로 바꿀 필요가 있다. 이렇렇게 자연어를 벡터로 전환하는 과정에서, 그 벡터 안에 자연어의 의미를 함축시키는 것이 관건이다. 임베딩의 역할을 3가지로 구분할 수 있다. -자연어 간의 유사도 파악 -의미적/문법적 정보 함축 ..