tugas 3 matakuliah komputasi jaringan … m-file di atas adalah gabungan dari proses perceptron...

12
TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN SARAF TIRUAN Dosen Pengampu: Prof. Dr. M. Isa Irawan, MT Oleh: Syarifuddin N. Kapita 1213 2010 43 JURUSAN PASCASARJANA MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2014

Upload: nguyendang

Post on 28-Mar-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

TUGAS 3 MATAKULIAH

KOMPUTASI JARINGAN SARAF TIRUAN

Dosen Pengampu:

Prof. Dr. M. Isa Irawan, MT

Oleh:

Syarifuddin N. Kapita

1213 2010 43

JURUSAN PASCASARJANA MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT TEKNOLOGI SEPULUH NOPEMBER

SURABAYA

2014

Page 2: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

Menjalankan Network Perceptron , Adaline dan Madaline dengan mengunakan M-File.

1 clc; clear all; close all;

2 disp('Memilih salah satu fungsi');

3 disp('1.Perceptron');

4 disp('2.Adaline');

5 disp('3.Madaline');

6 disp(' ');

7 disp('*************************************');

8 disp(' ');

9 pilih = input ('pilih fugsi yang ingin dijalankan = ');

10 switch pilih

11 case 1

12 disp('memilih salah satu inputan =')

13 disp('1.1.Bipolar');

14 disp('2.1.Biner');

15 disp(' ');

16 disp('*************************************');

17 disp(' ');

18 pilih2=input ('pilih =');

19 switch pilih2

20 case 1.1

21 s1=[1 1 -1 -1]; %untuk bipolar

22 s2=[1 -1 1 -1]; %untuk bipolar

23

24 target1 = [1 -1 -1 -1]; % AND function

25 target2 = [-1 1 1 1]; % NAND function

26 target3 = [-1 1 -1 -1]; % AND NOT function

27 target4 = [1 1 1 -1]; % OR function

28 target5 = [-1 -1 -1 1]; % NOR function

29 target6 = [1 1 -1 1]; % OR NOT function

30 disp('t=1 AND function')

31 disp('t=2 NAND function')

32 disp('t=3 AND NOT function')

33 disp('t=4 OR function')

34 disp('t=5 NOR function')

35 disp('t=6 OR NOT function')

36 t= input ('t= ');

37 if t==1

38 target=target1;

39 elseif t==2

Page 3: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

40 target=target2;

41 elseif t==3

42 target=target3;

43 elseif t==4

44 target=target4;

45 elseif t==5

46 target=target5;

47 else target=target6;

48 end

49 disp(' s1 s2 target')

