how to write a neural network code for classification problem from scratch
2 次查看(过去 30 天)
显示 更早的评论
I need to train a neural network for classification and I want to code from scratch because I want to have control over it. I tried using nprtool but I am not satisfied with the output and the only thing I was able to change was the hidden neuron . Please,can someone provide me with a link,video link or books that I can go through to get the required knowledge? Also,any source code with real life problem is welcomed,just for me to see how the code should look like and how it works. Thanks
1 个评论
Sivakumaran Chandrasekaran
2016-1-12
you can more details about neural network from the demos present inside MATLAB software
采纳的回答
Greg Heath
2016-1-12
Using the command line:
help patternnet
doc patternnet
Search in the NEWSGROUP and ANSWERS
greg patternnet
Hope this helps. Thank you for formally accepting my answer Greg
0 个评论
更多回答(1 个)
Thili Mahanama
2018-4-29
This is the code of neural networks for binary classification problem from scratch.and when the number of features(inputs) and target class elevates, the calculations that has to done increases largely,So the error rates. Try with classification learner in matlab app ( after 2015a) or go with neural networks tool box for good accuracies.
clc
clear all;
x1=[0,1,0,1]
x2=[0,0,1,1]
ylabel=[0,1,1,0]
w13=0.5; w14=0.9; w23=0.4; w24=1; w35=-0.12; w45=1.1; w03=0.8; w04=-0.1; w05=0.3;
for ii=1:4
if ylabel(ii)==0
scatter(x1(ii) ,x2(ii),'o','r')
hold on
else
scatter(x1(ii) ,x2(ii),'*','r')
hold on
end
end
alpha=0.1;
i=1;
for u=1:4
while i<=1000
L3=w23*x2(1,u)+w13*x1(1,u)-w03;
y3=sigmf(L3,[1 0])
L4=w24*x2(1,u)+w14*x1(1,u)-w04;
y4=sigmf(L4,[1 0])
L5=w23*x2(1,u)+w13*x1(1,u)-w03;
y5=sigmf(L5,[1 0])
e=ylabel(1,u)-y5;
d5=y5.*(1-y5).*e
d3=y3.*(1-y3).*d5*w35;
d4=y4.*(1-y4).*d5*w45;
dw35=d5*alpha.*y3;
dw45=d5*alpha.*y4;
dw05=d5*alpha.*(-1);
dw03=d3*alpha.*(-1);
dw13=d3*alpha.*x1(1,u);
dw23=d3*alpha.*x2(1,u);
dw04=d4*alpha.*(-1);
dw14=d4*alpha.*x1(1,u);
dw24=d4*alpha.*x2(1,u);
w35=w35+dw35
w45=w45+dw45
w05=w05+dw05
w03=w03+dw03
w13=w13+dw13
w23=w23+dw23
w04=w04+dw04
w14=w14+dw14
w24=w24+dw24
i=i+1;
alpha=10/(100+i);
end
end
x11=0:0.01:1;
x22=0:0.01:1;
L3=w23*x22+w13*x11-w03;
L4=w24*x22+w14*x11-w04;
plot(x11,L3,'r')
hold on
plot(x11,L4,'g')
hold on
1 个评论
Muhammad Adil
2021-4-17
I also wnat to do neural network from scratch, want to make a mathemathical expression form the scratch, here is the methmathical expression of the code to be develop
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!