⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sparsealignmentstest.m

📁 a function inside machine learning
💻 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 + -