50 disp([s1' s2' target'])

51 x1=s1;

52 x2=s2;

53 net = newp ([-1 1 ; -1 1],1,'hardlims','learnpn');

54 net.IW {1,1}= [0 0];

55 net.b {1}= [0];

56 p = [ x1 ; x2 ]; %inputan bipolar

57 net = train (net,p,target);

58 bobot=net.IW {1,1};

59 bias=net.b {1};

60 fprintf('Nilai WIGHT= %4.0f %4.0f\n',(net.IW {1,1}));

61 fprintf('Nilai BIAS= %4.0f\n',(net.b {1}));

62 disp(' ');

63 disp('PROSES TESTING PERCEPTRON');

64 disp('*************************************');

65 y = sim(net,p)

66 X1=-5:0.1:5;

67 X2=(-bias-X1*bobot(1,1))/bobot(1,2);

68 plot(1,1,'*r',1,-1,'og',-1,1,'ob',-1,-1,'*c');

69 hold on;

70 plot(X1,X2);

71 legend('1,1','1,-1','-1,1','-1,-1');

72 title(['target',num2str(target)]);

73 grid on;

74 xlabel('X1');

75 ylabel('X2');

Page 4: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

76

77 s1=[1 1 0 0]; %untuk biner

78 s2=[1 0 1 0]; %untuk biner

79

80 target1 = [1 -1 -1 -1]; % AND function

81 target2 = [-1 1 1 1]; % NAND function

82 target3 = [-1 1 -1 -1]; % AND NOT function

83 target4 = [1 1 1 -1]; % OR function

84 target5 = [-1 -1 -1 1]; % NOR function

85 target6 = [1 1 -1 1]; % OR NOT function

86 disp('t=1 AND function')

87 disp('t=2 NAND function')

88 disp('t=3 AND NOT function')

89 disp('t=4 OR function')

90 disp('t=5 NOR function')

91 disp('t=6 OR NOT function')

92 t= input ('t= ');

93 if t==1

94 target=target1;

95 elseif t==2

96 target=target2;

97 elseif t==3

98 target=target3;

99 elseif t==4

100 target=target4;

101 elseif t==5

102 target=target5;

103 else target=target6;

104 end

105 disp(' s1 s2 target')

106 disp([s1' s2' target'])

107 x1=s1;

108 x2=s2;

109 net = newp ([-1 1 ; -1 1],1,'hardlims','learnpn');

110 net.IW {1,1}= [0 0];

111 net.b {1}= [0];

112 p = [ x1 ; x2 ]; %inputan bipolar

113 net = train (net,p,target);

114 bobot=net.IW {1,1};

115 bias=net.b {1};

116 fprintf('Nilai WIGHT= %4.0f %4.0f\n',(net.IW {1,1}));

117 fprintf('Nilai BIAS= %4.0f\n',(net.b {1}));

118 disp(' ');

case 2.1

Page 5: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

119

120 disp('PROSES TESTING PERCEPTRON');

121 disp('*************************************');

122 y = sim(net,p)

123 X1=-5:0.1:5;

124 X2=(-bias-X1*bobot(1,1))/bobot(1,2);

125 plot(1,1,'*r',1,0,'og',0,1,'ob',0,0,'*c');

126 hold on;

127 plot(X1,X2);

128 legend('1,1','1,0','0,1','0,0');

129 title(['target',num2str(target)]);

130 grid on;

131 xlabel('X1');

132 ylabel('X2');

133 end

134 case 2

135 disp('memilih salah satu inputan =')

136 disp('1.1.Bipolar');

137 disp('2.1.Biner');

138 disp(' ');

139 disp('*************************************');

140 disp(' ');

141 pilih2=input ('pilih =');

142 switch pilih2

143 case 1.1

144 s1=[1 1 -1 -1]; %untuk bipolar

145 s2=[1 -1 1 -1]; %untuk bipolar

146 target1 = [1 -1 -1 -1]; % AND function

147 target2 = [-1 1 1 1]; % NAND function

148 target3 = [-1 1 -1 -1]; % AND NOT function

149 target4 = [1 1 1 -1]; % OR function

150 target5 = [-1 -1 -1 1]; % NOR function

151 target6 = [1 1 -1 1]; % OR NOT function

152 disp('t=1 AND function')

153 disp('t=2 NAND function')

154 disp('t=3 AND NOT function')

155 disp('t=4 OR function')

156 disp('t=5 NOR function')

157 disp('t=6 OR NOT function')

158 t= input ('t= ');

159 if t==1

160 target=target1;

161 elseif t==2

162 target=target2;

163 elseif t==3

164 target=target3;

165 elseif t==4

Page 6: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

166 target=target4;

167 elseif t==5

168 target=target5;

169 else target=target6;

170 end

171 disp(' s1 s2 target')

172 disp([s1' s2' target'])

173 x1=s1;

174 x2=s2;

175 net = newlin([-1 1 ; -1 1],1);

176 net.IW {1,1}= [0 0];

177 net.b {1}= [0];

178 p = [ x1 ; x2 ]; %inputan bipolar

179 net = train (net,p,target);

180 bobot=net.IW {1,1};

181 bias=net.b {1};

182 fprintf('Nilai WIGHT = %4.1f %4.1f\n',(net.IW {1,1}));

183 fprintf('Nilai BIAS = %4.1f\n',(net.b {1}));

184 disp(' ');

185 disp('PROSES TESTING ADALINE');

186 disp('*************************************');

187 y = sim(net,p)

188 X1=-5:0.1:5;

189 X2=(-bias-X1*bobot(1,1))/bobot(1,2);

190 plot(1,1,'*r',1,-1,'og',-1,1,'ob',-1,-1,'*c');

191 hold on;

192 plot(X1,X2);

193 legend('1,1','1,-1','-1,1','-1,-1');

194 title(['target',num2str(target)]);

195 grid on;

196 xlabel('X1');

197 ylabel('X2');

198 case 2.1

199 s1=[1 1 0 0]; %untuk biner

200 s2=[1 0 1 0]; %untuk biiner

201 target1 = [1 -1 -1 -1]; % AND function

202 target2 = [-1 1 1 1]; % NAND function

203 target3 = [-1 1 -1 -1]; % AND NOT function

204 target4 = [1 1 1 -1]; % OR function

205 target5 = [-1 -1 -1 1]; % NOR function

206 target6 = [1 1 -1 1]; % OR NOT function

207 disp('t=1 AND function')

208 disp('t=2 NAND function')

209 disp('t=3 AND NOT function')

210 disp('t=4 OR function')

211 disp('t=5 NOR function')

212 disp('t=6 OR NOT function')

213 t= input ('t= ');

Page 7: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

249

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261 262

263

264

265

266

267

268

269

270

if t==1

target=target1;

elseif t==2 target=target2; elseif t==3 target=target3; elseif t==4 target=target4; elseif t==5 target=target5; else target=target6; end disp(' s1 s2 target') disp([s1' s2' target']) x1=s1; x2=s2; net = newlin([-1 1 ; -1 1],1); net.IW {1,1}= [0 0]; net.b {1}= [0]; p = [ x1 ; x2 ]; %inputan bipolar net = train (net,p,target); bobot=net.IW {1,1}; bias=net.b {1}; fprintf('Nilai WIGHT = %4.1f %4.1f\n',(net.IW {1,1})); fprintf('Nilai BIAS = %4.1f\n',(net.b {1})); disp(' '); disp('PROSES TESTING ADALINE'); disp('*************************************'); y = sim(net,p) X1=-5:0.1:5; X2=(-bias-X1*bobot(1,1))/bobot(1,2); plot(1,1,'*r',1,0,'og',0,1,'ob',0,0,'*c'); hold on; plot(X1,X2); legend('1,1','1,0','0,1','0,0'); title(['target',num2str(target)]); grid on; xlabel('X1'); ylabel('X2');

end case 3

disp('XOR function') s1=[1 1 -1 -1]; %untuk bipolar s2=[1 -1 1 -1]; %untuk bipolar target=[-1 1 1 -1] % XOR function disp(' s1 s2 target') disp([s1' s2' target']) x1=s1; x2=s2; input=[x1 ; x2]; net=newff(input,target,2,{'logsig',

'purelin'},'trainlm','mse');

net.IW {1,1}= [0.05 0.1 ; 0.2 0.2]; net.b {1}= [0.3 ; 0.15]; net.divideFcn = ('');

Page 8: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

% net=init(net); net.trainParam.epochs =9; net=train(net,input,target); fprintf('Nilai WIGHT = %4.1f %4.1f\n',(net.IW {1,1})); fprintf('Nilai BIAS = %4.1f\n',(net.b {1}));

tes=sim(net,input) error=(tes-target)

plotpv(input,target>0) plotpc(net.IW{:}(1,:),net.b{:}(1,:)); plotpc(net.IW{:}(2,:),net.b{:}(2,:)); title('XOR function'); grid on; xlabel('X1'); ylabel('X2'); end

Page 9: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

Program M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses

Madaline dan sebagai berikut hasil dari Proses Madaline :

1. Program Madaline untuk fungsi XOR .

Input dan targetnya Bipolar

disp('XOR function') s1=[1 1 -1 -1]; %untuk bipolar s2=[1 -1 1 -1]; %untuk bipolar target=[-1 1 1 -1] % XOR function disp(' s1 s2 target') disp([s1' s2' target']) x1=s1; x2=s2; input=[x1 ; x2]; net=newff(input,target,2,{'logsig', 'purelin'},'trainlm','mse');

net.IW {1,1}= [0.05 0.1 ; 0.2 0.2]; net.b {1}= [0.3 ; 0.15]; net.divideFcn = (''); % net=init(net); net.trainParam.epochs =9; net=train(net,input,target); fprintf('Nilai WIGHT = %4.1f %4.1f\n',(net.IW {1,1})); fprintf('Nilai BIAS = %4.1f\n',(net.b {1}));

tes=sim(net,input) error=(tes-target)

plotpv(input,target>0) plotpc(net.IW{:}(1,:),net.b{:}(1,:)); plotpc(net.IW{:}(2,:),net.b{:}(2,:)); title('XOR function'); grid on; xlabel('X1'); ylabel('X2');

Page 10: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

Output dari Fungsi XOR

Dari gambar diatas kita akan menjalankan proses yang ke-3 yaitu madaline, dari proses

madaline kita akan memilih fungsi XOR sebagai hasil running. kemudian dari proses tersebut

hasil outputnya seperti pada gambar dibawah ini.

Page 11: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

Output Fungsi XOR dari fungsi Madaline berbeda-beda pada running pertama dengan

membatasi epoch pada iterasi ke- 9 outputnya berhenti pada iterasi ke-8 dengan nilai bobot

adalah , dan .

dan Pada proses Testing nilai atau bisa dikatakan nilai erorrnya sangat kecil yaitu

1.0e-10 , kemudian pada running kedua dengan membatasi epoch pada iterasi ke-9, outputnya

Page 12: TUGAS 3 MATAKULIAH KOMPUTASI JARINGAN … M-File di atas adalah gabungan dari Proses Perceptron Proses Adaline dan Proses Madaline dan sebagai berikut hasil dari Proses Madaline :

berhenti pada iterasi ke-6 dengan nilai bobot adalah ,

dan . dan Pada proses Testing nilai atau

bisa dikatakan nilai erorrnya sangat kecil yaitu1.0e-06. Pada Neural Network bisa kita lihat

inputan da outputnya berbeda dengan Perceptron dan Adaline, pada Madaline proses inputan

memerlukan dua lapisan yang terdiri dari 1 lapisan tersembunyi (terdiri dari 2 unit adaline)

dan 1 lapisan output (terdiri dari 1 unit adaline) atau yang disebut dengan Hidden Layer dan

Output Layer. Selanjutnya tampilan grafik fungsi XOR dari 2 hasil running yang berbeda

memiliki grafik yang berbeda sebagai berikut:

proses outputnya pada Madaline berbeda-beda namun proses tesiting menunjukan bahwa

nilai erorrnya sangat kecil sehingga proses trainingnya mendekati kebenaran.