P2 Teori Dasar Neural Network (1)

TEORI DASAR NEURAL NETWORK (1)

  Jaringan syaraf tiruan (JST) atau Artificial Neural Network (ANN) adalah suatu model matematik atau komputasi untuk mensimulasikan struktur dan fungsi dari jaringan syaraf dalam otak.

  Jaringan Syaraf Tiruan

  Terdiri dari :

  • Node atau unit pemroses (penjumlah dan fungsi aktivasi)
  • Weight/ bobot yang dapat diatur
  • Masukan dan Keluaran

  Sifat :

  Biological Neural Network

  Jaringan Syaraf Tiruan (JST) Menirukan model otak manusia

  Otak Manusia JST

  Soma Node Dendrites Input/Masukan

  Axon Output/Keluaran Synapsis Weight/ Bobot

  Milyaran Neuron Ratusan Neuron Model Neuron Tanpa Bias Masukan / Input

  p

  1

  w Penjumlahan

1 Fungsi Aktifasi

  n=Σp .w

  i i

  p

  2

  w

2 F(y)

  Σ

  a=f(n) . . . w

  i Model Neuron Dengan Bias Masukan / Input

  p

1 Penjumlahan

  w Fungsi Aktivasi

  1 n=Σp .w

  p

  i i

  2 w

2 F(y)

  Σ . a=f(n) . b (Bias)=Fix . w i Neuron Sederhana

  Model Matematis

X = input/masukan I = banyaknya input

W = bobot/weight

  .w Keluaran Penjumlah à n = Σp

  i i

  • Jumlah semua Input (p ) dikali bobot (w )

  i i

  Output/Keluaran Neuron= Fungsi Aktivasi ¨ Beberapa fungsi aktivasi a=f(n) ¨

  Hardlimit functionà a =

  ¨

  Linear Function à a = n

  • n

  ¨

  Sigmoid Function à

  a = 1 /( 1+ e

  )

  1 Jika n ≥ 0

  0 Jika n < 0 Grafik Fungsi Aktivasi

  Hardlimiter

  Purelinear Sigmoid a=f(n) Kegunaan Aktivasi Untuk pengambilan keputusan biasanya digunakan Hardlimit Untuk pengenalan pola/jaringan back propagation biasanya digunakan sigmoid

  

Untuk

prediksi/aproksimasi

linear biasanya Model McCulloch and Pitts

Neuron menghitung jumlah bobot dari setiap sinyal input dan

membandingkan hasilnya dengan nilai bias/threshold, b. Jika input

bersih kurang dari threshold, output neuron adalah -1. Tetapi, jika

input bersih lebih besar dari atau sama dengan threshold, neuron

diaktifkan dan outputnya ditetapkan +1 (McCulloch and Pitts, 1943).

i

  Fungsi aktivasi ini disebut Fungsi Tanda (Sign Function). Sehingga output aktual

  n p w = å i i i

  dari neuron dapat ditunjukkan dengan:

  1 = i

  é ù ³ ì jika n b

  1 +

  • a

  a sign p w b í =

  = å i i Perceptron

Perceptron (Rosenblatt, 1958): JST training yang sederhana dipakaikan

prosedur algoritma training yang pertama kali. Terdiri dari neuron

tunggal dengan bobot synaptic yang diatur dan hard limiter.

  Operasinya didasarkan pada model neuron McCulloch dan Pitts.

  

Jumlah input yang telah diboboti dipakaikan kepada hard limiter:

menghasilkan output +1 jika input positif dan -1 jika negatif à mengklasifikasikan output ke dalam dua area A1 dan A2. i Proses Belajar

  Target = Nilai yang diinginkan Output = Nilai yang keluar dari neuron Proses Belajar Target

  Masukan

  p

1 Keluaran

  w

  1

  n=Σp .w a=f(n) + i i

  p

  • - 2

  w

2 F(y)

  Σ .

  .

  b w

  i .

  Error=target-a Analog Target à apa yang diinginkan Input/masukan à Kekurangan dan kelebihan/potensi Bobot à seberapa besar usaha

Output à hasil dari potensi AND kelemahan dikalikan dengan

usaha terhadap potensi OR kelemahan

  Proses Belajar

Σ

  p

  1 Masukan w

  1 F(y)

  n=p

  1 .w

  1 a=f(n) Bobot Proses Belajar jika masukan positif

Untuk masukan positif penambahan bobot menyebabkan peningkatan

