b belajar.myudak

Regresi linear: prediksi dan loss

Model regresi linear memprediksi y^=Xw+b\hat{y} = Xw + b. Untuk data X (N baris, d fitur), target y, bobot w, dan bias b, kembalikan [pred, loss] dengan loss adalah MSE. Tulis tanpa loop.

X = [[1], [2], [3]], y = [2, 4, 6], w = [2], b = 0  →  [[2, 4, 6], 0.0]

Model linear

Setiap prediksi adalah dot product antara fitur dan bobot, ditambah bias:

y^i=w1xi1+⋯+wdxid+b=xi⋅w+b\hat{y}_i = w_1 x_{i1} + \dots + w_d x_{id} + b = x_i \cdot w + b

Ditulis untuk satu batch sekaligus: y^=Xw+b\hat{y} = Xw + b. Bentuknya (N, d) @ (d,) → (N,).

Kenapa mulai dari sini

Regresi linear adalah jaringan saraf paling kecil: satu layer Linear tanpa aktivasi. Siklus yang akan kamu ulangi sampai tiny GPT sudah lengkap di sini: forward → loss → gradien → update.

Penjelasan

Yang diminta. Prediksi model linear untuk semua baris sekaligus, ditambah loss MSE-nya.

Ide kunci. Prediksi satu contoh adalah dot product fitur dan bobot ditambah bias: y^i=xi⋅w+b\hat y_i = x_i \cdot w + b. Untuk semua contoh sekaligus, itu perkalian matriks-vektor:

y^=Xw+b(N,d)@(d,)→(N,)\hat y = Xw + b \qquad (N, d) @ (d,) \to (N,)

b adalah skalar, jadi otomatis ditambahkan ke setiap elemen (broadcasting).

Langkah di kode:

  1. pred = X @ w + b.
  2. loss = ((pred - y) ** 2).mean(), diubah ke float.
  3. return [pred, loss].

Cek. X = [[1],[2],[3]], w = [2], b = 0 memberi prediksi [2, 4, 6], sama persis dengan y, jadi loss 0.

Yang dikembalikan: list [array (N,), float].

Topik
regresi linearvektorisasimse
Petunjuk 1

Untuk semua baris sekaligus: pred = X @ w + b. b di-broadcast ke setiap baris.

Petunjuk 2

Loss = rata-rata (pred − y)².

Python 3.14 · NumPy

Pengaturan editor

Ukuran font
Ukuran huruf di editor.
Ukuran tab
Lebar indentasi. Otomatis: 2 spasi untuk TypeScript, 4 untuk Python.
Key bindings
Ganti ke mode Vim.
Nomor baris relatif
Nomor baris dihitung dari posisi kursor (berguna untuk gerakan Vim).
Word wrap
Baris panjang dilipat agar muat di lebar editor.
IntelliSense
Saran kode otomatis saat mengetik (Ctrl+Spasi tetap bisa dipakai saat mati).

Nilai ditulis sebagai JSON. Output yang diharapkan dihitung dari solusi referensi.