# Nakafa Learning Content

> For AI agents: use [llms.txt](https://nakafa.com/llms.txt) for the site index. Markdown versions are available by appending `.md` to content URLs or sending `Accept: text/markdown`.

URL: https://nakafa.com/id/materi/ai-ds/metode-linear-ai/linear-model
Source: https://raw.githubusercontent.com/nakafaai/nakafa.com/refs/heads/main/packages/contents/material/lesson/ai-ds/linear-methods/linear-model/id.mdx

Pelajari model linear: hubungan fundamental y=h(t)·x, bentuk polinomial/trigonometri, konversi data-ke-model, dan teknik linearisasi untuk AI.

---

## 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:

```math
y = h(t) \cdot x
```

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

Visible text: Mengapa disebut "linear"? Karena jika kita lihat hubungan antara dan ,
hubungannya berbentuk garis lurus. Di sini berperan sebagai "penghubung"
yang ukurannya .

Mari kita kenali ketiga pemain utama dalam model ini:

- $$y \in \mathbb{R}^d$$ adalah **hasil yang kita amati** (respons model)
- $$x \in \mathbb{R}^n$$ adalah **nilai yang ingin kita cari** (parameter model)
- $$t \in \mathbb{R}^k$$ adalah **masukan yang kita berikan** (variabel independen)

Visible text: - adalah **hasil yang kita amati** (respons model)
- adalah **nilai yang ingin kita cari** (parameter model)
- adalah **masukan yang kita berikan** (variabel independen)

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

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

## 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 $$t$$
2. Untuk setiap nilai tersebut, kita mengukur dan mendapatkan $$y$$
3. Tujuan kita adalah mencari $$x$$ yang bisa menjelaskan semua data ini

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

Misalkan kita melakukan $$M$$ kali pengukuran.
Untuk setiap pengukuran ke-$$i$$, kita punya:

Visible text: Misalkan kita melakukan kali pengukuran.
Untuk setiap pengukuran ke-, kita punya:

```math
y_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 = M \cdot d$$.
Biasanya angka ini jauh lebih besar dari jumlah parameter yang ingin kita cari ($$n$$),
jadi $$m \gg n$$.

Visible text: Kalau kita hitung total semua data yang kita kumpulkan, jumlahnya .
Biasanya angka ini jauh lebih besar dari jumlah parameter yang ingin kita cari (),
jadi .

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

Visible text: Tantangan kita sekarang adalah bagaimana mencari nilai yang terbaik,
sehingga persamaan terpenuhi seakurat mungkin.

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

Component: MathContainer
Children:

```math
b = \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)$$ berukuran $$m \times n$$
dan vektor $$b$$ berukuran $$m$$.

Visible text: Ini menghasilkan sebuah sistem dengan matriks berukuran 
dan vektor berukuran .

## 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:

```math
y = a + b \cdot t = (1 \quad t) \cdot \begin{pmatrix} a \\ b \end{pmatrix} = h(t) \cdot x
```

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

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

### Kurva Polinomial

Jika data membentuk kurva melengkung, kita bisa menggunakan polinomial:

```math
y = 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 $$t^n$$ terlihat nonlinear, ingat bahwa yang kita maksud "linear"
adalah hubungannya dengan parameter $$a_0, a_1, \ldots, a_n$$.

Visible text: Meskipun terlihat nonlinear, ingat bahwa yang kita maksud "linear"
adalah hubungannya dengan parameter .

### Pola Berulang dengan Trigonometri

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

```math
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 $$t$$ dan $$s$$:

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

Component: MathContainer
Children:

```math
y = 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 $$t \cdot s$$ menangkap interaksi antara kedua masukan.

Visible text: Suku menangkap interaksi antara kedua masukan.

### Keluaran Berganda

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

Component: MathContainer
Children:

```math
y = a + b \cdot t
```

```math
z = c + d \cdot t
```

Ini seperti memiliki dua model linear yang berjalan bersamaan.

## Contoh Nyata dari Fisika

Persamaan gas umum dalam fisika adalah:

```math
p = n \cdot R \cdot \frac{T}{V}
```

Di sini:

- $$p$$ adalah tekanan yang kita ukur
- $$T$$ adalah suhu yang kita atur
- $$V$$ adalah volume yang kita atur
- $$n$$ adalah jumlah molekul gas (yang ingin kita tentukan)
- $$R$$ adalah konstanta yang sudah diketahui

Visible text: - adalah tekanan yang kita ukur
- adalah suhu yang kita atur
- adalah volume yang kita atur
- adalah jumlah molekul gas (yang ingin kita tentukan)
- adalah konstanta yang sudah diketahui

Jika kita menganggap $$T$$ dan $$V$$ sebagai masukan yang bisa kita kontrol,
dan $$p$$ sebagai keluaran yang kita ukur, maka tekanan bergantung secara linear pada $$n$$.
Ini memungkinkan kita menggunakan model linear untuk menentukan jumlah molekul gas.

Visible text: Jika kita menganggap dan sebagai masukan yang bisa kita kontrol,
dan sebagai keluaran yang kita ukur, maka tekanan bergantung secara linear pada .
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:

```math
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 $$x_0$$:

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

```math
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 $$x$$, sehingga bisa diselesaikan
dengan metode aljabar linear standar seperti kuadrat terkecil.

Visible text: Dengan trik ini, kita mengganti kurva yang rumit dengan garis lurus yang mendekatinya.
Hasilnya adalah persamaan yang linear terhadap , 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 $$x_0$$. Model yang sangat nonlinear membutuhkan teknik optimisasi numerik.

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