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

📄 dualgreedygstest2.m

📁 a function inside machine learning
💻 M
字号:
%A script to test gram schmidt, to see if we compute new features as Xhat =
%K*A for some A 
clear; 
rand('state',21); 

tol = 10^-7; 
numExamples = 15; 
numFeatures = 10; 
X = rand(numExamples, numFeatures); 

d = data; 
d = addDataField(d, 'X', X, 'examples'); 

[trainData, testData] = splitData2(d, 2/3); 

T = 5;
params.iterations = T; 
params.X.kernel = getDefaultLinearKernel; 

[subspaceInfo, trainInfo] = dualGreedyGSTrain(trainData, params); 
[testInfo, projectionInfo] = dualGreedyGSProject(trainData, testData, subspaceInfo, params); 

trainX = getDataFieldValue(trainData, 'X'); 
testX = getDataFieldValue(testData, 'X'); 

newTrainX = getDataFieldValue(trainInfo.data, 'X'); 
newTestX = getDataFieldValue(testInfo.data, 'X'); 

A = subspaceInfo.X.b;

for i=1:T
    a = A(:, i); 

    for j=i-1:-1:1
        a = a - subspaceInfo.X.b(:, j)*subspaceInfo.X.tau(:, j)'*a/(subspaceInfo.X.tau(:, j)'*subspaceInfo.X.b(:, j));
    end 

    A(:, i) = a; 
end 

newTrainX2 = trainX*trainX'*A; 
newTestX2 = testX*trainX'*A; 

if norm(newTrainX2 - newTrainX) > tol | norm(newTestX2 - newTestX) > tol
    error('Deflation method does not work'); 
end 

%It works! 



⌨️ 快捷键说明

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