Lensa ML

Bias dan Decision Boundary

Langkah 1 dari 6: Apa Itu Bias?

Pergeseran pada output neuron

0.5σ(0+b) = 0.500x
σ(x + b)σ(x), tanpa bias
Biasb = 0.0
Bias
0.0
σ(0+b)
0.500
Pergeseran
tidak ada

Bias menggeser kurva sigmoid secara horizontal. Pada b = 0, sigmoid melewati 0,5 tepat di x = 0. Geser slider untuk memindahkan titik potong itu.

Geser slider bias antara −5 dan 5, lalu bandingkan kurva yang bergeser dengan kurva putus-putus. Neuron σ(wx + b) melewati 0,5 ketika wx + b = 0, yaitu di x = −b/w. Di sini w = 1, jadi titik potongnya ada di x = −b. Pada b = 5, neuron menghasilkan 0,993 dengan input nol, jadi bias juga menentukan output bawaan neuron saat semua input-nya nol. Bias biasanya dimulai dari nol, dan sebagian network ReLU memulainya sedikit positif supaya semua neuron aktif di awal.

Langkah 2 dari 6: Tanpa Bias

Boundary harus melewati titik asal

-3-2-1123x₁x₂titik asal (0,0)
Putar boundary45°
Akurasi
73%
Sudut
45°
Batasan
Lewat (0,0)

Tanpa bias, boundary harus melewati titik asal. Kamu hanya bisa memutarnya, tidak bisa menggesernya. Kedua kelompok titik tidak berada di tengah, jadi tidak ada sudut yang membuat semua titik benar. Pada sudut ini, 11 titik berada di sisi yang salah, dan garisnya tidak bisa bergeser untuk memperbaikinya.

Geser Putar boundary dari 0° ke 180°. Normal garis ini adalah (cos θ, sin θ), dan garisnya selalu melewati titik asal. Dataset ini terdiri dari dua kelompok yang berpusat di (−0.5, 0.5) dan (2.5, 1.5), di satu sisi titik asal. Sudut terbaik, sekitar 0°, mencapai 85%, dan 45° mencapai 73%. Garis vertikal di x₁ = 1 akan membuat semua titik benar, tetapi untuk sampai ke sana garisnya harus digeser, dan hanya bias yang bisa melakukannya. Memusatkan data input, dengan mengurangi tiap feature dengan rata-ratanya, adalah salah satu alasan bias yang hilang atau salah atur tidak terlalu merugikan dalam praktik.

Langkah 3 dari 6: Dengan Bias

Menggeser boundary dengan bebas

-3-2-1123x₁x₂
w₁+1.00
w₂+0.50
bias0.00
Dengan bias
80%
Tanpa bias
80%
Peningkatan
+0

Dengan bias, boundary bisa bergeser bebas. Garis putus-putus menunjukkan posisi boundary tanpa bias. Atur bias untuk menggeser boundary dan meningkatkan akurasi.

Atur w₁, w₂, dan bias, lalu bandingkan boundary utuh dengan garis putus-putus yang melewati titik asal. Pada weight awal (1, 0.5), kedua garis mencapai 80%. Menggeser bias ke sekitar −1,2 menaikkannya menjadi 39 dari 40. Saat training, bias punya gradient sendiri, dan karena ∂z/∂b = 1, gradient itu sama dengan sinyal error neuron. Bias hanya sebagian kecil dari parameter network, dan weight decay sering dimatikan untuknya karena mengecilkan bias tidak membuat model lebih sederhana.

Langkah 4 dari 6: Bias di 2D

Dua input, satu boundary

-3-2-1123x₁x₂1.2x₁ + 0.8x₂ − 1.5 = 0
w₁+1.2
w₂+0.8
bias-1.5
Akurasi
95%
Benar
38/40
Salah klasifikasi
2

Di 2D, boundary adalah garis w₁x₁ + w₂x₂ + b = 0. Weight mengatur sudut garis, dan bias mengatur posisinya. Area hijau dan merah menunjukkan tempat neuron menghasilkan 1 atau 0.

Atur w₁, w₂, dan bias antara −3 dan 3, lalu lihat area berarsir mengikuti garis. Nilai awalnya mengklasifikasikan 38 dari 40 titik dengan benar. Untuk titik x mana pun, nilai (w·x + b) / ‖w‖ adalah jarak bertanda dari boundary: positif di sisi hijau, negatif di sisi merah. Jumlah mentah neuron adalah jarak itu dikali ‖w‖, jadi weight yang lebih besar membuat output berubah lebih cepat di dekat garis. Dengan tiga input, boundary menjadi bidang, dan dengan d input, boundary menjadi hyperplane berdimensi (d − 1).

Langkah 5 dari 6: Banyak Neuron

Menggabungkan boundary

-3-2-1123x₁x₂
Hidden neuron:123
Hidden neuron3
Neuron
3
Boundary
3
Akurasi
98%

Titik hijau berada di dalam cincin titik merah, jadi tidak ada satu garis pun yang bisa memisahkannya. Dengan 3 neuron, network membuat 3 decision boundary, dan 1 dari 48 titik masih berada di sisi yang salah. Tambahkan neuron untuk merapatkan pagarnya. Area berarsir menunjukkan output gabungan: output neuron menggabungkan semua hidden neuron menjadi satu area keputusan non-linear.

