X = abalone_dataset;
X1 = X(:,1:2085);
X2 = X(:,2086:end);
autoenc = trainAutoencoder(X1);
XReconstructed1 = predict(autoenc,X1);
mseError1 = mse(X1-XReconstructed1)
net = network(autoenc);
net = train(net,X2,X2);
XReconstructed2 = net(X2);
mseError2 = mse(X2-XReconstructed2)
figure
bar([net.b{1} autoenc.EncoderBiases])
figure
plot(autoenc.EncoderWeights-net.IW{1})
features1 = encode(autoenc,X1);
encoder = network;
encoder.numInputs = 1;
encoder.numLayers = 1;
encoder.inputConnect(1,1) = 1;
encoder.outputConnect = 1;
encoder.biasConnect = 1;
encoder.name = 'Encoder';
encoder.layers{1}.name = 'Encoder';
encoder.inputs{1}.size = net.inputs{1}.size;
encoder.layers{1}.size = net.layers{1}.size;
encoder.layers{1}.transferFcn = net.layers{1}.transferFcn;
encoder.IW{1,1} = net.IW{1,1};
encoder.b{1} = net.b{1};
encoder.trainFcn = net.trainFcn;
encoderStruct = struct(encoder);
networkStruct = struct(net);
encoderStruct.inputs{1} = networkStruct.inputs{1};
encoder = network(encoderStruct);
features2 = encoder(X1);
figure
bar([features1(:,1),features2(:,1)])
0 件のコメント
サインイン to comment.