Memahami Linear Regression: Dari Marketing hingga Matematika

Pembukaan: Tantangan Marketing

Pertanyaan Manajer Marketing

Anda mengelola marketing untuk sebuah perusahaan yang sedang berkembang. Setiap bulan, Anda memutuskan berapa banyak uang yang akan dihabiskan untuk iklan TV.

Tapi inilah masalahnya...

๐Ÿ’ฐ Pertanyaan Besar:

"Berapa banyak yang harus saya habiskan untuk iklan bulan depan agar mencapai target penjualan $10 juta?"

๐Ÿ“Š

Data dari masa lalu

๐Ÿ”ฎ

Prediksi masa depan

โœ…

Buat keputusan

Tema: Menemukan Pola dalam Data

"Jika kita dapat menemukan hubungan matematis antara input kita (pengeluaran iklan) dan output (penjualan), kita dapat memprediksi masa depan."

Ini adalah fondasi dari linear regression.

Pengaturan: Data Historis

Mari Lihat Data Kita

Dataset Marketing: Iklan TV vs. Penjualan
Bulan Budget Iklan TV ($1000s) Penjualan ($ juta)
Januari 120 5
Februari 125 7
Maret 140 8
April 110 6

Pola mulai muncul? Lebih banyak iklan โ†’ Lebih banyak penjualan

Tapi bisakah kita mengukur hubungan ini? ๐Ÿค”

Pengaturan: Apa Itu Fungsi Linear?

Fondasi: Memahami Fungsi Linear

Definisi

Sebuah fungsi linear membentuk:

  • Sebuah garis lurus dalam ruang 2D
  • Sebuah bidang datar dalam ruang 3D
  • Sebuah hyperplane dalam dimensi yang lebih tinggi
Bentuk Matematisnya

$\hat{y} = f(x) = w_0 + w_1x$

$w_0$ = intercept

Di mana garis memotong sumbu y

$w_1$ = slope

Seberapa curam garisnya

Katalis: Cek Realitas

Tunggu... Ada Masalah!

Data dunia nyata itu berantakan. Penjualan tidak sempurna mengikuti garis karena:

  • ๐ŸŒฆ๏ธ Musiman (liburan, cuaca)
  • ๐Ÿข Aksi kompetitor
  • ๐Ÿ“‰ Kondisi ekonomi
  • ๐ŸŽฒ Kebetulan acak
  • ๐Ÿ“ฑ Saluran marketing lainnya
  • ๐Ÿ‘ฅ Efek dari mulut ke mulut

Model kita tidak akan sempurnaโ€”dan tidak apa-apa! ๐ŸŽฏ

Kita perlu memperhitungkan ketidakpastian...

Menambahkan Keacakan: Error Term

Sifat Stokastik dari Data

Fungsi Linear yang Dimodifikasi

Kita menambahkan variabel acak untuk menangkap ketidakpastian:

$\hat{y} = f(x) = w_0 + w_1x + \varepsilon$

$\varepsilon$ (epsilon) = error term atau residual

Menangkap semua yang tidak dijelaskan oleh model kita

๐Ÿ’ก Wawasan Kunci:

Kita mencari perkiraan yang berguna, bukan prediksi sempurna. Dengan mengakui error, kita membangun model yang lebih realistis!

Memahami Error

Apa Itu Error (Residual)?

Definisi

Untuk setiap titik data $(x_i, y_i)$, error adalah:

$e_i = y_i - (w_0 + w_1x_i)$

$y_i$

Nilai aktual (penjualan sebenarnya)

$(w_0 + w_1x_i)$

Nilai prediksi

Interpretasi
  • Error positif: Kita meremehkan (prediksi terlalu rendah)
  • Error negatif: Kita melebih-lebihkan (prediksi terlalu tinggi)
  • Error nol: Prediksi sempurna! (jarang)

Break into Two: Masalah Optimisasi

Menemukan Garis Terbaik

Ada tak terhingga kemungkinan garis melalui data kita. Mana yang terbaik?

Tujuan Kita

Temukan garis yang membuat total error terkecil di semua titik data.

Tapi bagaimana cara mengukur "total error"? ๐Ÿค”

โš ๏ธ Tantangan:

Kita perlu metrik yang:

โœ“ Menangkap besaran error
โœ“ Tidak membiarkan error saling meniadakan
โœ“ Dapat diminimalkan secara matematis

Percobaan Pertama: Jumlah Error (GAGAL!)

Pendekatan Naif: Cukup Jumlahkan

Ide Pertama

Jumlahkan semua error:

$\sum e_i = \sum (y_i - (w_0 + w_1x_i))$

โŒ Cacat Fatal!

Masalah: Error positif dan negatif saling meniadakan!

Contoh:
โ€ข Titik 1: error = +5 (meremehkan)
โ€ข Titik 2: error = -5 (melebih-lebihkan)
โ€ข Total: +5 + (-5) = 0 โœ“ "Sempurna"?

Tapi kedua prediksi salah sebesar 5 unit!

