Command Palette

Search for a command to run...

Metode Linear AI

Linear Model

Memahami Model Linear

Bayangkan kita sedang mencoba memahami hubungan antara beberapa hal dalam dunia nyata. Model linear adalah cara yang sangat elegan untuk menggambarkan hubungan tersebut dalam bentuk matematika.

Bentuk dasarnya sangat sederhana:

y=h(t)xy = h(t) \cdot x

Mengapa disebut "linear"? Karena jika kita lihat hubungan antara yy dan xx, hubungannya berbentuk garis lurus. Di sini h(t)h(t) berperan sebagai "penghubung" yang ukurannya Rd×n\mathbb{R}^{d \times n}.

Mari kita kenali ketiga pemain utama dalam model ini:

  • yRdy \in \mathbb{R}^d adalah hasil yang kita amati (respons model)
  • xRnx \in \mathbb{R}^n adalah nilai yang ingin kita cari (parameter model)
  • tRkt \in \mathbb{R}^k adalah masukan yang kita berikan (variabel independen)

Yang menarik adalah meskipun kita sebut "linear", hubungan dengan masukan tt sebenarnya boleh rumit atau melengkung. Yang linear hanya hubungannya dengan parameter xx.

Dari Data ke Model

Sekarang, bagaimana kita menggunakan model ini dalam kehidupan nyata? Prosesnya sebenarnya seperti bermain detektif dengan data.

Pertama, kita melakukan rangkaian eksperimen atau pengukuran:

  1. Kita memilih berbagai nilai untuk tt
  2. Untuk setiap nilai tersebut, kita mengukur dan mendapatkan yy
  3. Tujuan kita adalah mencari xx yang bisa menjelaskan semua data ini

Misalkan kita melakukan MM kali pengukuran. Untuk setiap pengukuran ke-ii, kita punya:

yih(ti)x,i=1,,My_i \approx h(t_i) \cdot x, \quad i = 1, \ldots, M

Kenapa menggunakan tanda "kurang lebih" dan bukan "sama dengan"? Karena dalam dunia nyata, tidak ada pengukuran yang sempurna. Selalu ada derau, kesalahan alat, atau faktor acak lainnya yang mempengaruhi hasil.

Kalau kita hitung total semua data yang kita kumpulkan, jumlahnya m=Mdm = M \cdot d. Biasanya angka ini jauh lebih besar dari jumlah parameter yang ingin kita cari (nn), jadi mnm \gg n.

Tantangan kita sekarang adalah bagaimana mencari nilai xx yang terbaik, sehingga persamaan yi=h(ti)xy_i = h(t_i) \cdot x terpenuhi seakurat mungkin.

Ketika kita menyusun semua data ini, terbentuklah sistem persamaan yang terlihat seperti ini:

b=(y1yM)=(h(t1)h(tM))(x1xn)=A(t)xb = \begin{pmatrix} y_1 \\ \vdots \\ y_M \end{pmatrix} = \begin{pmatrix} h(t_1) \\ \vdots \\ h(t_M) \end{pmatrix} \cdot \begin{pmatrix} x_1 \\ \vdots \\ x_n \end{pmatrix} = A(t) \cdot x

Ini menghasilkan sebuah sistem dengan matriks A(t)A(t) berukuran m×nm \times n dan vektor bb berukuran mm.

Berbagai Bentuk Model Linear

Model linear ternyata sangat fleksibel dan bisa mengambil berbagai bentuk. Mari kita lihat beberapa contoh yang paling sering muncul:

Garis Lurus Sederhana

Bentuk paling dasar adalah garis lurus:

y=a+bt=(1t)(ab)=h(t)xy = a + b \cdot t = (1 \quad t) \cdot \begin{pmatrix} a \\ b \end{pmatrix} = h(t) \cdot x

Di sini kita mencari dua parameter: aa (titik potong) dan bb (kemiringan). Model ini cocok ketika data membentuk pola garis lurus atau hampir lurus.

