1. PENDAHULUAN

       Pada tahun 1943, Warren McCulloch dan Walter Pitts memperkenalkan salah satu
  artificial neurons [McPi43]. Fitur utama dari model neuron mereka adalah bahwa jumlah
  bobot sinyal input dibandingkan dengan ambang batas untuk menentukan neuron output.
  Ketika jumlah lebih besar dari atau sama dengan ambang batas, output adalah 1. Ketika
  jumlah kurang dari ambang batas, keluaran adalah 0. Mereka tetap meneruskan penelitian
  dengan menunjukkan bahwa jaringan neuron ini pada prinsipnyabisa menghitung setiap
  fungsi aritmetika atau logika. Tidak seperti jaringan biologis, parameters jaringan mereka
  harus dirancang, karena tidak ada metode pelatihan yang tersedia. Namun, hubungan yang
  dirasakan antara biologi dan komputer digital menghasilkan banyak minat.

       Pada akhir 1950-an, Frank Rosenblatt dan beberapa peneliti lain mengembangkan suatu
  kelas jaringan saraf yang disebut Perceptrons. Neuron dalam jaringan yang mirip dengan
  McCulloch dan pitts. Kunci kontribusi Rosenblatt adalah pengenalan aturan belajar untuk
  pelatihan jaringan perceptron untuk memecahkan masalah pengenalan pola [Rose58]. Ia
  membuktikan bahwa aturan belajarnya akan selalu bertemu untuk bobot jaringan yang benar,
  jika bobot yang ada memecahkan masalah. Pembelajarannya sederhana dan otomatis. Contoh
  perilaku yang layak diajukan ke jaringan yang belajar dari kesalahan. Perceptron bahkan bisa
  belajar ketika diinisialisasi dengan nilai acak untuk bobot dan bias.

      Sayangnya, jaringan perceptron secara inheren terbatas. Keterbatasan ini dipublikasikan
  secara luas dalam buku Perceptrons [MiPa69] oleh Marvin Minsky dan Seymour Papert.
  Mereka menunjukkan bahwa jaringan perceptron tidak mampu melaksanakan fungsi dasar
  tertentu. Hal ini tidak sampai tahun 1980-an dimana keterbatasan ini diatasi dengan
  memperbaiki jaringan perceptron (multilayer) dan aturan belajar yang saling
  terkait/berhubungan. Saat ini perceptron masih dipandang sebagai jaringan penting. Ia
  menyisakan suatu jaringan yang cepat dan handal untuk kelas masalah yang dapat
  dipecahkan. Selain daripada itu, pemahaman tentang operasi dari perceptron menyediakan
  dasar yang baik untuk memahami jaringan yang lebih kompleks. Jadi jaringan perceptron,
  dan aturan belajar yang terkait, adalah baik dan layak untuk didiskusikan di sini.

      Pada sisa dari bab ini kita akan mendefinisikan apa yang kitamaksud dengan aturan
  belajar, menjelaskan jaringan perceptron dan aturan belajar, dan mendiskusikan keterbatasan
  jaringan perceptron.
2. METODE PERCEPTRON
       Perceptron juga termasuk salah satu bentuk jaringan syaraf yang sederhana. Perceptron
   biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal
   dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu
   lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang (threshold). Algoritma yang
   digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui
   proses pembelajaran. Nilai threshold (θ) pada fungsi aktivasi adalan non negatif.
   Fungsiaktivasi ini dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positiF
   dan daerah negative. Perhatikan gambar di bawah ini :




                            Gambar pembatasan linear dengan perceptron.

       Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan:

       W1X1 + W2X2 + b > 0

       Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki
   pertidaksamaan:

       W1X1 + W2X2 + b < -0

      Misalkan kita gunakan pasangan vektor input s dan vektor output sebagai pasangan
   vektor yang akan dilatih.



       ALGORITMA :

       0. Inisialisasi semua bobot dan bias:

         (untuk sederhananya set semua bobot dan bobot bias sama dengan nol).

         Set learning rate: α(0 < α ≤1).

         (untuk sederhananya set sama dengan 1).

       1. Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai berikut:

         (i). Untuk setiap pasangan pembelajaran s-t, kerjakan:
