Download presentation
Presentation is loading. Please wait.
1
RPTree 코드분석 (월) Dblab 김태훈
2
contents learn.c RPtree generateUniform 예제 learnRPtree.c Projection 계산
RPNode 구조도 learnRPnode : alpha 가중치 계산 조건 비교 Alpha, Median 계산 Work to do Future work
3
learn.c – RPtree 로드 initTreeMem() : RPTREE 초기화
If { … } : 사용자 입력 컴포넌트 일 때, 트리 구조 생성 트리 파일 존재시 로드 readTree(FILE*, RPTREE*) : tree 파일에서 트리 로드 75번째 라인
4
learnRPtree.c - rptree 초기화
20개의 분할기준선의 3개의 벡터를 생성 learnRPTree.c 25번째 라인
5
generateUniform 예제1
6
generateUniform 예제2 분석 데이터 삽입 예제 Data 3 개 VECT_LEN = 2 output
7
learn.c – 열기 옵션 판독 datafile : 바이너리, 혹은 아스키코드 열기 모드 95번째 라인
8
learn.c – data 읽기 파일에서 트리 데이터 로드
learn.c – data 읽기 X length y length z length 파일에서 트리 데이터 로드 data_pt[i] : datafile에서 읽은 값들이 순차적으로 저장
9
learn.c – data 읽기 (계속) learnRPTree(RPTree*, data_pt) RPTree* : 초기화된 트리
Data_pt : 읽은 x,y,z data
10
learnRPtree.C – learnRPTree 데이터 계산(벡터 내적 합) 계속
void learnRPTree(RPTree* tree, t_data* data)] 벡터 내적 총합 data Proj_data[j] data[i] tree->projection[j][i] learnRPtree.C 247라인
11
learnRPtree.C – learnRPTree 데이터 계산(벡터 내적 합) 출력 결과
12
learnRPtree.C – learnRPTree 계속 RPTree Node
n = &(tree->nodes[ndx]) : rptree 노드
13
rPTree, RPNode 구조(learnRPtree.h)
(nodes) double (projections) 20 … double total double mean double proj_sum d proj_sum_sq double smallbin [20][3] double largebin [20][3] Int proj_to_use Int proj_type double threshold Int node ndx Int is leaf * … … … 303라인
14
learnRPtree.C – learnRPnode 계속
alpha : 학습 가중치 데이터 If(…) : 학습 가중치 데이터 값을 계산하는 조건
15
alpha값을 직접 계산한 예제
16
learnRPtree.C – learnRPnode 계속2
n->mean[i] = … : 벡터 평균값 업데이트
17
mean값 계산 예제
18
Work to do update_stats(n,proj_data[p],p,alpha) 이하의 코드 분석중
19
FUTURE WORK update_stats(n,proj_data[p],p,alpha)
만남을 통해서 해결
Similar presentations