Lensa ML

Perceptron

Langkah 1 dari 6: Satu Neuron

Komponen dasar neural network

0.50x₁×0.60.80x₂×0.4Σ0.620σ()0.650ŷ
x₁0.50
x₂0.80
Weighted sum
0.620
Sigmoid(Σ)
0.650
Prediksi
1 (ya)

Perceptron adalah neural network paling sederhana: satu neuron. Setiap input dikalikan dengan weight tetap (×0,6, ×0,4), hasilnya dijumlahkan menjadi 0,620, lalu dimampatkan oleh sigmoid menjadi 0,650. Output-nya ≥ 0.5, jadi neuron aktif dan memprediksi ya.

Geser slider x₁ dan x₂ antara −1 dan 1, lalu cari titik saat prediksinya berbalik. Dengan weight 0,6 dan 0,4, prediksi berbalik ketika 0.6x₁ + 0.4x₂ melewati 0, jadi x₁ = −0.5 dan x₂ = 0.7 menghasilkan jumlah −0,02 dan prediksi 0. Neuron ini memakai sigmoid, sehingga modelnya sama dengan logistic regression. Perceptron asli Rosenblatt memakai threshold keras. Mesin Mark I miliknya membaca gambar lewat kisi fotosel 20×20 dan menyimpan weight di potensiometer yang digerakkan motor.

Langkah 2 dari 6: Weight dan Bias

Cara neuron menghitung output-nya

0.85x₁×0.600.72x₂×-0.40+b=0.10Σ + b0.322σ()0.580ŷ
w₁+0.60
w₂-0.40
bias+0.10
Weighted sum
0.322
Bias
+0.10
Output σ(Σ)
0.580

Neuron menghitung w₁x₁ + w₂x₂ + b = 0.322, lalu menerapkan fungsi sigmoid. Bias menggeser hasil penjumlahan itu ke atas atau ke bawah. Tanpa bias, boundary harus melewati titik asal.

Gerakkan w₁, w₂, dan bias antara −2 dan 2 sementara input tetap di 0,85 dan 0,72. Weight negatif berarti sebuah feature dihitung sebagai bukti untuk 0. Bias bekerja seperti threshold yang dibalik tandanya: w·x ≥ θ sama saja dengan w·x + b ≥ 0 dengan b = −θ. Banyak implementasi memperlakukan bias sebagai satu weight tambahan yang terhubung ke input konstan bernilai 1, sehingga learning rule memperbaruinya persis seperti weight lain.

Langkah 3 dari 6: Step Function

Aktivasi dengan threshold

zσ(z)θ=0.500
Nilai inputz = -1.20
Thresholdθ = 0.50
σ(z)
0.231
Threshold
0.50
Output
0

σ(z) = 0.231 < threshold 0.50 → output bernilai 0. Sinyalnya belum cukup untuk mengaktifkan neuron.

Geser nilai input dan threshold θ, lalu lihat output melompat antara 0 dan 1. Memasang threshold θ pada σ(z) sama saja dengan memasang threshold ln(θ / (1 − θ)) pada z. Pada θ = 0.5 batasnya z = 0, dan pada θ = 0.9 batas itu naik ke z ≈ 2.20. Step function punya kemiringan nol di semua titik kecuali di lompatannya. Gradient descent tidak mendapat sinyal apa pun darinya, karena itu multi-layer network menggantinya dengan aktivasi halus seperti sigmoid.

Langkah 4 dari 6: Decision Boundary

Tempat neuron menjawab ya atau tidak

-3-3-2-2-1-1112233x₁x₂
w₁+1.00
w₂+0.80
bias+0.20
Persamaan
1.0x₁ + 0.8x₂ + 0.2 = 0
Benar
27/30

Decision boundary adalah garis tempat w₁x₁ + w₂x₂ + b = 0. Titik di satu sisi menghasilkan 1, sisi lainnya 0. Atur weight dan bias sampai setiap titik berada di sisinya sendiri.

Geser w₁, w₂, dan bias untuk mencocokkan garis dengan 30 titik AND. Nilai awalnya sudah benar pada 27 dari 30 titik. Boundary w₁x₁ + w₂x₂ + b = 0 punya kemiringan −w₁/w₂, dan weight vector (w₁, w₂) tegak lurus terhadapnya, mengarah ke sisi berlabel 1. Bias menentukan jarak garis dari titik asal, |b| / ‖w‖. Kalau ketiga angka itu dikalikan dengan faktor positif yang sama, garis dan semua prediksinya tidak berubah.

Langkah 5 dari 6: Learning Rule

Mengajari perceptron

-3-3-2-2-1-1112233x₁x₂
Learning rateα = 0.100
Epoch
0
Benar
28/30
Error
2

Perceptron learning rule: setiap kali ada kesalahan, perbarui weight dengan w += α · error · x. Perhatikan boundary berputar dan bergeser saat kesalahan diperbaiki.