a. Set input dengan nilai sama dengan vektor input:

             Xi= Si;

        b. Hitung respon untuk unit output:




        c. Perbaiki bobot dan bias jika terjadi error:

           Jika y ≠t maka:

           Wi(baru) = Wi(lama) + α*t*Xi

           b(baru) = b(lama) + α*t

           jika tidak, maka:

           Wi(baru) = Wi(lama)

           b(baru) = b(lama)

     (ii). Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada (i) maka kondisi
           berhenti TRUE, namun jika masih terjadi perubahan maka kondisi berhenti
           FALSE.

   Algoritma di atas bisa digunakan baik untuk input biner maupun bipolar, dengan θ
tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot-bobot yang diperbaiki
hanyalah bobot-bobot yang berhubungan dengan input yang aktif (xi ≠0) dan bobot-bobot
yang tidak menghasilkan nilai yang benar.



  Contoh soal:

   Misalkan kita ingin membuat jaringan syaraf untuk melakukan pembelajaran terhadap
fungsi AND dengan input biner dan target bipolar sebagai berikut:

  Input Bias Target
  1111
  1 0 1 -1
  0 1 1 -1
  0 0 1 -1
Arsitektur jaringan untuk contoh soal:




Bobot awal : w = [0,0 0,0]
Bobot bias awal : b = [0,0]
Learning rate (alfa): 0,8
Threshold (tetha) : 0,5
1. Epoh ke-1
    Data ke-1
      y_in = 0,0 + 0,0 + 0,0 = 0,0
      Hasil aktivasi = 0 (-0,5 < y_in <0,5)
      Target = 1
      Bobot baru:
             w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
             w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
      Bobot bias baru : b = 0,0 + 0,8 * 1,0 = 0,8

    Data ke-2
     y_in = 0,8 + 0,8 + 0,0 = 1,6
     Hasil aktivasi = 1 (y_in >0,5)
     Target = -1
     Bobot baru:
            w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
            w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
     Bobot bias baru : b = 0,8 + 0,8 * -1,0 = 0,0

    Data ke-3
     y_in = 0,0 + 0,0 + 0,8 = 0,8
     Hasil aktivasi = 1 (y_in >0,5)
     Target = -1
     Bobot baru:
            w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0
            w2 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
     Bobot bias baru : b = 0,0 + 0,8 * -1,0 = -0,8
 Data ke-4
     y_in = -0,8 + 0,0 + 0,0 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

2. Epoh ke-2
    Data ke-1
      y_in = -0,8 + 0,0 + 0,0 = -0,8
      Hasil aktivasi = -1 (y_in < -0,5)
      Target = 1
      Bobot baru:
             w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
             w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
      Bobot bias baru : b = -0,8 + 0,8 * 1,0 = 0,0

    Data ke-2
     y_in = 0,0 + 0,8 + 0,0 = 0,8
     Hasil aktivasi = 1 (y_in >0,5)
     Target = -1
     Bobot baru:
            w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
            w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
     Bobot bias baru : b = 0,0 + 0,8 * -1,0 = -0,8

    Data ke-3
     y_in = -0,8 + 0,0 + 0,8 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0
            w2 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
     Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6

    Data ke-4
     y_in = -1,6 + 0,0 + 0,0 = -1,6
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1
3. Epoh ke-3
    Data ke-1
      y_in = -1,6 + 0,0 + 0,0 = -1,6
      Hasil aktivasi = -1 (y_in < -0,5)
      Target = 1
      Bobot baru:
             w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
             w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
      Bobot bias baru : b = -1,6 + 0,8 * 1,0 = -0,8

    Data ke-2
     y_in = -0,8 + 0,8 + 0,0 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
            w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
     Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6

    Data ke-3
     y_in = -1,6 + 0,0 + 0,8 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-4
     y_in = -1,6 + 0,0 + 0,0 = -1,6
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

4. Epoh ke-4
    Data ke-1
      y_in = -1,6 + 0,0 + 0,8 = -0,8
      Hasil aktivasi = -1 (y_in < -0,5)
      Target = 1
      Bobot baru:
             w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
             w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
      Bobot bias baru : b = -1,6 + 0,8 * 1,0 = -0,8
 Data ke-2
     y_in = -0,8 + 0,8 + 0,0 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0
            w2 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6
     Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6

    Data ke-3
     y_in = -1,6 + 0,0 + 1,6 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0
            w2 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
     Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4

    Data ke-4
     y_in = -2,4 + 0,0 + 0,0 = -2,4
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

5. Epoh ke-5
    Data ke-1
      y_in = -2,4 + 0,0 + 0,8 = -1,6
      Hasil aktivasi = -1 (y_in < -0,5)
      Target = 1
      Bobot baru:
             w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8
             w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
      Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6

    Data ke-2
     y_in = -1,6 + 0,8 + 0,0 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-3
     y_in = -1,6 + 0,0 + 1,6 = -0,0
Hasil aktivasi = 0 (-0,5 < y_in <0,5)
       Target = -1
       Bobot baru:
              w1 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
              w2 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
       Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4

    Data ke-4
     y_in = -2,4 + 0,0 + 0,0 = -2,4
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

6. Epoh ke-6
    Data ke-1
      y_in = -2,4 + 0,8 + 0,8 = -0,8
      Hasil aktivasi = -1 (y_in < -0,5)
      Target = 1
      Bobot baru:
             w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
             w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
      Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6

    Data ke-2
     y_in = -1,6 + 1,6 + 0,0 = -0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
            w2 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6
     Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4

    Data ke-3
     y_in = -2,4 + 0,0 + 1,6 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-4
     y_in = -2,4 + 0,0 + 0,0 = -2,4
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1
7. Epoh ke-7
    Data ke-1
      y_in = -2,4 + 0,8 + 1,6 = -0,0
      Hasil aktivasi = 0 (-0,5 < y_in <0,5)
      Target = 1
      Bobot baru:
             w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
             w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
      Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6

    Data ke-2
     y_in = -1,6 + 1,6 + 0,0 = -0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8
            w2 = 2,4 + 0,8 * -1,0 * 0,0 = 2,4
     Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4

    Data ke-3
     y_in = -2,4 + 0,0 + 2,4 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8
            w2 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6
     Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2

    Data ke-4
     y_in = -3,2 + 0,0 + 0,0 = -3,2
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

8. Epoh ke-8
    Data ke-1
      y_in = -3,2 + 0,8 + 1,6 = -0,8
      Hasil aktivasi = -1 (y_in < -0,5)
      Target = 1
      Bobot baru:
             w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
       Bobot bias baru : b = -3,2 + 0,8 * 1,0 = -2,4

    Data ke-2
     y_in = -2,4 + 1,6 + 0,0 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-3
     y_in = -2,4 + 0,0 + 2,4 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6
            w2 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6
     Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2

    Data ke-4
     y_in = -3,2 + 0,0 + 0,0 = -3,2
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

9. Epoh ke-9
    Data ke-1
      y_in = -3,2 + 1,6 + 1,6 = 0,0
      Hasil aktivasi = 0 (-0,5 < y_in <0,5)
      Target = 1
      Bobot baru:
             w1 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
             w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4
      Bobot bias baru : b = -3,2 + 0,8 * 1,0 = -2,4

    Data ke-2
     y_in = -2,4 + 2,4 + 0,0 = 0,0
     Hasil aktivasi = 0 (-0,5 < y_in <0,5)
     Target = -1
     Bobot baru:
            w1 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6
            w2 = 2,4 + 0,8 * -1,0 * 0,0 = 2,4
     Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2
 Data ke-3
     y_in = -3,2 + 0,0 + 2,4 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-4
     y_in = -3,2 + 0,0 + 0,0 = -3,2
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

10. Epoh ke-10
     Data ke-1
       y_in = -3,2 + 1,6 + 2,4 = 0,8
       Hasil aktivasi = 1 (y_in >0,5)
       Target = 1

    Data ke-2
     y_in = -3,2 + 1,6 + 0,0 = -1,6
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-3
     y_in = -3,2 + 0,0 + 2,4 = -0,8
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

    Data ke-4
     y_in = -3,2 + 0,0 + 0,0 = -3,2
     Hasil aktivasi = -1 (y_in < -0,5)
     Target = -1

       Pada epoh ke-10 ini sudah tidak terjadi perubahan bobot, sehingga proses
       pembelajaran dihentikan. Hasil akhir
       diperoleh:
       Nilai bobot, w1= 1,6; dan w2= 2,4.
       Bobot bias, b = -3,2.

       Dengan demikian garis yang membatasi daerah positifdengan daerah nol
       memenuhi pertidaksamaan:
       1,6 x1+ 2,4 x2– 3,2 > 0,5
Sedangkan garis yang membatasi daerah negatif dengan daerah nol memenuhi
pertidaksamaan:
1,6 x1+ 2,4 x2– 3,2 < -0,5

