Algoritma pelatihan MADALINE mula-mula untuk pola masukan dan target bipolar :
- Inisialisasi semua bobot dan bias dengan bilangan acak kecil. Inisialiasasi α dengan bilangan kecil.
- Selama perubahan bobot lebih besar dari toleransi (jumlah epoch belum melebihi batas yang ditentukan), lakukan langkah a s/d e :
- a. Set aktivasi unit masukan : xi = si untuk semua i
- b. Hitung net input untuk setiap unit tersembunyi ADALINE (z1, z2,...)
- c. Hitung keluaran setiap unit tersembunyi dengan menggunakan fungsi aktivasi bipolar :
- d. Tentukan keluaran jaringane.
- e. Hitung error dan tentukan perubahan bobot :
- Jika y = target, maka tidak dilakukan perubahan bobot
- Jika y ≠ target :
- Untuk t = 1, ubah bobot ke unit zj yang zin nya terdekat dengan 0 (misal ke unit zp) :
- Untuk t = -1, ubah semua bobot ke unit zk yang zin nya positif
Gunakan MADALINE mula-mula mengenali pola fungsi logika XOR dengan 2 masukan x1 dan x2. Gunakan α = 0.5 dan toleransi = 0.1
Penyelesaian :

Tabel Data Masukan
Inisialisasi dilakukan pada semua bobot ke unit tersembunyi dengan suatu bilangan acak kecil.

Tabel Inisialisasi terhadap Hidden Layer
Bobot ke unit keluaran Y adalah : v1 = v2 = b = 0.5

Gambar Bobot tiap Unit
Disini dilakukan iterasi untuk pola pertama saja. Pelatihan pola-pola selanjutnya dilakukan secara analog dan diserahkan kepada saudara untuk latihan.
- Pola-1 : Masukan : x1 = 1, x2 =1, t=-1
Hitung net untuk unit tersembunyi z1 dan z2 :
- Zin_1 = b1 + x1w11 + x2w12 = 0.3 + 1 (0.05) + 1 (0.2) = 0.55
- Zin_2 = b2 + x1w21 + x2w22 = 0.15 + 1 (0.1) + 1 (0.2) = 0.45
Hitung keluaran unit tersembunyi z1 dan z2 menggunakan fungsi aktivasi bipolar.
- z1 = f (zin_1) = 1 dan z2 = f (zin_2) = 1
Tentukan keluaran jaringan Y :
- Y_in = b3 + z1v1 + z2v2 = 0.5 + 1 (0.5) + 1 (0.5) = 1.5
- Maka y = f (y_in) = 1
- t-y = -1-1 = -2 ≠ 0 dan t = -1.
Semua bobot yang menghasilkan z_in yang positif dimodifikasi. Karena zin_1 > 0 dan zin_2 > 0, maka semua bobotnya dimodifikasi sebagai berikut :
Perubahan bobot ke unit tersembunyi z1 :
- b1 baru = b1 lama + α (-1- zin_1) = 0.3 + 0.5 (-1 – 0.55) = -0.475
- w11 baru = w11 lama + α (-1- zin_1) x1 = 0.05 + 0.5 (-1 – 0.55) = -0.725
- w12 baru = w12 lama + α (-1- zin_1) x2 = 0.2 + 0.5 (-1 – 0.55) = -0.575
Perubahan bobot ke unit tersembunyi z2 :
- b2 baru = b2 lama + α (-1- zin_2) = 0.15 + 0.5 (-1 – 0.45) = -0.575
- w21 baru = w21 lama + α (-1- zin_2) x1 = 0.1 + 0.5 (-1 – 0.45) = -0.625
- w22 baru = w22 lama + α (-1- zin_2) x2 = 0.2 + 0.5 (-1 – 0.45) = -0.525

Tabel Perubahan Bobot (Aw)
Karena masih ada (bahkan semua) perubahan bobot > toleransi yang ditetapkan, maka iterasi dilanjutkan untuk pola 2. Iterasi dilakukan untuk semua pola. Apabila ada perubahan bobot yang masih lebih besar dari batas toleransi, maka iterasi dilanjutkan untuk epoch-2 dan seterusnya.