- ignore *.asv

git-svn-id: http://moon:8086/svn/matlab/trunk@96 801c6759-fa7c-4059-a304-17956f83a07c
This commit is contained in:
2016-07-12 20:36:03 +00:00
parent 32063406bd
commit 79b4784a01
8 changed files with 0 additions and 208 deletions
-20
View File
@@ -1,20 +0,0 @@
function [xpca xzca] = PCAwhite(x)
size(x)
x = x';
k= 10;
epsilon=1e-42;
avg = mean(x, 1)
x = x - repmat(avg, size(x, 1), 1);
sigma = x * x' / size(x, 2);
size(sigma)
[U,S,V] = svd(sigma);
%xRot = U' * x; % rotated version of the data.
%xTilde = U(:,1:k)' * x; % reduced dimension representation of the data,
% where k is the number of eigenvectors to keep
xpca = diag(1./sqrt(diag(S) + epsilon)) * U' * x;
xzca = U * diag(1./sqrt(diag(S) + epsilon)) * U' * x;
plot(x(
-12
View File
@@ -1,12 +0,0 @@
function jbatch2()
numLabels = 10;
maxNumSamples = -1;
di
for d=1:numLabels,
Dall(d) = load(['digit' num2str(d-1)]);
fprintf('%5d Digits of class %d\n',size(Dall(d).D,1),d-1);
maxNumSamples = max(maxNumSamples, size(Dall(d).D,1));
jconv(Dall(d).D/256, d-1);
% jimage(Dall{d}/256, d-1, 28, 28);
end;
-13
View File
@@ -1,13 +0,0 @@
function jconv(data, label)
[numTrain, numPixel] = size(data);
s = ['mnist_' num2str(label) '.trainingStates.dat']
fid = fopen(s, 'w');
fprintf(fid, '%d\n', numTrain);
for m=1:numTrain,
jwrite(fid, data(m,:));
end
fclose(fid);
-12
View File
@@ -1,12 +0,0 @@
function jimage(data, label, nx, ny)
[numTrain, numPixel] = size(data);
for m=1:numTrain,
im0 = reshape(data(m,:), nx, ny)';
imwrite(im0, ['mnist_' num2str(label) '_' num2str(m) '.tif']);
[im_on, im_off] = retina(im0, 7, 0.3);
end
%imwrite(im_on, [dst_dir 'images\' filename '.on.tif']);
%imwrite(im_off, [dst_dir 'images\' filename '.off.tif']);
%imwrite(0.5*(im_on - im_off) + 0.5, [dst_dir 'images\' filename '.on_off.tif']);
-13
View File
@@ -1,13 +0,0 @@
function jwrite_retina(fid, data, nx, ny)
numPixel = length(data);
fprintf(fid, '%d\n', numPixel);
im0 = reshape(data(m,:), nx, ny)';
imwrite(im0, ['mnist_' num2str(label) '_' num2str(m) '.tif']);
[im_on, im_off] = retina(im0, 7, 0.3);
imwrite(0.5*(im_on - im_off) + 0.5, ['mnist_retina_' num2str(label) '_' num2str(m) '.tif']);
for n=1:numPixel,
fprintf(fid, '%f\n', data(n));
end
-19
View File
@@ -1,19 +0,0 @@
function norbload()
fid=fopen('smallnorb-5x46789x9x18x6x2x96x96-training-dat.mat','r');
fread(fid,4,'uchar'); % result = [85 76 61 30], byte matrix(in base 16: [55 4C 3D 1E])
fread(fid,4,'uchar'); % result = [4 0 0 0], ndim = 4
numImages = fread(fid,4,'uchar'); % result = [236 94 0 0], dim0 = 24300 (=94*256+236)
fread(fid,4,'uchar'); % result = [2 0 0 0], dim1 = 2
fread(fid,4,'uchar'); % result = [96 0 0 0], dim2 = 96
fread(fid,4,'uchar'); % result = [96 0 0 0], dim3 = 96
numImages = numImages
for n=1:200,
im = transpose(reshape(fread(fid,96*96),96,96))/256;
if (mod(n, 2) == 0)
size(im)
imshow(im); % show the first image
pause (0.1);
end
end;
-43
View File
@@ -1,43 +0,0 @@
function pca_eval()
close all;
Ntrain = 100;
Ndim = 2;
K = 1;
epsilon = 0.1;
x = 2*(rand(Ndim, Ntrain)-0.5);
x = 0.3*x + repmat(linspace(-0.7,0.7, Ntrain), Ndim, 1);
plot(x(1,:), x(2,:), '+'); axis([-1 1 -1 1]); grid; title('Raw data'); xlabel('x_1'); ylabel('x_2');
sigma = x * x' / size(x, 2)
[U,S,V] = svd(sigma)
xrot = U' * x;
figure;
plot(xrot(1,:), xrot(2,:), '+'); axis([-1 1 -1 1]); grid; title('Rotated data'); xlabel('x_{rot,1}'); ylabel('x_{rot,2}');
xpca = pcdiag(sqrt(1./(diag(S) + epsilon))) * xrot;
figure;
plot(xpca(1,:), xpca(2,:), '+'); axis([-1 1 -1 1]); grid; title('Whitened data dim=2'); xlabel('x_{pca,1}'); ylabel('x_{pca,2}');
xtilde = zeros(size(xrot));
xtilde(1:K, :) = xrot(1:K, :);
lambda = diag(S);
retained_variance = sum(lambda(1:K))./sum(lambda)
figure;
plot(xtilde(1,:), xtilde(2,:), '+'); axis([-1 1 -1 1]); grid; title('Rotated data reduced to dim = 1'); xlabel('x_{tilde,1}'); ylabel('x_{tilde,2}');
size (U)
size(xrot)
xhat = U(:, 1:K) * xrot(1:K, :);
figure;
plot(xhat(1,:), xhat(2,:), '+'); axis([-1 1 -1 1]); grid; title('Data reduced to dim = 1'); xlabel('x_{hat,1}'); ylabel('x_{hat,2}');
xpca1 = diag(sqrt(1./(diag(S)))) * xhat;
figure;
plot(xpca1(1,:), xpca1(2,:), '+'); axis([-1 1 -1 1]); grid; title('Whitened data dim=1'); xlabel('x_{pca,1}'); ylabel('x_{pca,2}');
-76
View File
@@ -1,76 +0,0 @@
function rbm_eval(nh, batch, numEpochs)
[nv batchsize] = size(batch);
numGibbs = 1;
muW = 0.1;
muBV = 0.1;
muBH = 0.1;
momentum = 0.5;
momentum_final = 0.9;
weightDecay = 0.000;
w = 0.1*randn(nv, nh);
bv = zeros(nv, 1);
bh = zeros(1, nh);
v = zeros(batchsize, nv);
h = zeros(batchsize, nh);
diffW = zeros(nv, nh);
diffBV = zeros(1, nv);
diffBH = zeros(1, nh);
diffErr = zeros(nv, batchsize);
dW = zeros(nv, nh);
dBV = zeros(nv, 1);
dBH = zeros(nh, 1);
for k=1:numEpochs
errsum = 0;
% Positive phase
v = batch;
h = 1./(1 + exp(-(v' * w + repmat(bh, batchsize, 1))));
% Update difference
diffW = v * h;
diffBV = sum(v, 2);
diffBH = sum(h')';
diffErr = v;
% Negative phase
for n=1:numGibbs
% h is sampled
h = h > rand(batchsize, nh);
% reconstruct
v = 1./(1 + exp(-(h *w'+ repmat(bv, batchsize, 1))));
% Get new h probabilities from reconstruction
h = 1./(1 + exp(-(v' * w + repmat(bh, batchsize, 1))))';
end
% Update difference
diffW = diffW - v * h';
diffBV = diffBV - sum(v, 2);
diffBH = diffBH - sum(h');
diffErr = diffErr - v;
err = sum(sum((diffErr).^2));
errsum = errsum + err;
if k > 5,
momentum = momentum_final;
end;
% Update parameter gradients
dW = momentum*dW + muW*(diffW/batchsize - weightDecay*w);
dBV = momentum*dBV + muBV*diffBV/batchsize;
dBH = momentum*dBH + muBH*diffBH/batchsize;
% Update parameters
w = w + dW;
bv = bv + dBV;
bh = bh + dBH;
end
v = v
err = err
errsum = errsum