Ubah Hidden neuron dari 2 ke 5 dan aktifkan Tampilkan Area Gabungan. Di sini kelas hijau berada di dalam cincin titik merah, dan tidak ada satu garis pun yang bisa memisahkannya. Setiap hidden neuron aktif di sisi dalam satu garis, dan output neuron hanya aktif kalau semuanya aktif, sehingga garis-garis itu memagari sebuah poligon. Akurasinya 92%, 98%, lalu 100% pada empat dan lima neuron. Garis-garis ini menghadap arah yang berjarak sama, dan hanya jarak bersamanya dari pusat yang disesuaikan. Training akan menempatkan setiap garis dengan bebas. Pada network ReLU, boundary di hidden layer memotong ruang input menjadi banyak daerah cembung, dan network menghitung fungsi linear yang berbeda di tiap daerah.

Langkah 6 dari 6: Solusi XOR

Dua boundary, satu jawaban

-3-2-1123x₁x₂Satu boundary tidak bisa menyelesaikan XOR
Layer
1
Akurasi
55%
Bisa diselesaikan?
Tidak

XOR tidak linearly separable: tidak ada satu garis lurus yang memisahkan titik hijau dari titik merah, jadi perceptron satu layer gagal. Titik bercincin kuning adalah titik yang salah klasifikasi.

Beralih antara 1 Layer (Perceptron) dan 2 Layer (MLP). Satu garis x₁ + x₂ = 0 mencapai 55% dari 40 titik. Network ini memakai weight yang diatur manual dengan gain 10: h₁ = σ(10x₁) dan h₂ = σ(10x₂), lalu AND = σ(10(h₁ + h₂ − 1.5)) dan OR = σ(10(h₁ + h₂ − 0.5)). AND dan OR memakai weight yang sama. Hanya bias-nya yang berbeda, dan ini menunjukkan seberapa banyak kerja yang dilakukan bias. Output-nya menghitung OR tetapi bukan AND. Satu hidden layer berisi dua neuron juga sudah cukup untuk XOR.

Apa itu bias term pada neural network?

Bias adalah angka hasil training yang dijumlahkan ke weighted sum sebuah neuron sebelum masuk ke activation function, sehingga neuron menghitung σ(w·x + b). Weight menentukan arah yang direspons neuron, dan bias menentukan di titik mana sepanjang arah itu neuron mulai aktif. Secara geometris, bias memindahkan decision boundary neuron menjauhi titik asal.

Hampir setiap dense layer dan convolutional layer punya satu bias per neuron, jadi layer dengan n input dan m neuron menyimpan n×m weight dan m bias. Tanpa bias, setiap boundary di layer pertama harus melewati titik asal, dan itu gagal begitu kelas-kelasnya tidak berada di tengah. Penjelasan ini dimulai dari satu neuron dan berakhir di network kecil yang boundary-nya bergabung untuk menyelesaikan XOR.

Ide utama

  • Neuron menghitung σ(w·x + b), dan bias b dipelajari seperti weight.
  • Weight menentukan orientasi decision boundary, dan bias menentukan pergeserannya.
  • Tanpa bias, setiap boundary harus melewati titik asal.
  • Setiap neuron menarik satu boundary linear, lalu layer berikutnya menggabungkannya menjadi area melengkung.
  • XOR butuh minimal dua boundary, jadi butuh minimal satu hidden layer.
  • Bias hanya menambah sedikit parameter, tetapi membuat setiap neuron bisa menempatkan boundary-nya di mana saja.

Pertanyaan umum

Apakah semua layer neural network punya bias?

Tidak. Layer yang diikuti batch normalization biasanya tidak memakai bias, karena batch norm mengurangi rata-rata lalu menambahkan pergeseran hasil training-nya sendiri. Sebagian model bahasa besar, seperti PaLM, menghapus bias dari dense layer sepenuhnya dan melaporkan training yang lebih stabil.

Apakah bias term berkaitan dengan bias pada bias-variance tradeoff?

Tidak, kesamaan katanya hanya kebetulan. Bias term adalah parameter di dalam neuron. Bias pada bias-variance tradeoff adalah kesalahan sistematis model, yang disebabkan oleh asumsi yang terlalu sederhana untuk data.

Bisakah decision boundary melengkung?

Boundary satu neuron selalu datar: garis, bidang, atau hyperplane. Boundary melengkung berasal dari gabungan banyak neuron di hidden layer, dari penambahan feature non-linear seperti x₁² sebelum model linear, atau dari kernel method seperti RBF support vector machine.

Bagaimana cara memplot decision boundary model yang sudah dilatih?

Jalankan model pada kisi rapat yang mencakup ruang input, lalu warnai tiap titik menurut kelas prediksinya, seperti area berarsir di sini. Boundary berada di tempat warnanya berubah. Cara ini hanya langsung berlaku untuk dua feature input. Kalau lebih banyak, plot biasanya menetapkan nilai feature lainnya atau memproyeksikan data ke 2D dulu.

Penjelasan terkait

Referensi

  1. Goodfellow, Bengio & Courville (2016), "Deep Learning", chapter 6: Deep Feedforward Networks (6.1: Learning XOR)
  2. Nielsen, "Neural Networks and Deep Learning", chapter 1
  3. Ioffe & Szegedy (2015), "Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift"
  4. Chowdhery et al. (2022), "PaLM: Scaling Language Modeling with Pathways"

Terakhir diperbarui