📄 sparsealignmentstest.m
字号:
%A script to test sparse aligments (a bit)
clear;
rand('state',22);
numExamples = 15;
numFeatures = 10;
tol = 10^-5;
X = rand(numExamples, numFeatures);
Y = sign(rand(numExamples, 1)-0.5);
X = centerData(X);
KX = X*X';
[alignments, bs] = sparseAlignments(KX, KX, Y, Y, 1:numExamples);
%Now generate alingments manually
alignments2 = zeros(numExamples, 1);
for i=1:numExamples
alignments2(i) = kernel_alignment(KX(:,i)*KX(:,i)', Y*Y');
end
if (norm(alignments2 - alignments) > tol)
error('Alignments not computed correctly');
end
%Now check bs are correct
for i=1:numExamples
b = zeros(numExamples, 1);
b(i) = bs(i);
if abs(b'*KX'*KX*b - 1) > tol
error('Dual projections not computed correctly');
end
end
%Now simulate deflation by blanking a column
KX(:, 2) = 0;
[alignments, bs] = sparseAlignments(KX, KX, Y, Y, 1:numExamples);
if alignments(2) ~= 0 | bs(2) ~= 0
error('Problem computing alignment for zeroed kernel matrix columns');
end
%Test the multi label case
numLabels = 5;
Y = sign(rand(numExamples, numLabels)-0.5);
KX = X*X';
[alignments, bs] = sparseAlignments(KX, KX, Y, Y, 1:numExamples);
%Generate alingments manually
alignments2 = zeros(numExamples, 1);
for i=1:numExamples
alignments2(i) = kernel_alignment(KX(:,i)*KX(:,i)', Y*Y');
end
if (norm(alignments2 - alignments) > tol)
error('Alignments not computed correctly');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -