how to write a neural network code for classification problem from scratch

2 views (last 30 days)
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

Accepted Answer

Greg Heath
Greg Heath on 12 Jan 2016
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

More Answers (1)

Thili Mahanama
Thili Mahanama on 29 Apr 2018
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 Comment
Muhammad Adil
Muhammad Adil on 17 Apr 2021
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

Sign in to comment.

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!