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

采纳的回答

Greg Heath
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

更多回答(1 个)

Thili Mahanama
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
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 CenterFile 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!

Translated by