Kurva Polinomial

Jika data membentuk kurva melengkung, kita bisa menggunakan polinomial:

y=a0+a1t++antn=(1ttn)(a0a1an)=h(t)xy = a_0 + a_1 \cdot t + \ldots + a_n \cdot t^n = (1 \quad t \quad \ldots \quad t^n) \cdot \begin{pmatrix} a_0 \\ a_1 \\ \vdots \\ a_n \end{pmatrix} = h(t) \cdot x

Meskipun tnt^n terlihat nonlinear, ingat bahwa yang kita maksud "linear" adalah hubungannya dengan parameter a0,a1,,ana_0, a_1, \ldots, a_n.

Pola Berulang dengan Trigonometri

Untuk data yang memiliki pola berulang atau siklik, kita bisa menggunakan fungsi sinus dan cosinus:

y=a0+k=1nakcos(kt)+k=1nbksin(kt)y = a_0 + \sum_{k=1}^{n} a_k \cos(k \cdot t) + \sum_{k=1}^{n} b_k \sin(k \cdot t)

Model ini sangat berguna untuk menganalisis data yang memiliki pola musiman atau periodik.

Masukan Berganda

Jika keluaran bergantung pada beberapa masukan sekaligus, kita bisa menggabungkannya. Contohnya dengan dua masukan tt dan ss:

y=a+bt+cs+dts=(1tsts)(abcd)=h(t,s)xy = a + b \cdot t + c \cdot s + d \cdot t \cdot s = (1 \quad t \quad s \quad t \cdot s) \cdot \begin{pmatrix} a \\ b \\ c \\ d \end{pmatrix} = h(t,s) \cdot x

Suku tst \cdot s menangkap interaksi antara kedua masukan.

Keluaran Berganda

Terkadang kita ingin memprediksi beberapa hal sekaligus dari masukan yang sama:

y=a+bty = a + b \cdot t
z=c+dtz = c + d \cdot t

Ini seperti memiliki dua model linear yang berjalan bersamaan.

Contoh Nyata dari Fisika

Persamaan gas umum dalam fisika adalah:

p=nRTVp = n \cdot R \cdot \frac{T}{V}

Di sini:

  • pp adalah tekanan yang kita ukur
  • TT adalah suhu yang kita atur
  • VV adalah volume yang kita atur
  • nn adalah jumlah molekul gas (yang ingin kita tentukan)
  • RR adalah konstanta yang sudah diketahui

Jika kita menganggap TT dan VV sebagai masukan yang bisa kita kontrol, dan pp sebagai keluaran yang kita ukur, maka tekanan bergantung secara linear pada nn. Ini memungkinkan kita menggunakan model linear untuk menentukan jumlah molekul gas.

Ketika Model Awalnya Nonlinear

Tidak semua masalah dunia nyata langsung berbentuk linear. Kadang kita menemui model yang parameternya muncul dalam bentuk kuadrat, perkalian antar parameter, atau bahkan dalam fungsi eksponensial:

y=h(t,x)y = h(t, x)

Tapi jangan putus asa! Dalam banyak kasus, kita bisa "melinearkan" model tersebut. Caranya dengan menggunakan aproksimasi garis singgung di sekitar titik tertentu x0x_0:

yh(x0,t)+hx(x0,t)(xx0)y \approx h(x_0, t) + \frac{\partial h}{\partial x}(x_0, t) \cdot (x - x_0)

Dengan trik ini, kita mengganti kurva yang rumit dengan garis lurus yang mendekatinya. Hasilnya adalah persamaan yang linear terhadap xx, sehingga bisa diselesaikan dengan metode aljabar linear standar seperti kuadrat terkecil.

Namun metode linearisasi ini hanya bekerja jika model nonlinear tidak terlalu "melengkung" di sekitar titik x0x_0. Model yang sangat nonlinear membutuhkan teknik optimisasi numerik.