Friday, May 31, 2019

Keras untuk permasalahan regresi

Pada posting sebelumnya telah didemokan penggunaan Keras sebagai solusi permasalahan klasifikasi. Pada banyak kasus nyata, permasalahan yang dihadapi adalah regresi bukan klasifikasi. Misal, pada prediksi cuaca, prediksi jumlah pengunjung, prediksi temperature, dll, dimana output dari model adalah nilai numerik, bukan kategori diskrit. Deep learning didesain untuk dapat menangani baik permasalahan klasifikasi maupun regresi (juga clustering). Pada posting ini akan didemokan bagaimana Deep Learning bisa menyelesaikan permasalah regresi sederhana.


Problem

Permasalahan yang kita angkat sebagai contoh adalah fungsi matematik sederhana berikut,

$$ f(x) = 2x + 3 $$

Dimana $x$ merupakan input dan $f(x)$ merupakan nilai output. Misal, kita ingin membuat model yang bisa memberikan prediksi nilai $f(x)$ diberikan nilai input $x$ dimana sebelumnya model kita latih dengan range nilai $x$ yang diberikan. Model deep learning ini akan kita implementasikan dengan Keras.

Implementasi
Implementasi deep learning ini akan mengikuti pola yang saya tulis disini: https://bagustris.blogspot.com/2019/04/implementasi-deep-learning-dengan-keras.html

Input-Output data

Input-output data, sesuai persamaan di atas, didefinisikan dalam python numpy sebagai berikut.
import numpy as np
x_train = np.arange(0, 10.01, 0.01)
y_train = 2*x_train + 3             #**2 + 3


Model

Untuk membuat model, kita buat fungsi `build_model`. Model yang kita bangun terdiri dari tiga layer: 2 dense (fully connected) layer dan satu output layer. Input layer akan masuk pada dense layer pertama. Model tersebut bisa kita gambarkan sebagai berikut.

Berikut fungsi `build_model` untuk membangun model seperti gambar di atas.
Related Posts Plugin for WordPress, Blogger...