keluaran

  Target (10) (6) Keluaran

  Masukan

  (3)

  n=p .w a=f(n) +

  1

  1

  p

  • - w

  F(y)

  1

  Σ

  1

  (2) F=linear Karena e ≥ 0 maka

  e=10-6=4 (+)

  keluaran a hrs dinaikan Error=target-a untuk menaikan a maka Proses Belajar jika masukan negatif Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran

  Target (10) (-6) Keluaran

  Masukan

  (3)

  n=p .w a=f(n) +

  1

  1

  • - p

  1 w F(y)

  1

  Σ

  (-2) F=linear Karena e ≥ 0 maka

  e=10-(-6)=16 (+)

  keluaran a hrs dinaikan Error=target-a untuk menaikan a maka turunkan nilai w1 karena Proses Perceptron Belajar

Pada awalnya bobot dibuat kecil untuk menjaga jangan

sampai terjadi perbedaan yang sangat besar dengan target.

  

Bobot awal adalah dibuat random, umumnya dalam interval

[-0.5 – 0.5]

Keluaran adalah proses jumlah perkalian antara masukan

dengan bobot.

  

Jika terjadi perbedaan antara keluaran dengan target, e(k)

= a(k) – t(k), k = iterasi ke- 1, 2, 3, maka:

  

Perceptron Learning Rule (Rosenblatt, 1960)

e(k) = a(k) – t(k) , k = iterasi ke- 1, 2, 3, …..

  • a(k) = keluaran neuron
  • t(k) = target yang diinginkan
  • e(k) = error/kesalahan

  w(k+1) = w(k) + Δw(k) Δ w(k) = kec belajar x masukan x error

  • = ŋ x p(k) x e(k)

  ŋ = learning rate à kecepatan belajar (0< ŋ ≤1) ŋ besar belajar cepat à tidak stabil Langkah Pembelajaran Langkah pertama :

  • Mengatur bobot w
  • 1 , w 2 , ..., w n interval [-0.5 – 0.5], mengatur bias/threshold b, mengatur kec pembelajaran ŋ, fungsi aktivasi

      Inisialisasi Awal

    • Mengaktifkan perceptron dengan memakai masukan p
    • 1

        (k), p 2 (k), ..., p i (k) dan target yang dikehendaki t(k). Hitunglah output aktual pada

        iterasi ke-k = 1

      • = å = i i i i

        Langkah kedua : Menghitung keluaran

        ú û ù ê

        ë é

        b p w p p step k a 1 ) ( ) ( ) (

      • i adalah jumlah input perceptron dan step adalah fungsi aktivasi
      Langkah Pembelajaran

      • e(k) = t(k) – a(k) t(k) = target,a(t)=keluaran perceptron

        Langkah ke tiga : Menghitung error

      • Mengupdate bobot perceptron

        (k+1) = w (k)

      • w i i (k) + Δw i
      • w(k+1)à bobot baru w(k)à bobot yg lalu

        Langkah ke • Δw (p) adalah pengkoreksian bobot pada iterasi k, yang dihitung dengan i empat :

      • Δw (p) = ŋ x p (k) x e(k) i i
      Langkah Pembelajaran

      • Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi

        Langkah ke proses sampai keluaran = target atau mendekati lima : target pengulangan Melatih Perceptron: Operasi OR Variabel Input OR x x Fd

        1

        2

        1

        1

        1

        1

        1

        1

        1 x 1 Fd=target Fungsi OR x 2 p

        1 n=Σp .w i i w

        1

      • F(y)
        • error

        Σ

        a=f(n)

        w

        2 p

        2

      b Contoh Pembelajaran 1.

        Langkah pertama : Inisialisasi Awal Mengatur bobot w , w interval [-0.5 – 0.5], w =0.1,

        w (1)=0.3 (1) n 1 2

        1 2

        mengatur bias/threshold b=0.2, mengatur kec pembelajaran ŋ =0.2, fungsi aktivasi-> step

      2. Langkah kedua : Menghitung keluaran

        Mengaktifkan perceptron dengan memakai masukan p (k), p (k) dan

        n 1 2

        target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k =

        1 2

        é ù

      • a (

        1 ) step p ( 1 ) w ( 1 ) b = ê ú ë û i = 1 n (

        å i i

        1 ) p ( 1 ). w ( 1 ) p ( 1 ). w ( 1 ) b = + - 1 1 2 2 Contoh Pembelajaran n ( 1 ) p ( 1 ). w ( 1 ) p ( 1 ). w ( 1 ) b

      • =

        1

        1

        2

        2 n

        X X ( 1 ) . 3 . 1 .

        2

      • =

        n ( 1 ) . 2 ( negatif ) = - maka a (

        1 ) = Contoh Pembelajaran 3.

        Langkah ke tiga : Menghitung error ¤

        ¤

        ¤

        wi(k+1) = wi(k) + Δwi(k)

        ¤

        maka w1(2) = 0.3(1) + 0 = 0.3 (tidak berubah)

        n

        Δ w1(1) = ŋ x pi(1) x e(1) = 0.2 x 0 x 0 = 0

        w1(2) = 0.3(1) + Δw1(1)

        e(k) = t(k) – a(k)

        ¤

        wi(k+1) = wi(k) + Δwi(k)

        ¤

        Mengupdate bobot perceptron

        Langkah ke empat : Mengatur Bobot ¤

        e(1) = 0 – 0 = 0 4.

        ¤

        w2(2) = 0.3(1) + Δw2(1) Contoh Pembelajaran 5.

        Langkah ke lima : pengulangan

        Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah n ke dua dan ulangi proses sampai keluaran = target or mendekati target.

        X X n b w p w p n

        ) 1 . 2 ( 2 .

        n n

        1 <

        

      1

        2

        2

        ) 2 ( 2 (

        ) ). 2 ( ) 2 (

      ). 2 (

        1 . 3 . ) 2 (

        1 .

        Hitung keluaran: ) 2 (

        Contoh Pembelajaran l

        (2)=1 target(2)=Fd(2)=1 l

        2

        (2)=0, p

        1

        

      (2)=0.1, p

        2

        (2)= 0.3 w

        1

        K=2 w

      • =
      • >=
      • =
      • Contoh Pembelajaran ¨ Hitung error

          ¤

          e(2)= target(2) - a(2) = 1 - 0 =1 (ada error)

          ¨ Mengatur Bobot ¤

          Mengupdate bobot perceptron

          n

          wi(k+1) = wi(k) + Δwi(k)

          n

          w1(3) = 0.3(2) + Δw1(2)

          n

          Δ w1(2) = ŋ x p1(1) x e(1) = 0.2 x 0 x 1 = 0

          n maka w1(3) = 0.3(1) + 0 = 0.3 (tidak berubah) n

          wi(k+1) = wi(k) + Δwi(k)

          n

          w2(3) = 0.3(2) + Δw2(2)

          n

          Δ w2(1) = ŋ x p2(1) x e(1) = 0.2 x 1 x 1 = 0.2 Multilayer Perceptron

          Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung.

          Neuron-neuron tersebut disusun dalam lapisan- lapisan yang terdiri dari satu lapisan input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer).

          Lapisan input menerima sinyal dari luar, kemudian melewatkannya ke lapisan tersembunyi pertama, yang akan diteruskan sehingga akhirnya mencapai lapisan output. Multilayer Perceptron Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap layernya.

          

        Setiap neuron pada input layer terhubung dengan setiap neuron pada hidden layer. Demikian juga,

        setiap neuron pada hidden layer terhubung ke setiap neuron pada output layer.

          Multilayer Perceptron Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola pasangan masukan-target yang telah ditentukan.

          Proses pelatihan adalah proses iteratif untuk menentukan bobot-bobot koneksi antara neuron yang paling optimal.

          Kata back propagation yang sering dikaitkan pada MLP merujuk pada cara bagaimana gradien perubahan bobot dihitung.

          Jaringan MLP yang sudah dilatih dengan baik akan Tahapan Dalam Penyelesaian Masalah Menggunakan Metode Jaringan Syarat Tiruan Menggunakan Multilayer Percepteron

        1. Identifikasi masalah

          Tahap ini merupakan identifikasi masalah yang hendak diselesaikan dengan

          ¤

          jaringan syaraf tiruan, meliputi identifikasi jenis dan jumlah masukan serta 2. keluaran pada jaringan.

          Menyiapkan training data set

          Training data set merupakan kumpulan pasangan data masukan-keluaran

          ¤ berdasarkan pengetahuan yang telah dikumpulkan sebelumnya.

          Banyaknya data set harus mencukupi dan dapat mewakili setiap kondisi yang

          ¤

          hendak diselesaikan. Terbatasnya data set akan menyebabkan akurasi jaringan 3. menjadi rendah.

          Inisialisasi dan pembentukan jaringan

          Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan

          ¤ pemilihan fungsi pelatihan jaringan.

          Penentuan topologi adalah penentuan banyaknya hidden layer dan penentuan

          ¤ jumlah neuron pada input layer, hidden layer dan output layer. Tahapan Dalam Penyelesaian Masalah Menggunakan Metode Jaringan Syarat Tiruan Menggunakan Multilayer Percepteron

          4. Simulasi jaringan Simulasi jaringan dilakukan untuk melihat keluaran jaringan

          ¤

        berdasarkan masukan, bobot neuron dan fungsi aktivasinya.

          5. Pelatihan/training jaringan Sebelum melakukan pelatihan, dilakukan penentuan parameter

          ¤ training terlebih dahulu, seperti penentuan jumlah iterasi, learning rate, error yang diijinkan. Setelah itu dilakukan pelatihan yang merupakan proses iteratif untuk menentukan bobot koneksi antar neuron.

          6. Menggunakan jaringan untuk pengenalan pola ¤ Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan pola. Kemampuan jaringan dalam mengenal pola sangat bergantung dari bagaimana jaringan tersebut dilatih.

          Gradient Descent

        Gradient descent (ascent) adalah algoritma optimasi orde

        pertama.

          

        Untuk menemukan minimum lokal dari fungsi menggunakan gradien

        descent, diambil langkah sebanding dengan negatif dari gradien

        (atau perkiraan gradien) dari fungsi pada titik sekarang.

          

        Jika diambil langkah sebanding dengan gradien positif, maka

        akan didapatkan maksimum lokal fungsi tersebut; prosedur ini kemudian dikenal sebagai gradient ascent Algoritma (maksimisasi) ¨ Mulai dari titik awal v ¨ Bergerak dari v ke v

          1

          dengan arah Ñf(v ) : v

          1

          = v + t Ñ f(v ) dengan t adalah solusi dari masalah optimisasi berikut: max f(v + t

          Ñ f(v ) ) s.t t ≥ 0

          

        ¨ Langkah – langkah tersebut diulangi sampai

          didapat nilai v dan v yang cukup dekat Algoritma (minimisasi) ¨ Mulai dari titik awal v ¨ Bergerak dari v ke v

          1

          dengan arah Ñf(v ) : v

          1

          = v - t Ñ f(v ) dengan t adalah solusi dari masalah optimisasi berikut: min f(v - t

          Ñ f(v ) ) s.t t ≥ 0

          

        ¨ Langkah – langkah tersebut diulangi sampai

          didapat nilai v dan v yang cukup dekat Ilustrasi

          Contoh Soal

          Gunakan metode steepest ascent untuk aproksimasi solusi dari

          max = − − 3 − − 2

        • (
        • , ∈

          s.t

          ( *

          Dengan titik awal v = (1,1) Jawab: Ñf(x , x ) = (– 2(x – 3), – 2(x – 2))

          1

          2

          1

          2

          Ñ f(v ) = Ñf(1,1) = (4,2) Pilih t yang memaksimumkan

          Ñ f(v + t f(v ) ) ® max f[(1,1)+t (4,2)] ® max f[1+4t 1+2t ]

          0 ,

        Contoh Soal

          max = − 1 + 4 − 3 − 1 + 2 − 2

          max = − −2 + 4 − −1 + 2 f ‘(t )=0 ® - 2(-2+4t )4 -2(-1+2t )2 = 0 20 – 40 t = 0 t = 0.5 v = [(1,1)+0.5(4,2)] = (3,2)

        1 Karena Ñf(3, 2) = (0,0) maka iterasi dihentikan

          Karena f(x , x ) adalah fungsi konkaf, maka (3,2)

          1

          2 Kesimpulan

        Jaringan syaraf tiruan cocok digunakan untuk

        menyelesaikan masalah yang tidak linier, yang

        tidak dapat dimodelkan secara matematis.

          

        Jaringan cukup belajar dari pasangan data

        masukan dan target yang diinginkan, setelah

        itu jaringan dapat mengenali pola yang mirip

        dengan masukan ketika dilakukan pelatihan.

          

        Karena itu, kinerja jaringan pun ditentukan oleh

        banyaknya pasangan data set selama training. Kesimpulan

          Bila data training cukup banyak dan konsisten, akurasi jaringan akan tinggi, sebaliknya bila data training tidak memadai, akurasi jaringan rendah.

          Selain data training, akurasi jaringan juga ditentukan oleh pemilihan topologi yang tepat.

          Proses pembentukan jaringan sangat melelahkan, dilakukan secara terus menerus hingga diperoleh jaringan yang paling baik. Tetapi setelah jaringan yang optimal ditemukan, proses pengenalan pola dapat dilakukan secara cepat, lebih cepat Kesimpulan

        Metode MLP merupakan salah satu metode dari

        Jaringan Syaraf Tirual (JST) sangat cocok untuk

        menyelesaikan masalah yang tidak linear dan non

        deterministik.

          Contoh aplikasinya antara lain:

        • Untuk speech recognition