|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- function [ affinity ] = CalcAffinityByKatzBeta_Sparse( data, beta, infinity, num_attr_nodes )
-
- %sigal
- if num_attr_nodes>0
- extraLen=0;
- else
- extraLen=0;
- end
- infinity = infinity+extraLen;
-
- %data(eye(size(data,1)) == 1) = 1;
-
- start_beta = beta;
- d_next = data;
- affinity = sparse(d_next .* beta);
-
- if num_attr_nodes>0
- d_next(1:num_attr_nodes,:)=0;
- d_next(:,1:num_attr_nodes)=0;
- end
-
- d_next = sparse(d_next);
- for n = 2 : infinity
-
- d_next = sparse(d_next * data);
-
- beta = beta * start_beta;
-
- affinity = sparse(affinity + (d_next .* beta));
-
- end
-
- %sigal 29.10.13 - normolize by diagonal min
- v = diag(affinity);
- max_val = min(v);
- %max_val = max(max(affinity));
-
- affinity = affinity ./ max_val;
-
- for i = 1 : size(affinity,1)
- affinity(i,i) = 1;
- end
- %sigal 29.10.13 - end
-
- end %function
-
|