Deep Learning : Multilayer Perceptron
Fungsi linear diatas adalah fungsi yang sangat simple sehingga dengan menggunakan 2 layer (Input dan Output) saja kita sudah bisa menyelesaikan permasalahan tersebut. Lalu bagaimana dengan fungsi non-linear? Tentu saja kita tidak bisa menggunakan arsitektur 2 layer tersebut.
Sehingga untuk non-linear regression kita membutuhkan setidaknya 3 layer neural network atau yang biasa disebut Multilayer Perceptron (MLP) atau Fully-Connected Layer dengan menggunakan non-linear activation function pada seluruh neuron di hidden layer.
Code
Kita akan mencoba melakukan forward pass pada MLP masih dengan Numpy saja. Untuk contoh kasusnya adalah kita akan melakukan regresi untuk data yang sebenarnya adalah sebuah fungsi non-linear sebagai berikut:
Sedangkan arsitektur neural networknya terdiri dari :
- 1 node pada input layer
- 8 node pada hidden layer pertama (ReLU)
- 1 node pada output layer (Linear)
Neural network diatas sudah saya train dan nanti kita akan melakukan forward pass terhadap weight dan bias yang sudah didapat pada saat training.
Forward Propagation
Method forwardPass yang kita pakai di part sebelumnya akan dimodifikasi sedikit dengan menambahkan argument baru untuk memilih activation function.
Complete Code
Pada percobaan non-linear regression kali ini kita akan melakukan perdiksi nilai dari -2, 0 dan 2. Output yang dihasilkan seharusnya adalah 3, 1, 3 dan hasil prediksi adalah 2.96598907, 0.98707188 dan 3.00669343. Masih ada sedikit error tapi paling tidak hasil diatas menunjukkan bahwa MLP dapat melakukan regresi terhadap fungsi non-linear dengan cukup baik.
Komentar
Posting Komentar