### 11.2 Single Perceptron

Bentuk terkecil (minimal) sebuah ANN adalah _single perceptron_ yang hanya
terdiri dari sebuah neuron. Sebuah neuron diilustrasikan pada Gambar 11.2.

(^1) Quora: why is Geoffrey Hinton suspicious of backpropagation and
wants AI to start over


```
11.2 Single Perceptron 145
```
Secara matematis, terdapat _feature vector_ xyang menjadi _input_ bagi neuron
tersebut. Ingat kembali, _feature vector_ merepresentasikan suatu _data point_,
_event_ atau _instance_. Neuron akan memproses _input x_ melalui perhitungan
jumlah perkalian antara nilai _input_ dan _synapse weight_, yang dilewatkan
padafungsi non-linear[51, 52, 4]. Pada _training_, yang dioptimasi adalah
nilai _synapse weight_ ( _learning parameter_ ). Selain itu, terdapat juga biasbsebagai
kontrol tambahan (ingat materi _steepest gradient descent_ ). _Output_ dari
neuron adalah hasil fungsi aktivasi dari perhitungan jumlah perkalian antara
nilai _input_ dan _synapse weight_. Ada beberapa macam fungsi aktivasi, misal
_step function_, _sign function_, _rectifier_ dan _sigmoid function_. Untuk selanjutnya,
pada bab ini, fungsi aktivasi yang dimaksud adalah jenissigmoid
_function_. Silahkan eksplorasi sendiri untuk fungsi aktivasi lainnya. Salah satu
bentuk tipe _sigmoid function_ diberikan pada persamaan 11.1. Bila di- _plot_
menjadi grafik, fungsi ini memberikan bentuk seperti huruf “S”.

```
Gambar 11.2:Single Perceptron.
```
```
σ(u) =
```
#### 1

```
1 +e−u
```
#### (11.1)

Perhatikan kembali, Gambar 11.2 sesungguhnya adalah operasi aljabar
linear. Single perceptron dapat dituliskan kembali sebagai 11.2.

```
o=f(x·w+b) (11.2)
```
dimanaoadalah _output_ danfadalah fungsinon-linear yang dapat diturunkan
secara matematis( _differentiable non-linear function_ –selanjutnya
disebut “fungsi non-linear” saja.). Bentuk ini tidak lain dan tidak bukan
adalah persamaan model linear yang ditransformasi dengan fungsi non-linear.


146 11 Feed _forward_ Neural Network

Secara filosofis, ANN bekerja mirip dengan model linear, yaitu mencaridecision
boudary. Apabila beberapa model non-linear ini digabungkan, maka
kemampuannya akan menjadi lebih hebat (subbab berikutnya). Yang menjadikan
ANN “spesial” adalah penggunaan fungsi non-linear.
Untuk melakukan pembelajaran _single perceptron_, _training_ dilakukan menggunakan _perceptron_
_training_  rule. Prosesnya sebagai berikut [4, 51, 52]:

1. Inisiasi nilai _synapse weights_, bisa _random_ ataupun dengan aturan ter-
    tentu. Untuk heuristik aturan inisiasi, ada baiknya membaca buku refer-
    ensi [1, 11].
2. Lewatkan input pada neuron, kemudian kita akan mendapatkan nilaiout-
    put. Kegiatan ini disebut _feedforward_.
3. Nilai _output_ ( _actual output_ ) tersebut dibandingkan dengan _desired output_.
4. Apabila nilai _output_ sesuai dengan _desired output_, tidak perlu mengubah
    apa-apa.
5. Apabila nilai _output_ tidak sesuai dengan _desired output_, hitung nilai _error_
    ( _loss_ ) kemudian lakukan perubahan terhadap _learning parameter_ (synapse
    weight).
6. Ulangi langkah-langkah ini sampai tidak ada perubahan nilai _error_, nilai
    errorkurang dari sama dengan suatu _threshold_ ( _bias_ anya mendekati 0),
    atau sudah mengulangi proses latihan sebanyakTkali ( _threshold_ ).
Salah satu cara melatih _neural network_ adalah dengan mengoptimalkan
_error function_, diberikan pada persamaan 11.3^2 (dapat diganti denganabsolute
value). Perubahan nilai _synapse weight_ saat proses latihan (apabila
E 6 = 0 diberikan pada persamaan 11.4, dimanaymelambangkan _desired output_,^3
o=f(x·w+b) melambangkan _actual output_ untukxsebagai input,η
adalah _learning rate_.

```
E(w) = (y−o)^2 (11.3)
```
∆wi=η(y−o)xi (11.4)
Hasil akhir pembelajaran adalah konfigurasi _synapse weight_ yang mengoptimalkan
nilai _error_. Saat klasifikasi, kita melewatkan _input_ baru pada
jaringan yang telah dibangun, kemudian tinggal mengambil hasilnya. Pada
contoh kali ini, seolah-olah _single perceptron_ hanya dapat digunakan untuk
melakukan _binary classification_ (hanya ada dua kelas, nilai 0 dan 1). Untuk _multi-class_
_classification_, kita dapat menerapkan berbagai st _rate_ gi, misal
_thresholding_, i.e., nilai _output_ 0 − 0 .2 mengacu pada kelas pertama, 0. 2 − 0. 4
untuk kelas kedua, dst.

(^2) Pada umumnya, kita tidak menggunakan satu data, tetapi _batch_ -sized.
(^3) Pada contoh ini, kebetulan banyaknya _output_ neuron hanyalah satu.


```
11.3 Permasalahan XOR 147
```