Tekan Latih atau Satu Langkah, lalu ubah learning rate α antara 0,01 dan 0,50 dan latih lagi. Di sini weight mulai dari 0,1 dan 0,1, dengan bias 0. Pada α = 0.1, garis mengklasifikasikan ke-30 titik dengan benar setelah 3 epoch. Suku error bernilai +1 atau −1, sehingga setiap pembaruan menggeser garis ke arah titik yang salah klasifikasi. Novikoff membuktikan pada 1962 bahwa aturan ini berhenti setelah jumlah kesalahan yang terbatas pada data apa pun yang linearly separable. Aturan ini berhenti di garis pertama yang berhasil, bukan garis dengan margin terlebar.

Langkah 6 dari 6: Batas Kemampuan Perceptron

Kenapa satu neuron tidak cukup

-3-3-2-2-1-1112233x₁x₂
Dataset
AND
Akurasi
100%
Bisa dipisah?
Ya

AND bersifat linearly separable, jadi satu perceptron bisa mempelajarinya dengan sempurna. Satu garis lurus memisahkan titik hijau dan merah.

Beralih antara AND, OR, dan XOR. Setelah 100 epoch, perceptron benar sepenuhnya pada AND dan OR, tetapi tertahan di 50% pada XOR. Minsky dan Papert menganalisis batas ini dalam buku mereka tahun 1969, Perceptrons, dan hasilnya ikut mendinginkan riset neural network selama lebih dari satu dekade. Hidden layer mengatasinya: XOR sama dengan AND yang diterapkan pada OR dan NAND, dan ketiganya linearly separable. Multi-layer network baru praktis dilatih setelah backpropagation menyebar pada 1980-an.

Apa itu perceptron?

Perceptron adalah satu neuron buatan yang memasukkan input ke salah satu dari dua kelas. Setiap input dikalikan dengan weight, lalu ditambah bias. Output-nya 1 kalau totalnya melewati threshold, dan 0 kalau tidak. Secara geometris, perceptron membelah ruang input dengan garis lurus, atau bidang datar pada dimensi yang lebih tinggi.

Frank Rosenblatt memperkenalkan perceptron pada 1958, bersama learning rule yang menyesuaikan weight dari contoh berlabel. Perceptron adalah komponen dasar setiap neural network: setiap neuron pada model modern menghitung weighted sum yang sama, dengan aktivasi halus sebagai pengganti threshold keras. Keterbatasan utamanya, yaitu satu neuron hanya bisa menarik satu boundary lurus, menjadi alasan network punya hidden layer.

Ide utama

  • Perceptron menghitung weighted sum ditambah bias, lalu menghasilkan 1 kalau nilainya melewati threshold.
  • Decision boundary-nya berupa garis lurus di 2D, atau hyperplane pada dimensi yang lebih banyak.
  • Weight menentukan orientasi boundary, dan bias menggesernya dari titik asal.
  • Learning rule hanya mengubah weight ketika perceptron salah.
  • Pada data yang linearly separable, learning rule dijamin konvergen.
  • Satu perceptron tidak bisa mempelajari XOR. Untuk itu perlu minimal satu hidden layer.

Pertanyaan umum

Apa bedanya perceptron dan logistic regression?

Keduanya menghitung weighted sum dari input. Perceptron meneruskannya ke threshold keras dan hanya memperbarui weight saat salah. Logistic regression meneruskannya ke sigmoid, menghasilkan probabilitas, dan dilatih dengan meminimalkan cross-entropy loss, sehingga weight tetap disesuaikan walaupun titiknya sudah terklasifikasi dengan benar.

Apa yang terjadi kalau datanya tidak linearly separable?

Learning rule perceptron tidak pernah berhenti. Garisnya terus bergerak karena selalu ada titik yang salah klasifikasi. Varian seperti pocket algorithm menyimpan weight terbaik yang pernah ditemukan, dan averaged perceptron memakai rata-rata semua weight selama training.

Apa itu multi-layer perceptron?

Multi-layer perceptron (MLP) adalah feedforward neural network dengan satu atau lebih hidden layer di antara input dan output. Walaupun namanya begitu, neuron-nya biasanya memakai aktivasi halus seperti ReLU atau sigmoid, bukan step function milik perceptron, supaya network bisa dilatih dengan backpropagation.

Apakah perceptron masih dipakai sekarang?

Jarang dipakai sendirian, karena logistic regression dan support vector machine menghasilkan boundary yang lebih baik untuk model linear yang sama. Weighted sum-nya tetap menjadi hitungan inti di setiap neuron pada neural network modern, dan averaged perceptron masih menjadi baseline cepat untuk sebagian tugas klasifikasi teks.

Penjelasan terkait

Referensi

  1. Rosenblatt (1958), "The perceptron: A probabilistic model for information storage and organization in the brain", Psychological Review
  2. Nielsen, "Neural Networks and Deep Learning", chapter 1
  3. Goodfellow, Bengio & Courville (2016), "Deep Learning", section 6.1: Example: Learning XOR

Terakhir diperbarui