Advertisement

Machine Learning : Regresi Linear Satu variabel (Bagian -2 )

0 1.461

Untuk permasalahan regresi linear satu variabel. hypothesis diformulasikan sebagai berikut

h(x)=θ0+ θ1x

θ0 dan θ1 disebut parameter (atau sering disebut bobot) yang merupakan nilai prediktif  untuk membuat fungsi linier hypothesis

Matriks

Secara praktek, dalam perhitungan akan lebih efektif menggunakan matriks untuk mengkalkulasi dataset secara bersamaan. Oleh karena itu formula hypothesis ditulis dengan perkalian vektor antara matriks X dan vektor theta. Dimana matriks X berisi dataset alias sampel pelatihan sedangkan theta adalah vektor yang berisi nilai bobot θ1, dan θ0. hypothesis kemudian bisa diformulasikan dalam bentuk matriks  sebagai berikut

h=X*theta
 <p>h= X times begin{bmatrix}theta_0\ theta_1end{bmatrix}</p>

GNU Octave

Untuk lebih memahami, maka langsung saja kita ke contoh, jalankan aplikasi GNU octave  atau Matlab, jika komputer anda belum diinstal salah satu dari dua aplikasi tersebut, silahkan install terlebih dahulu sebagaimana pernah saya bahas di tulisan saya sebelumnya.

Misalkan kita dihadapkan pada sebuah dataset terkait luas tanah dengan harga hunian, sebagaimana contoh sebelumnya, saya memiliki sampel dataset yang bisa anda download di link berikut.

Setelah selesei di-download, akses file tersebut menggunakan aplikasi GNU octave, saya mengasumsikan anda telah menguasai perintah – perintah dasar pada GNU Octave,  jika ternyata anda belum menguasai saya sarankan membaca dokumentasinya terlebih dahulu

Untuk menload data exdata1.txt, gunakan perintah berikut

data = load(‘ex1data1.txt’);

Kini data yang berada di ex1data1.txt telah disalin pada variabel data perhatikan pada workspace variabel terdapat matriks data dengan ukuraan 97 x 2. Kini, kita akan memisahkan matriks data menjadi dua matriks X dan y

X = data(:, 1); y = data(:, 2);

Perintah tersebut menciptakan matriks berukuran 97 x 1 bernama X yang berisi kolom 1 dari matriks data, dan y yang berisi semua nilai kolom 2 pada matriks data. Untuk mendapatkan jumlah dataset yang dinotasikan m, gunakan instruksi

m = length(y);

Untuk memplot matriks X dan y, gunakan perintah berikut

figure;
plot(x, y, ‘rx’, ‘MarkerSize’, 10);
ylabel(‘Harga hunian’);
xlabel(‘luas tanah’);

Jika berhasil, maka anda akan mendapat tampilan sebagai berikut

figure

Oke, sejauh ini kita telah berhasil  melihat sebaran data dari nilai Y (harga tanah) terhadap X. Tahap selanjutnya, kita akan menggunakan GNU Octave untuk membuat sebuah algoritma pembelajaran untuk mendapatkan nilai hypothesis yang telah diformulasikan sebagai berikut

h=X*theta

Untuk mendapatkan hypothesis h. diperlukan nilai X dan theta. matriks X sebagai representasi dari feature perlu ditambahkan nilai bias dengan menyisipkan kolom pertama dengan matriks satu

X = [ones(m, 1), data(:,1)];

Sehingga matriks X menjadi

X=begin{bmatrix}1 &x_0 \ 1 &x_1 \.. &.. end{bmatrix}

matriks theta belum diketahui nilainya, sehingga untuk inisialisasi awal diset dengan matriks nol.

theta = zeros(2, 1);

Lalu bagaimana menemukan nilai bobot theta yang tepat sehingga bisa didapatkan hypothesis yang paling mendekati fungsi target?

Dalam tulisan selanjutnya saya akan memperkenalkan apa yang disebut dengan Cost Function dan algoritma  Gradient Descent yang merupakan tool dan algoritma pembelajaran yang kita gunakan untuk menemukan hypothesis untuk menyeleseikan persoala Regresi Linear Satu variabel.

Untuk sementara, berikut m-file dari tutorial saya kali ini

Bersambung

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogger menyukai ini: