2014-04-29 2 views
0

은 깊이 D의 어휘 트리 분기 계수 K는 (루트 노드 제외) 노드의 수를 가져야한다 :VLFeat 계층 K-수단은 다음과 같이 용어 트리의 노드 번호 계층 K-수단

nodes = K + K^2 + ... + K^D 
nodes = (K^(D+1)-K)/(K-1) 

그러나 vl_hikmeanshist은 하나의 추가 빈으로 막대 그래프를 제공합니다. 그들은 또한 그들이 "어떤 정보를 전달하지 루트를 계산하지"라고

nodes = (K^(D+1)-1)/(K-1) 

: 자신의 website에서 노드의 수는 다음과 같이 계산된다. 왜 그들의 공식이 다른가? 그들은 웹 사이트에 연락하지 않기 때문에 물어볼 수 없습니다. 누군가이 문제에 관해 밝힐 수 있습니까?

답변

1

추가 정보가 없으므로 루트 노드는 포함되지 않습니다. 루트 노드는 항상 데이터 세트의 평균이됩니다. 간단한 예를 들어 here

를 참조하십시오, 당신은 (루트 노드 제외) (5^3-5)/(4)=120/4=30 노드가있는 것입니다 당신이 수식에 대한 깊이 2. 트리에서 5 개 노드가 있다고

그들의 공식은 단지 루트 노드에 추가합니다 : (5^3-1)/(4)=124/4=31 노드. 이는 이전 30 개의 노드와 하나의 루트 노드를 더한 것과 같습니다.

기본적으로 둘 다 같은 의미입니다. 여분의 저장소가 루트이고 실제로 유용하지 않다는 것을 알아 두십시오.

+0

감사합니다.하지만 내 질문에 제공된 링크 (및 제공된 링크)에 따라 VLFeat는 이미 루트 노드를 제외한다고 말했습니다. 그러나 그들의 함수 vl_hikmeanshist는 여전히 K = 5, D = 2에 대해 31 개의 노드를 출력합니다. 그것이 내가 묻는 이유입니다. 또는 출력 히스토그램에서 여분의 빈 (즉, 루트 노드)을 제거하는 것을 잊었습니까? –

+1

당신이 말하는 것을 봅니다. 내 생각에 오픈 소스 (https://github.com/vlfeat/vlfeat)이기 때문에 오타가 조금 있습니다. – Raab70

+0

+1. 허먼, 그것들의 기능과 방정식이 모두 31 노드라고 말하면 조금 이상합니다. 그리고 그들은 (두 링크 모두에서) 루트 노드를 세지 않는다고 두 번 주장합니다. 어쨌든 vl_hikmeanshist의 출력에서 ​​하나의 bin을 제거 하겠지만 어떤 bin이 루트 노드에 해당하는지 알지 못합니까? –

관련 문제