Perceptron

  • 1.
    1. PENDAHULUAN Pada tahun 1943, Warren McCulloch dan Walter Pitts memperkenalkan salah satu artificial neurons [McPi43]. Fitur utama dari model neuron mereka adalah bahwa jumlah bobot sinyal input dibandingkan dengan ambang batas untuk menentukan neuron output. Ketika jumlah lebih besar dari atau sama dengan ambang batas, output adalah 1. Ketika jumlah kurang dari ambang batas, keluaran adalah 0. Mereka tetap meneruskan penelitian dengan menunjukkan bahwa jaringan neuron ini pada prinsipnyabisa menghitung setiap fungsi aritmetika atau logika. Tidak seperti jaringan biologis, parameters jaringan mereka harus dirancang, karena tidak ada metode pelatihan yang tersedia. Namun, hubungan yang dirasakan antara biologi dan komputer digital menghasilkan banyak minat. Pada akhir 1950-an, Frank Rosenblatt dan beberapa peneliti lain mengembangkan suatu kelas jaringan saraf yang disebut Perceptrons. Neuron dalam jaringan yang mirip dengan McCulloch dan pitts. Kunci kontribusi Rosenblatt adalah pengenalan aturan belajar untuk pelatihan jaringan perceptron untuk memecahkan masalah pengenalan pola [Rose58]. Ia membuktikan bahwa aturan belajarnya akan selalu bertemu untuk bobot jaringan yang benar, jika bobot yang ada memecahkan masalah. Pembelajarannya sederhana dan otomatis. Contoh perilaku yang layak diajukan ke jaringan yang belajar dari kesalahan. Perceptron bahkan bisa belajar ketika diinisialisasi dengan nilai acak untuk bobot dan bias. Sayangnya, jaringan perceptron secara inheren terbatas. Keterbatasan ini dipublikasikan secara luas dalam buku Perceptrons [MiPa69] oleh Marvin Minsky dan Seymour Papert. Mereka menunjukkan bahwa jaringan perceptron tidak mampu melaksanakan fungsi dasar tertentu. Hal ini tidak sampai tahun 1980-an dimana keterbatasan ini diatasi dengan memperbaiki jaringan perceptron (multilayer) dan aturan belajar yang saling terkait/berhubungan. Saat ini perceptron masih dipandang sebagai jaringan penting. Ia menyisakan suatu jaringan yang cepat dan handal untuk kelas masalah yang dapat dipecahkan. Selain daripada itu, pemahaman tentang operasi dari perceptron menyediakan dasar yang baik untuk memahami jaringan yang lebih kompleks. Jadi jaringan perceptron, dan aturan belajar yang terkait, adalah baik dan layak untuk didiskusikan di sini. Pada sisa dari bab ini kita akan mendefinisikan apa yang kitamaksud dengan aturan belajar, menjelaskan jaringan perceptron dan aturan belajar, dan mendiskusikan keterbatasan jaringan perceptron.
  • 2.
    2. METODE PERCEPTRON Perceptron juga termasuk salah satu bentuk jaringan syaraf yang sederhana. Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang (threshold). Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran. Nilai threshold (θ) pada fungsi aktivasi adalan non negatif. Fungsiaktivasi ini dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positiF dan daerah negative. Perhatikan gambar di bawah ini : Gambar pembatasan linear dengan perceptron. Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan: W1X1 + W2X2 + b > 0 Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki pertidaksamaan: W1X1 + W2X2 + b < -0 Misalkan kita gunakan pasangan vektor input s dan vektor output sebagai pasangan vektor yang akan dilatih. ALGORITMA : 0. Inisialisasi semua bobot dan bias: (untuk sederhananya set semua bobot dan bobot bias sama dengan nol). Set learning rate: α(0 < α ≤1). (untuk sederhananya set sama dengan 1). 1. Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai berikut: (i). Untuk setiap pasangan pembelajaran s-t, kerjakan:
  • 3.
    a. Set inputdengan nilai sama dengan vektor input: Xi= Si; b. Hitung respon untuk unit output: c. Perbaiki bobot dan bias jika terjadi error: Jika y ≠t maka: Wi(baru) = Wi(lama) + α*t*Xi b(baru) = b(lama) + α*t jika tidak, maka: Wi(baru) = Wi(lama) b(baru) = b(lama) (ii). Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada (i) maka kondisi berhenti TRUE, namun jika masih terjadi perubahan maka kondisi berhenti FALSE. Algoritma di atas bisa digunakan baik untuk input biner maupun bipolar, dengan θ tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot-bobot yang diperbaiki hanyalah bobot-bobot yang berhubungan dengan input yang aktif (xi ≠0) dan bobot-bobot yang tidak menghasilkan nilai yang benar. Contoh soal: Misalkan kita ingin membuat jaringan syaraf untuk melakukan pembelajaran terhadap fungsi AND dengan input biner dan target bipolar sebagai berikut: Input Bias Target 1111 1 0 1 -1 0 1 1 -1 0 0 1 -1
  • 4.
    Arsitektur jaringan untukcontoh soal: Bobot awal : w = [0,0 0,0] Bobot bias awal : b = [0,0] Learning rate (alfa): 0,8 Threshold (tetha) : 0,5 1. Epoh ke-1  Data ke-1 y_in = 0,0 + 0,0 + 0,0 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = 1 Bobot baru: w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 Bobot bias baru : b = 0,0 + 0,8 * 1,0 = 0,8  Data ke-2 y_in = 0,8 + 0,8 + 0,0 = 1,6 Hasil aktivasi = 1 (y_in >0,5) Target = -1 Bobot baru: w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0 w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8 Bobot bias baru : b = 0,8 + 0,8 * -1,0 = 0,0  Data ke-3 y_in = 0,0 + 0,0 + 0,8 = 0,8 Hasil aktivasi = 1 (y_in >0,5) Target = -1 Bobot baru: w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0 w2 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0 Bobot bias baru : b = 0,0 + 0,8 * -1,0 = -0,8
  • 5.
     Data ke-4 y_in = -0,8 + 0,0 + 0,0 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 2. Epoh ke-2  Data ke-1 y_in = -0,8 + 0,0 + 0,0 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = 1 Bobot baru: w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 Bobot bias baru : b = -0,8 + 0,8 * 1,0 = 0,0  Data ke-2 y_in = 0,0 + 0,8 + 0,0 = 0,8 Hasil aktivasi = 1 (y_in >0,5) Target = -1 Bobot baru: w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0 w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8 Bobot bias baru : b = 0,0 + 0,8 * -1,0 = -0,8  Data ke-3 y_in = -0,8 + 0,0 + 0,8 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0 w2 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0 Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6  Data ke-4 y_in = -1,6 + 0,0 + 0,0 = -1,6 Hasil aktivasi = -1 (y_in < -0,5) Target = -1
  • 6.
    3. Epoh ke-3  Data ke-1 y_in = -1,6 + 0,0 + 0,0 = -1,6 Hasil aktivasi = -1 (y_in < -0,5) Target = 1 Bobot baru: w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 w2 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 Bobot bias baru : b = -1,6 + 0,8 * 1,0 = -0,8  Data ke-2 y_in = -0,8 + 0,8 + 0,0 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0 w2 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8 Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6  Data ke-3 y_in = -1,6 + 0,0 + 0,8 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-4 y_in = -1,6 + 0,0 + 0,0 = -1,6 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 4. Epoh ke-4  Data ke-1 y_in = -1,6 + 0,0 + 0,8 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = 1 Bobot baru: w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6 Bobot bias baru : b = -1,6 + 0,8 * 1,0 = -0,8
  • 7.
     Data ke-2 y_in = -0,8 + 0,8 + 0,0 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 0,8 + 0,8 * -1,0 * 1,0 = 0,0 w2 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6 Bobot bias baru : b = -0,8 + 0,8 * -1,0 = -1,6  Data ke-3 y_in = -1,6 + 0,0 + 1,6 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 0,0 + 0,8 * -1,0 * 0,0 = 0,0 w2 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8 Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4  Data ke-4 y_in = -2,4 + 0,0 + 0,0 = -2,4 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 5. Epoh ke-5  Data ke-1 y_in = -2,4 + 0,0 + 0,8 = -1,6 Hasil aktivasi = -1 (y_in < -0,5) Target = 1 Bobot baru: w1 = 0,0 + 0,8 * 1,0 * 1,0 = 0,8 w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6 Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6  Data ke-2 y_in = -1,6 + 0,8 + 0,0 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-3 y_in = -1,6 + 0,0 + 1,6 = -0,0
  • 8.
    Hasil aktivasi =0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8 w2 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8 Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4  Data ke-4 y_in = -2,4 + 0,0 + 0,0 = -2,4 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 6. Epoh ke-6  Data ke-1 y_in = -2,4 + 0,8 + 0,8 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = 1 Bobot baru: w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6 w2 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6 Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6  Data ke-2 y_in = -1,6 + 1,6 + 0,0 = -0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8 w2 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6 Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4  Data ke-3 y_in = -2,4 + 0,0 + 1,6 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-4 y_in = -2,4 + 0,0 + 0,0 = -2,4 Hasil aktivasi = -1 (y_in < -0,5) Target = -1
  • 9.
    7. Epoh ke-7  Data ke-1 y_in = -2,4 + 0,8 + 1,6 = -0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = 1 Bobot baru: w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6 w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4 Bobot bias baru : b = -2,4 + 0,8 * 1,0 = -1,6  Data ke-2 y_in = -1,6 + 1,6 + 0,0 = -0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 1,6 + 0,8 * -1,0 * 1,0 = 0,8 w2 = 2,4 + 0,8 * -1,0 * 0,0 = 2,4 Bobot bias baru : b = -1,6 + 0,8 * -1,0 = -2,4  Data ke-3 y_in = -2,4 + 0,0 + 2,4 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 0,8 + 0,8 * -1,0 * 0,0 = 0,8 w2 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6 Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2  Data ke-4 y_in = -3,2 + 0,0 + 0,0 = -3,2 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 8. Epoh ke-8  Data ke-1 y_in = -3,2 + 0,8 + 1,6 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = 1 Bobot baru: w1 = 0,8 + 0,8 * 1,0 * 1,0 = 1,6
  • 10.
    w2 = 1,6+ 0,8 * 1,0 * 1,0 = 2,4 Bobot bias baru : b = -3,2 + 0,8 * 1,0 = -2,4  Data ke-2 y_in = -2,4 + 1,6 + 0,0 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-3 y_in = -2,4 + 0,0 + 2,4 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 1,6 + 0,8 * -1,0 * 0,0 = 1,6 w2 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6 Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2  Data ke-4 y_in = -3,2 + 0,0 + 0,0 = -3,2 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 9. Epoh ke-9  Data ke-1 y_in = -3,2 + 1,6 + 1,6 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = 1 Bobot baru: w1 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4 w2 = 1,6 + 0,8 * 1,0 * 1,0 = 2,4 Bobot bias baru : b = -3,2 + 0,8 * 1,0 = -2,4  Data ke-2 y_in = -2,4 + 2,4 + 0,0 = 0,0 Hasil aktivasi = 0 (-0,5 < y_in <0,5) Target = -1 Bobot baru: w1 = 2,4 + 0,8 * -1,0 * 1,0 = 1,6 w2 = 2,4 + 0,8 * -1,0 * 0,0 = 2,4 Bobot bias baru : b = -2,4 + 0,8 * -1,0 = -3,2
  • 11.
     Data ke-3 y_in = -3,2 + 0,0 + 2,4 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-4 y_in = -3,2 + 0,0 + 0,0 = -3,2 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 10. Epoh ke-10  Data ke-1 y_in = -3,2 + 1,6 + 2,4 = 0,8 Hasil aktivasi = 1 (y_in >0,5) Target = 1  Data ke-2 y_in = -3,2 + 1,6 + 0,0 = -1,6 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-3 y_in = -3,2 + 0,0 + 2,4 = -0,8 Hasil aktivasi = -1 (y_in < -0,5) Target = -1  Data ke-4 y_in = -3,2 + 0,0 + 0,0 = -3,2 Hasil aktivasi = -1 (y_in < -0,5) Target = -1 Pada epoh ke-10 ini sudah tidak terjadi perubahan bobot, sehingga proses pembelajaran dihentikan. Hasil akhir diperoleh: Nilai bobot, w1= 1,6; dan w2= 2,4. Bobot bias, b = -3,2. Dengan demikian garis yang membatasi daerah positifdengan daerah nol memenuhi pertidaksamaan: 1,6 x1+ 2,4 x2– 3,2 > 0,5
  • 12.
    Sedangkan garis yangmembatasi daerah negatif dengan daerah nol memenuhi pertidaksamaan: 1,6 x1+ 2,4 x2– 3,2 < -0,5