Predicting microstructural properties using Neural Network: Backpropagation

I want to predict 3 microstructural properties by training neural network (backpropagation) with cooling rate of a alloy solidifying from a liquid as input and my target values as those 3 properties. I have 50 samples of cooling rate and corresponding 50 X 3 values of properties.
1) How should i set my neural network so that i could train it and reproduce the target results in the output ? 2) Also, i should be able to predict the value at any given cooling rate, obviously within a certain range it would be?

댓글 수: 2

Please show what you have done so far.
Greg
I simply called nftool which uses trainlm and lets me select the size of hidden layer apart from partitioning the data, and fed the i/p with Cooling rate data [1x50] matrix. Similarly the Targets were provided with the [3 X 50] matrix representing the 50 values of my 3 parameters.
The value of the MSE that i have obtained is mostly in the range of 8 - 30.
I tried to use the values of hidden layer from 4-16, but that didn't help much.
Could you please tell me how should i approach this to get better results?
Raghav

댓글을 달려면 로그인하십시오.

 채택된 답변

1. The scaling of the target data is unbalanced
meant = mean(t')' % [ 36.5 1.08 -4.38 ]'
vart = var(t')' % [ 2.67 0.0012 44.4 ]'
Unbalanced scaling will cause NN training to neglect t(1:2,:)
To mitigate the unbalancing, either scale the variables or weight the targets.
Compare the MSE of the separate outputs to those of 3 separate networks.
Without scaling or weighting I get
rng(0)
for i = 1:20
net = train(fitnet,x,t);
MSE(i) = perform(net,t,net(x))
end
minMSE = min(MSE) % 5.26
medMSE = median(MSE) % 14.2
meanMSE = mean(MSE) % 14.3
stdMSE = std(MSE) % 4.98
maxMSE = max(MSE) %22.99
2. The input is not very predictive using a three output net without scaling or weighting.
Hope this helps.
Greg

댓글 수: 3

It is easier to understand the significance of the MSE VALUE by comparing it to that of the Naive classifier with constant output equal to the mean of the targets (MSE00)
[ I N ] = size(x) % [ 1 50 ]
y00 = repmat(mean(t')',1,N);
MSE00 = mse(t-y00) % 15.3
minNMSE = min(MSE/MSE00) % 0.3420
medNMSE = median(MSE/MSE00) % 0.9215
meanNMSE = mean(MSE/MSE00) % 0.9319
stdNMSE = std(MSE/MSE00) % 0.3240
maxNMSE = max(MSE/MSE00) % 1.4950
Could you explain the below mentioned point as to how i change my weights or scale variables?
''To mitigate the unbalancing, either scale the variables or weight the targets''
thanks
Raghav
help/doc/type
mapstd
mapminmax
train

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

제품

질문:

2012년 6월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by