Как обучить CNN в наборе данных UCI в MATLAB?

Я довольно новичок с CNN в данный момент. Я пытаюсь обучить CNN на наборах данных UCI, которые, в основном, представляют собой простые файлы CSV, чтобы быть более точным. Я мог бы легко выполнять задачи, основанные на ML, используя другие классификаторы на Matlab, но я довольно застрял с CNNS. Из того, что я могу собрать, является то, что 1d 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);

Но с этим кодом моя точность действительно плохая. Пожалуйста помоги.

0 ответов

Другие вопросы по тегам