Convolution Neural network for regression problems

2 views (last 30 days)
Jahetbe
Jahetbe on 10 Jan 2022
Commented: yanqi liu on 10 Feb 2022
Hi everyone
I want to use CNN for my problem. The existing examples in the MATLAB (Here) provided for images as 4-D arrays but my problem is as follows:
Inputs = N (78000,24)
Output = Y(78000,1)
How can I use the mentioned examples for my problem?
Thanks in advanced.
  1 Comment
KSSV
KSSV on 10 Jan 2022
You can use NN toolbox right? Attach your data and tell us about your data, lets give a try to help you.

Sign in to comment.

Accepted Answer

yanqi liu
yanqi liu on 11 Jan 2022
yes,sir,may be use rand data to simulate your application,then you can replace data,such as
clc; clear all; close all;
% Inputs = N (78000,24);
% Output = Y(78000,1);
Inputs = randn(78000,24);
Output = rand(78000,1);
% get input data matrix
XTrain=(reshape(Inputs', [24,1,1,78000]));
YTrain=Output;
layers = [imageInputLayer([24 1 1])
convolution2dLayer([15 1],3,'Stride',1)
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2,'Padding',[0 0 0 1])
dropoutLayer
fullyConnectedLayer(1)
regressionLayer];
miniBatchSize = 128;
options = trainingOptions('sgdm', ...
'MiniBatchSize',miniBatchSize, ...
'MaxEpochs',30, ...
'InitialLearnRate',1e-3, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropFactor',0.1, ...
'LearnRateDropPeriod',20, ...
'Shuffle','every-epoch', ...
'Plots','training-progress', ...
'Verbose',false);
net = trainNetwork(XTrain,YTrain,layers,options);
  3 Comments

Sign in to comment.

More Answers (1)

Jahetbe
Jahetbe on 10 Jan 2022
Dear @KSSV
Thank you for your response.
I want to use CNN to solve my problem.
My data is as follows.
Inputs = [ x11 x12 x13 x14
x21 x22 x23 x24
. . . .
xN1 xN2 XN3 XN4]
Outputs = [ Y11
Y21
.
.
.
.
YN1 ]
Wher N is the number of samples (i.e., 78000)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by