📄 sparsecorrelationstest2.m
字号:
%Test the distribution of sparse correlations for sparse KCCA
clear all;
dataSet = 'letter-recognition.data';
[X, y, numExamples, numFeatures] = readCsvData(dataSet);
%convert to indicator labels
Y = indicatorVector(y);
YAll = indicatorVector((1:26)');
numLabels = size(Y, 2);
%Take the first examples
numExamples = 1500;
X = X(1:numExamples, :);
Y = Y(1:numExamples, :);
X = centerData(X);
Y = centerData(Y);
d = data;
d = addDataField(data, 'X', X, 'examples');
d = addDataField(data, 'Y', Y, 'labels');
KX = X*X';
KY = Y*Y';
[correlations, bXs, bYs] = sparseCorrelations(KX, KX, KY, KY, 1:numExamples, 1:numExamples);
%The maximum sparse correlation
maxSparseCorrelation = max(max(abs(correlations)))
%The maximum non-sparse correlation
[u, v] = maxCanonicalCorrelation(X, Y);
maxCorrelation = correlation(X*u, Y*v)
%Plot histogram of correlations
hist(abs(correlations));
xlabel('Correlation');
ylabel('Frequency');
numColumns = (2.^(1:10))';
maxSparseCorrelations = ones(length(numColumns), 1);
for i=1:length(numColumns);
XCols = randperm(numExamples);
XCols = XCols(1:numColumns(i));
YCols = randperm(numExamples);
YCols = YCols(1:numColumns(i));
[correlations, bXs, bYs] = sparseCorrelations(KX(:, XCols), KX(:, XCols), KY(:, YCols), KY(:, YCols), XCols, YCols);
maxSparseCorrelations(i) = max(max(abs(correlations)));
end
figure;
plot(numColumns, maxSparseCorrelations, 'k');
xlabel('Kernel columns');
ylabel('Correlations');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -