Tutorial kali ini kita akan menggunakan tensorflow untuk menyelesaikan 2 dimensional regresi linear menggunakan metode matrix inverse method. Regresi linear dapat direpresentasikan sebagai satu set persamaan matriks, misalnya Ax = b . Di sini kita tertarik untuk memecahkan koefisien dalam matriks x. Kita harus berhati-hati jika matriks observasi (matriks desain) A tidak persegi. Solusi untuk memecahkan x dapat dinyatakan sebagai berikut.
Untuk menunjukkan ini, kita akan generate data dua dimensi, menyelesaikannya di TensorFlow, dan memplot hasilnya. Silahkan Terlebih dahulu download filenya di my Github
Untuk menunjukkan ini, kita akan generate data dua dimensi, menyelesaikannya di TensorFlow, dan memplot hasilnya. Silahkan Terlebih dahulu download filenya di my Github
Pertama kita memuat library yang diperlukan, menginisialisasi grafik, dan membuat data. kita akan membuat data x_vals dengan nilai 1 sampai 10 dengan banyak 100. Kemudian kita membuat y_vals menggunakan penjumlahan x_vals dan membangkitkan angka random dari distribusi normal dengan miu = 0 , sigma = 1 dan banyak 100. seperti berikut:
Selanjutnya kita membuat matriks dari data x_vals untuk digunakan dalam metode invers, sebelum itu kita mentranspose dan memberi nama x_vals_column. Kemudian kita membuat matriks identitas kemudian kita transpose dan memberi nama ones_column. Kita membuat matriks A, dimana isinya yaitu x_vals_column dan ones_column. Kemudian kita buat matriks b dari y_vals dan mentransposenya. Gunakan kode berikut:
Kita kemudian mengubah matriks A dan b menjadi tensor, sebagai berikut:
tf.matmul digunakan untuk mengubah 2 array (tranpose dari A_tensor , A_tensor) menjadi 1 array (tA_A). Setelah itu kita lakukan matriks invers terhadap tA_A dengan memberi simbol tA_A_inv. Kemudian kita juga membuat product dan solution. Setelah kita mengatur matriks, kita dapat menggunakan TensorFlow untuk menyelesaikannya menggunakan metode invers matriks, sebagai berikut:
Kita sekarang ekstrak koefisien dari solution, slope dan y-intercept. Didapatkan nilai slope = 1.0388 dan y_intercept = 0.2481.
Model yang digunakan adalah y_intercept +slope * i. Kemudian kita tampilkan x_vals dan y_vals dengan label data. Selanjutnya membuat best fit line pada plot. Kemudian kita bisa lihat hasil pada plot dibahah ini.
Kita kemudian mengubah matriks A dan b menjadi tensor, sebagai berikut:
tf.matmul digunakan untuk mengubah 2 array (tranpose dari A_tensor , A_tensor) menjadi 1 array (tA_A). Setelah itu kita lakukan matriks invers terhadap tA_A dengan memberi simbol tA_A_inv. Kemudian kita juga membuat product dan solution. Setelah kita mengatur matriks, kita dapat menggunakan TensorFlow untuk menyelesaikannya menggunakan metode invers matriks, sebagai berikut:
Kita sekarang ekstrak koefisien dari solution, slope dan y-intercept. Didapatkan nilai slope = 1.0388 dan y_intercept = 0.2481.
Model yang digunakan adalah y_intercept +slope * i. Kemudian kita tampilkan x_vals dan y_vals dengan label data. Selanjutnya membuat best fit line pada plot. Kemudian kita bisa lihat hasil pada plot dibahah ini.
Regresi Menggunakan Matrix Inverse pada TensorFlow
Reviewed by Jimmy Pujoseno
on
March 30, 2018
Rating:
No comments: