目前,我对CNN不太熟悉。我正在尝试在UCI数据集上训练CNN,这些数据基本上是更精确的平面文件csv。我可以使用Matlab上的其他分类器轻松地执行基于ML的任务,但我对CNNS相当执着。据我所知,将使用一维CNN对文件进行分类,但是任何人都不知道可以实现这一目标吗?现在,我正在使用的代码如下:
X = Xtrain;
y = Ytrain;
height = size(X, 2);
width = 1;
channels = 1;
sampleSize = size(X,1);
noOfClasses = length(unique(y));
CNN_Xtrain = reshape(X,[height, width, channels, sampleSize]);
CNN_Ytrain = categorical(y);
layers = [imageInputLayer([height, width, channels])
convolution2dLayer([1], 100)
batchNormalizationLayer
reluLayer
fullyConnectedLayer(noOfClasses)
softmaxLayer
classificationLayer];
options = trainingOptions('adam',...
'MaxEpochs', 1000 ...
);
layers(2).Weights = randn([1 1 1 100]) * 0.0001;
layers(2).Bias = randn([1 1 100])*0.00001 + 1;
classifier = trainNetwork(CNN_Xtrain, CNN_YTrain, layers, options);
但是使用此代码,我的准确性确实很差。请帮忙。