dualmaxsparsekernelapproxtest.m.svn-base

来自「a function inside machine learning」· SVN-BASE 代码 · 共 36 行

SVN-BASE
36
字号
%A script to test dualMaxSparseKernelApprox

clear all; 

tol = 10^-5; 
numExamples = 10; 
numFeatures = 5; 

X = rand(numExamples, numFeatures); 
K = X*X'; 

Y = zeros(numExamples, 1); 

b = dualMaxSparseKernelApprox(K, K, Y, Y); 

%Compare against computing the direction in another way 
maxValue = -1000; 

for i=1:numExamples 
    b2 = zeros(numExamples, 1); 
    b2(i) = 1; %Note, scaling of b does not matter 
    
    val = 2*(b2'*K*K*K*K*b2)/(b2'*K*K*b2) - ((b2'*K*K*K*b2)/(b2'*K*K*b2))^2; 
    
    if val > maxValue 
        KK = K*K;
        bestB = b2/sqrt(KK(i, i));
        maxValue = val; 
    end 
end 
    

if norm(b - bestB) > tol 
    error('Dual direction is wrong'); 
end 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?