C9 · Modul 01
Dari regresi logistik ke jaringan saraf
55 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Satu neuron sigmoid adalah regresi logistik; satu lapisan adalah satu perkalian matriks
X @ W + buntuk semua contoh sekaligus. - XOR tidak terpisah linear: perceptron dan regresi logistik gagal, satu lapisan tersembunyi dengan aktivasi nonlinear berhasil.
- Tanpa aktivasi nonlinear, tumpukan lapisan linear runtuh menjadi satu lapisan linear.
- Gradien MLP diturunkan dari gradien regresi logistik dan selalu diperiksa dengan selisih hingga; bobot awal acak berbenih memecah simetri.
- Pada data tabular kecil, baseline linear atau gradient boosting sering sama baiknya: pilih jaringan saraf karena angka, bukan karena tren.
Sebelum mulai
±6 jam (2 jam konsep, 3 jam latihan dan lab, 1 jam review); pendalaman opsional dan Latihan 1.8 di luar hitungan itu.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar:
- Menjelaskan neuron buatan sebagai regresi logistik (skor linear lalu aktivasi) dan menulis aturan belajar perceptron Rosenblatt sesuai kontrak (
perceptron_latih). - Membuktikan dengan aljabar bahwa XOR tidak terpisah linear, lalu menunjukkan dengan kode bahwa perceptron gagal sedangkan MLP dua lapis berhasil.
- Menulis
mlp2_maju(tanh lalu sigmoid) yang stabil numerik dan memeriksa bentuk, menghitung jumlah parameter, dan menjelaskan mengapa tumpukan lapisan tanpa aktivasi nonlinear runtuh menjadi satu lapisan linear. - Menurunkan gradien MLP dua lapis dari gradien regresi logistik, memeriksanya dengan selisih hingga, dan melatih MLP kecil untuk XOR dan spiral; menjelaskan peran inisialisasi acak (memecah simetri).
- Memutuskan kapan jaringan saraf layak dibanding regresi logistik atau gradient boosting pada data tabular, dengan angka dari data digit.
Hasil lab: nalar.py berisi perceptron_latih dan mlp2_maju sesuai kontrak proyek-nalar.md; skrip eksperimen XOR dan spiral dengan benih tetap; (opsional) padanan torch.nn.Sequential di Colab. Contoh diuji dengan Python 3.12 dan 3.13, NumPy 2.4.6, dan scikit-learn 1.8.0 (hanya sebagai pembanding). Pemisahan digit baku dari kontrak: piksel dibagi 16, uji = baris dengan indeks i % 3 == 0.
Istilah di modul ini (30)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 27 contoh kode
- 8 berkas latihan + tes
- 1 berkas data
- requirements.txt
Lihat isi zip
- BACA-DULU.txt
- contoh_c9_01_31.py
- contoh_c9_01_58.py
- contoh_c9_01_89.py
- contoh_c9_01_170.py
- contoh_c9_01_247.py
- contoh_c9_01_274.py
- contoh_c9_01_316.py
- contoh_c9_01_438.py
- contoh_c9_01_471.py
- contoh_c9_01_640.py
- contoh_c9_01_709.py
- contoh_c9_01_786.py
- contoh_c9_01_917.py
- contoh_c9_01_948.py
- contoh_c9_01_971.py
- contoh_c9_01_998.py
- contoh_c9_01_1034.py
- contoh_c9_01_1172.py
- contoh_c9_01_1196.py
- contoh_c9_01_1449.py
- contoh_c9_01_1477.py
- contoh_c9_01_1555.py
- contoh_c9_01_1809.py
- contoh_c9_01_2038.py
- contoh_c9_01_2113.py
- contoh_c9_01_2167.py
- contoh_c9_01_2309.py
- test_c9_01_3.py
- test_c9_01_1.py
- test_c9_01_2.py
- test_c9_01_4.py
- test_c9_01_5.py
- test_c9_01_6.py
- test_c9_01_7.py
- test_c9_01_8.py
- digit8.csv
- requirements.txt