Melatih Jaringan Syaraf Tiruan dengan Excel: Membangun dan Memvalidasi Perceptron Lapisan Ganda dengan Python
Dalam artikel ini, kami akan menunjukkan bagaimana menghasilkan data pelatihan di Excel, melatih perceptron lapisan ganda di Python, dan memvalidasi performanya.
Jika Anda ingin mengembangkan jaringan syaraf tiruan Python, Anda berada di tempat yang tepat. Sebelum menyelami persiapan data berbasis Excel, pertimbangkan untuk meninjau sisa seri di bawah ini untuk konteks dasar:
- Bagaimana Melakukan Klasifikasi Menggunakan Jaringan Syaraf Tiruan: Apa Itu Perceptron?
- Bagaimana Menggunakan Contoh Jaringan Syaraf Tiruan Perceptron Sederhana untuk Mengklasifikasikan Data
- Bagaimana Melatih Jaringan Syaraf Tiruan Perceptron Dasar
- Memahami Pelatihan Jaringan Syaraf Tiruan Sederhana
- Pengantar Teori Pelatihan untuk Jaringan Syaraf Tiruan
- Memahami Learning Rate dalam Jaringan Syaraf Tiruan
- Machine Learning Tingkat Lanjut dengan Perceptron Lapisan Ganda
- Fungsi Aktivasi Sigmoid: Aktivasi dalam Jaringan Syaraf Tiruan Perceptron Lapisan Ganda
- Bagaimana Melatih Jaringan Syaraf Tiruan Perceptron Lapisan Ganda
- Memahami Rumus Pelatihan dan Backpropagation untuk Perceptron Lapisan Ganda
- Arsitektur Jaringan Syaraf Tiruan untuk Implementasi Python
- Bagaimana Membuat Jaringan Syaraf Tiruan Perceptron Lapisan Ganda dalam Python
- Pemrosesan Sinyal Menggunakan Jaringan Syaraf Tiruan: Validasi dalam Desain Jaringan Syaraf Tiruan
- Dataset Pelatihan untuk Jaringan Syaraf Tiruan: Bagaimana Melatih dan Memvalidasi Jaringan Syaraf Tiruan Python
Apa Itu Data Pelatihan?
Dalam aplikasi dunia nyata, sampel pelatihan terdiri dari input yang diukur yang dipasangkan dengan target yang dikenal yang memungkinkan jaringan syaraf tiruan untuk mempelajari pemetaan input-output yang konsisten. Misalnya, misalkan Anda ingin jaringan untuk memprediksi kualitas makan tomat berdasarkan warna, bentuk, dan densitas. Dengan mengumpulkan ribuan tomat, mencatat atribut fisik mereka, mencicipi masing-masing, dan mengumpulkan hasilnya ke dalam tabel, Anda membuat dataset yang akan digunakan jaringan untuk mempelajari hubungan antara atribut dan kualitas.
Setiap baris mewakili satu sampel pelatihan dengan tiga kolom input (warna, bentuk, densitas) dan satu kolom output target tunggal.

Selama pelatihan, jaringan syaraf tiruan akan mengidentifikasi pola yang mendasarinya—jika ada—di antara tiga nilai input dan nilai output.
Mengukur Data Pelatihan
Semua input dan output harus numerik. String seperti "plum-shaped" atau "mouthwatering" tidak dapat langsung disalurkan ke jaringan. Kuantisasi mengubah deskriptor kualitatif menjadi skala numerik. Misalnya, bentuk dapat dienkode dari –1 (bola sempurna) hingga +1 (sangat lonjong). Kualitas makan dapat dinilai pada skala lima poin dan kemudian di-one-hot encode menjadi vektor output lima elemen.
Diagram berikut mengilustrasikan one-hot encoding untuk tugas klasifikasi lima kelas.

One-hot encoding selaras baik dengan aktivasi logistic-sigmoid, yang menghasilkan nilai mendekati 0 atau 1 di luar zona transisi sempit. Menggunakan satu node output dengan nilai target 0–4 akan membiasakan jaringan terhadap ekstrem dan menghasilkan prediksi yang tidak masuk akal.

Membuat Dataset Pelatihan
Jaringan syaraf tiruan Python yang direferensikan dalam Bagian 12 mengimpor sampel dari file Excel. Data yang digunakan di sini disusun sebagai berikut:

Karena implementasi Perceptron kami hanya mendukung satu node output, kami melakukan klasifikasi biner. Nilai input adalah angka acak antara –5 dan +5, yang dihasilkan dengan rumus Excel ini:
=RANDBETWEEN(-10, 10)/2
Output berasal dari aturan berikut:
=IF(AND(A2>0, B2>0, C2<0), 1, 0)
Jadi, jaringan mempelajari bahwa sampel diberi label 1 hanya ketika input_0 > 0, input_1 > 0, dan input_2 < 0; jika tidak, ia menerima 0.
Untuk masalah sederhana ini, 5.000 sampel yang dihasilkan secara acak dan satu epoch sudah cukup untuk mencapai akurasi klasifikasi yang tinggi.
Melatih Jaringan
Konfigurasikan jaringan dengan dimensi input tiga (I_dim = 3), empat node tersembunyi (H_dim = 4), dan learning rate 0,1 (LR = 0.1). Ganti baris training_data = pandas.read_excel(...) dengan jalur ke spreadsheet Anda. Jika Anda tidak memiliki Excel, Pandas juga dapat membaca file ODS.
Menjalankan skrip pelatihan pada laptop Windows 2,5 GHz dengan 5.000 sampel selesai dalam beberapa detik. Jika Anda menggunakan skrip lengkap MLP_v1.py, validasi akan secara otomatis dimulai setelah pelatihan.
Memvalidasi Jaringan
Validasi memerlukan spreadsheet kedua yang dihasilkan dengan rumus yang sama. Impor data ini dengan cara yang sama seperti data pelatihan:

Cuplikan berikut mendemonstrasikan rutin validasi sederhana:
# Feed-forward untuk mendapatkan nilai post-activation output = sigmoid(np.dot(W_out, hidden_output)) # Terapkan ambang untuk mendapatkan prediksi biner prediction = 1 if output > 0.5 else 0 # Bandingkan dengan target dan akumulasi prediksi yang benar
Akurasi klasifikasi dihitung dengan membagi jumlah prediksi yang benar dengan total jumlah sampel validasi.
Jika np.random.seed(1) dihilangkan, inisialisasi bobot akan bervariasi antara jalankan, menyebabkan akurasi fluktuasi. Sepanjang 15 jalankan dengan parameter yang ditentukan (5.000 sampel pelatihan, 1.000 sampel validasi), akurasi berkisar dari 88,5% hingga 98,1%, dengan rata-rata 94,4%.
Kesimpulan
Kami telah mengeksplorasi konsep kunci di balik data pelatihan jaringan syaraf tiruan, mengimplementasikan Perceptron Lapisan Ganda Python, dan mengevaluasi performanya menggunakan dataset yang dihasilkan dari Excel. Seri ini telah berkembang pesat sejak awalnya, dan masih banyak topik lanjutan yang menunggu dalam postingan mendatang.