Kesimpulan:

Kita perlu metrik di mana semua error non-negatif sehingga tidak dapat saling meniadakan.

Dua Metrik yang Lebih Baik

Metrik Error Non-Negatif

Jumlah Error Absolut

$\sum |e_i|$

Kelebihan:

โœ“ Semua error positif
โœ“ Bobot sama untuk semua error
โœ“ Tangguh terhadap outlier

Kekurangan:

โœ— Tidak dapat diturunkan di nol
โœ— Lebih sulit dioptimalkan

Jumlah Error Kuadrat โญ

$\sum e_i^2$

Kelebihan:

โœ“ Semua error positif
โœ“ Memberi penalti besar pada outlier
โœ“ Dapat diturunkan di mana-mana
โœ“ Sifat statistik yang baik

Pemenang!

Digunakan dalam linear regression

SSE: Metrik Optimisasi Kita

Sum of Squared Errors (SSE)

Formulanya

$\text{SSE} = \sum e_i^2 = \sum (y_i - (w_0 + w_1x_i))^2$

Kembangkan setiap term dan kuadratkan!

Mengapa Mengkuadratkan Bekerja

Error kecil

Mendapat penalti kecil

$1^2 = 1$

Error besar

Mendapat penalti sangat besar

$10^2 = 100$

Memperluas ke Banyak Variabel

Bagaimana dengan Banyak Input?

Skenario Dunia Nyata

Penjualan mungkin bergantung pada beberapa faktor:

๐Ÿ“บ

Iklan TV

$x_1$

๐Ÿ“ป

Iklan Radio

$x_2$

๐Ÿ“ฑ

Media Sosial

$x_3$

Dua Variabel: Sebuah Bidang

$\hat{y} = w_0 + w_1x_1 + w_2x_2$

Membentuk bidang datar dalam ruang 3D

Bentuk Umum: n Variabel

Generalisasi ke n Dimensi

Fungsi Linear Umum

Untuk $n$ variabel input:

$\hat{y} = w_0 + w_1x_1 + w_2x_2 + \cdots + w_{n-1}x_{n-1}$

Metrik Error (SSE)

$\sum e_i^2 = \sum (y_i - (w_0 + w_1x_{i1} + w_2x_{i2} + \cdots + w_{n-1}x_{in-1}))^2$

Notasi ini cepat menjadi berantakan! ๐Ÿ˜ฐ

Solusi: Gunakan matrix! โžก๏ธ

Titik Tengah: Wawasan Matrix

Kekuatan Notasi Matrix

Sebelum: Penjumlahan yang Berantakan

$\sum_{i=1}^{m} (y_i - (w_0 + w_1x_{i1} + w_2x_{i2} + \cdots + w_{n-1}x_{in-1}))^2$

Jelek! Sulit bekerja dengannya! ๐Ÿ˜ซ

Sesudah: Bentuk Matrix yang Elegan

$\text{SSE} = \|y - XW\|_2^2$

Indah! Bekerja untuk dimensi apa pun! โœจ

Formulasi Matrix

Penjelasan Notasi Matrix

Pengaturannya

$\text{SSE} = \|y - XW\|_2^2$

$X \in \mathbb{R}^{m \times n}$

Matrix data input
$m$ = observasi
$n$ = fitur

$y \in \mathbb{R}^m$

Vektor output
$m$ = observasi
Nilai aktual

$W \in \mathbb{R}^n$

Vektor bobot
$n$ = fitur
Parameter yang dicari

$\|\cdot\|_2^2$ = Squared L2 Norm

Nama mewah untuk: "kuadratkan setiap elemen, lalu jumlahkan"
$\|v\|_2^2 = v_1^2 + v_2^2 + \cdots + v_n^2$

Menyelesaikan: Pendekatan Kalkulus

Menemukan Bobot Optimal

Strateginya

Gunakan kalkulus untuk meminimalkan fungsi error!

Wawasan kunci dari kalkulus:

"Pada titik minimum, derivative (gradient) sama dengan nol"

Sama seperti menemukan bagian terbawah dari lembah! ๐Ÿ”๏ธ

Rencananya
1๏ธโƒฃ Kembangkan $f(W) = \|y - XW\|_2^2$
2๏ธโƒฃ Ambil gradient: $\nabla f(W)$
3๏ธโƒฃ Set sama dengan nol: $\nabla f(W) = 0$
4๏ธโƒฃ Selesaikan untuk $W$

Langkah Derivasi 1: Kembangkan

Mengembangkan Ekspresi Matrix

Langkah 1: Gunakan Sifat Matrix

Mulai dengan:
$f(W) = \|y - XW\|_2^2$

Tulis ulang sebagai dot product:
$f(W) = (y - XW)^T(y - XW)$

Distribusikan transpose:
$= (y^T - W^TX^T)(y - XW)$

FOIL (kalikan):
$= y^Ty - W^TX^Ty - y^TXW + W^TX^TXW$

Langkah 2: Sederhanakan

