Regresi linear: prediksi dan loss
Model regresi linear memprediksi 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+bDitulis untuk satu batch sekaligus: 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. Untuk semua contoh sekaligus, itu perkalian matriks-vektor:
y^=Xw+b(N,d)@(d,)→(N,)b adalah skalar, jadi otomatis ditambahkan ke setiap elemen (broadcasting).
Langkah di kode:
pred = X @ w + b.loss = ((pred - y) ** 2).mean(), diubah kefloat.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
Petunjuk 1
Untuk semua baris sekaligus: pred = X @ w + b. b di-broadcast ke setiap baris.
Petunjuk 2
Loss = rata-rata (pred − y)².
Nilai ditulis sebagai JSON. Output yang diharapkan dihitung dari solusi referensi.