-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathuselm_equalization.m
27 lines (22 loc) · 963 Bytes
/
uselm_equalization.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function label_uselm = uselm_equalization(data, NN, lambda, embedding_dimensions, training_data_length, modulation_order)
addpath(genpath('side_functions'))
X = data'; % input
X_train = data(:, 1:training_data_length)';
NC=modulation_order; % specify number of clusters
% %%%%%%%%%%%%%%%%% Step 1: construct graph Laplacian %%%%%%%%%%%%%%%%%
% hyper-parameter settings for graph
options.GraphWeights='binary';
options.GraphDistanceFunction='euclidean';
options.LaplacianNormalize=0;
options.LaplacianDegree=1;
options.NN=5;
L=laplacian(options, X_train);
paras.NE=embedding_dimensions; % specify dimensions of embedding
paras.NumHiddenNeuron=NN;
paras.NormalizeInput=0;
paras.NormalizeOutput=0;
paras.Kernel='sigmoid';
paras.lambda=lambda;
elmModel = uselm(X, X_train, L, paras);
[label_uselm, ~] = litekmeans(elmModel.Embed, NC, 'MaxIter', 200);
end