Karena $W^TX^Ty$ dan $y^TXW$ adalah skalar dan sama:

$f(W) = y^Ty - 2y^TXW + W^TX^TXW$

Langkah Derivasi 2: Gradient

Mengambil Gradient

Ingat Fungsi Kita

$f(W) = y^Ty - 2y^TXW + W^TX^TXW$

Ambil Gradient terhadap $W$

Terapkan aturan derivative:

โ€ข $\nabla_W(y^Ty) = 0$ (konstanta)

โ€ข $\nabla_W(-2y^TXW) = -2X^Ty$ (linear)

โ€ข $\nabla_W(W^TX^TXW) = 2X^TXW$ (kuadratik)

Hasil:

$\nabla f(W) = -2X^Ty + 2X^TXW$

Langkah Derivasi 3: Selesaikan

Menyelesaikan untuk $W$ Optimal

Set Gradient ke Nol

$\nabla f(W) = -2X^Ty + 2X^TXW = 0$

โ†“ Bagi dengan 2

$-X^Ty + X^TXW = 0$

โ†“ Tambahkan $X^Ty$ ke kedua sisi

$X^TXW = X^Ty$

Normal Equation โญ

$W = (X^TX)^{-1}X^Ty$

Solusi closed-form untuk linear regression!

All Is Lost: Tantangan Komputasi

Tunggu... Ada Masalah!

Normal Equation

$W = (X^TX)^{-1}X^Ty$

Terlihat elegan, tapi...

โš ๏ธ Inversi Matrix itu MAHAL

1,000 observasi โ†’ Inversi matrix $1000 \times 1000$

Kompleksitas waktu: $O(n^3)$ ๐ŸŒ

100,000 observasi โ†’ Inversi matrix $100,000 \times 100,000$

Memakan waktu berjam-jam atau crash! ๐Ÿ’ฅ

Break into Three: Solusinya

๐Ÿ’ก Optimisasi Iteratif!

Alternatifnya: Gradient Descent

Alih-alih menghitung inverse secara langsung, ambil langkah-langkah kecil menuju minimum!

Cara Kerjanya
1๏ธโƒฃ Mulai dengan bobot acak
2๏ธโƒฃ Hitung gradient (arah kenaikan paling curam)
3๏ธโƒฃ Bergerak ke arah berlawanan (menurun)
4๏ธโƒฃ Ulangi sampai mencapai minimum

๐ŸŽฏ Keuntungan:

โœ“ Tidak perlu inversi matrix
โœ“ Berskala hingga jutaan titik data
โœ“ Fondasi dari ML modern
โœ“ Juga bekerja untuk model non-linear!

Final: Perbandingan

Dua Cara Menyelesaikan Linear Regression

Normal Equation

$W = (X^TX)^{-1}X^Ty$

Kelebihan:
โœ“ Solusi langsung
โœ“ Tanpa hyperparameter
โœ“ Jawaban eksak

Kekurangan:
โœ— Kompleksitas $O(n^3)$
โœ— Tidak berskala
โœ— Intensif memori

Terbaik untuk:

Dataset kecil (< 10k obs)

Gradient Descent โญ

Update iteratif

Kelebihan:
โœ“ Berskala untuk data besar
โœ“ Memori rendah
โœ“ Generalisasi ke non-linear

Kekurangan:
โœ— Perlu tuning
โœ— Solusi perkiraan
โœ— Memerlukan iterasi

Terbaik untuk:

Dataset besar, deep learning

Gambar Final: Poin-Poin Kunci

Linear Regression: Gambaran Lengkap

Masalahnya ๐ŸŽฏ

Temukan hubungan linear antara input dan output untuk memprediksi nilai masa depan

Error Term ๐ŸŽฒ

Tambahkan $\varepsilon$ untuk memperhitungkan keacakan dan faktor yang tidak terukur

Metriknya ๐Ÿ“Š

Gunakan Sum of Squared Errors (SSE) untuk mengukur kualitas fit

Solusinya ๐Ÿ”ง

Normal Equation (data kecil) atau Gradient Descent (data besar)

Formula Kunci

Model Linear

$\hat{y} = w_0 + w_1x + \varepsilon$

Bentuk Matrix

$\text{SSE} = \|y - XW\|_2^2$

Normal Equation

$W = (X^TX)^{-1}X^Ty$

Topik Selanjutnya

Gradient Descent! ๐Ÿš€

Apa Selanjutnya?

Akan Datang Selanjutnya: Gradient Descent!

Sekarang setelah kita memahami linear regression, kita perlu belajar bagaimana cara benar-benar menyelesaikannya untuk dataset besar.

๐Ÿ” Kita akan mengeksplorasi:

  • Bagaimana gradient descent mengambil langkah menuju minimum
  • Learning rate dan konvergensi
  • Batch vs. stochastic gradient descent
  • Mengapa ini adalah tulang punggung dari deep learning

"Perjalanan dari teori ke praktik dimulai dengan optimisasi!"

- QuiverLearn