Kursus Matematika untuk AI · Pelajaran 30 dari 180
Span: Prediksi yang Dapat Dicapai Model Linear
Gunakan span vektor untuk mengenali semua prediksi yang dapat dihasilkan model linear dari kolom fiturnya, lalu uji apakah suatu target tidak mungkin diekspresikan.
Aturan prediksi linear dapat menyesuaikan bobot sesuka hati, tetapi tetap bisa gagal menangkap pola yang tidak dapat diekspresikan fiturnya. Batas ini terlihat di seluruh contoh pelatihan: setiap vektor prediksi merupakan jumlah berbobot dari kolom fitur. Semua jumlah berbobot itu membentuk himpunan yang disebut span.
Setelah mempelajari pelajaran ini, Anda akan dapat menjelaskan himpunan yang dapat dicapai, menghitung prediksi di dalamnya, dan menguji apakah sekumpulan nilai target yang diajukan mungkin dihasilkan oleh model.
Hasil belajar: Mengenali himpunan vektor yang dapat dicapai melalui kombinasi linear.
Pelajaran 29: Independensi linear menghilangkan redundansi menanyakan apakah arah fitur memberikan informasi yang berbeda. Di sini kita melanjutkan pertanyaan itu: kombinasi arah mana yang benar-benar dapat dicapai model? Bagian 2.5 dari buku resmi Mathematics for Machine Learning memperkenalkan kombinasi linear dan independensi linear, istilah yang diperlukan untuk definisi span pada pelajaran ini. Contoh prediksi, perhitungan, kode, visual, dan asesmen di sini bersifat orisinal.
Keluaran model berada dalam himpunan yang dapat dicapai
Misalkan sebuah dataset memiliki contoh dan fitur numerik. Masukkan nilai fitur untuk seluruh contoh ke dalam vektor kolom . Matriks desain menyusun kolom-kolom tersebut. Untuk vektor bobot , model linear tanpa intersep memprediksi
Perkalian matriks-vektor melakukan sesuatu yang penting secara konseptual: operasi ini mencampur kolom fitur menggunakan bobot model. Koefisiennya dapat berubah, tetapi arah yang tersedia hanya kolom yang sudah ada di dalam .
Kalimat terakhir merupakan klaim kapasitas untuk dataset berhingga ini: span memuat tepat semua vektor prediksi yang dapat dihasilkan oleh bobot linear tanpa batasan. Klaim tersebut tidak berarti model dapat membuat setiap pemetaan yang mungkin untuk masukan di masa depan. Hal itu bergantung pada aturan fitur, parameternya, dan masukan yang akan ditemui.
Menghitung prediksi yang dapat dicapai
Pertimbangkan tiga contoh dan dua fitur:
Setiap pasangan bobot menghasilkan
Jadi, setiap vektor prediksi yang dapat dicapai berbentuk . Koordinat ketiganya harus sama dengan jumlah dua koordinat pertama. Ini adalah bidang yang melewati titik nol di dalam : tiga koordinat keluaran dicatat, tetapi hanya dua arah fitur yang mengisi bidang tersebut.
Kegagalan ini berasal dari batas fitur, bukan karena pencarian koefisien yang tepat belum cukup lama. Pengoptimal model dapat memilih bobot lain, tetapi tidak dapat keluar dari span kolom tanpa mengubah arah fitur atau bentuk model.
Ruang prediksi
Kolom fitur membatasi setiap prediksi
Dengan dua kolom fitur, model dapat mencapai bidang yang direntang keduanya. Vektor target berada di luar karena nilai ketiganya tidak sama dengan jumlah dua nilai pertama.
| Vektor | Koordinat | Pemeriksaan span |
|---|---|---|
| Kolom fitur x₁ | [1, 0, 1] | Di dalam: ketiga = pertama + kedua |
| Kolom fitur x₂ | [0, 1, 1] | Di dalam: ketiga = pertama + kedua |
| Prediksi untuk w = [2, −1] | [2, −1, 1] | Di dalam: ketiga = pertama + kedua |
| Target yang diajukan | [1, 2, 4] | Di luar: 4 ≠ 1 + 2 |
Diagram ini menunjukkan aljabar yang sama dari sudut pandang model. Panah fitur utuh membentang menjadi bidang, dan setiap kombinasi berbobot darinya tetap berada di bidang itu. Target putus-putus berada di luarnya. Visual membantu membayangkan posisinya; persamaan adalah pengujian yang tepat.
Uji batasnya dengan perhitungan NumPy sederhana
Perhitungan model mengikuti definisi secara langsung. NumPy
matmul
menerapkan perkalian matriks-vektor, sehingga mengalikan dengan bobot menghasilkan vektor prediksi:
import numpy as np
X = np.array([[1, 0], [0, 1], [1, 1]])
weights = np.array([2, -1])
prediction = X @ weights
target = np.array([1, 2, 4])
print(prediction) # [ 2 -1 1]
print(prediction[2] == prediction[0] + prediction[1]) # True
print(target[2] == target[0] + target[1]) # False
Baris pertama mengonfirmasi prediksi hasil perhitungan. Baris kedua menguji aturan yang harus dipenuhi semua vektor dalam span kolom ini. Baris ketiga menolak target yang diajukan dengan relasi eksak yang sama. Ini adalah pemeriksaan struktural; hasilnya tidak bergantung pada cara bobot dilatih.
Sudut pandang ini juga menjelaskan batasan yang lazim dalam regresi linear. Panduan model linear scikit-learn mendefinisikan prediksi sebagai jumlah berbobot fitur, dengan intersep opsional. Prosedur pencocokan dapat berusaha mengurangi galat, tetapi pada contoh dalam pelajaran ini model tanpa intersep tetap hanya memiliki prediksi di dalam . Jika setiap kolom fitur redundan, span mungkin tidak bertambah saat fitur baru ditambahkan; jika kolom baru menunjuk ke arah yang benar-benar baru, kolom tersebut dapat memperluas himpunan yang dapat dicapai.
Span berbicara tentang arah yang tersedia
Span mencakup setiap nilai koefisien real, termasuk bobot nol dan negatif. Ini penting: jika hanya kombinasi positif yang dipertimbangkan, himpunannya lebih kecil dan sering kali berupa kerucut, bukan span penuh. Regresi linear standar tanpa batasan mengizinkan koefisien positif maupun negatif. Batasan dapat membatasi koefisien yang diizinkan, sedangkan regularisasi mengubah bobot yang disukai oleh objektif pelatihan; keduanya tidak mengubah span kolom yang didefinisikan oleh matriks fitur itu sendiri.
Jumlah kolom fitur saja tidak memberi tahu berapa banyak arah independen yang tersedia. Dua kolom bisa menunjuk sepanjang garis yang sama sehingga span-nya tetap berdimensi satu. Langkah berikutnya adalah menentukan kapan vektor baru menambahkan arah independen dan dapat memperluas span. Itulah pertanyaan dalam Pelajaran 29: Independensi linear menghilangkan redundansi.
Kebiasaan praktisnya sederhana: ketika model berulang kali meleset dari suatu pola, tanyakan apakah fiturnya dapat mengekspresikan keluaran yang diperlukan sebelum menyalahkan pengoptimal. Span memberi tahu vektor prediksi mana yang mungkin dicapai.
Periksa pemahaman Anda
Question 1
Dengan kata-kata Anda sendiri, apa isi span dari dua kolom fitur?
Show the step-by-step solution
Span memuat setiap vektor yang dibentuk dengan mengalikan kolom fitur pertama dengan sembarang bilangan real, mengalikan kolom kedua dengan sembarang bilangan real, lalu menjumlahkan hasilnya. Koefisien dapat nol atau negatif, selain positif, sehingga himpunan ini mencakup semua arah yang dihasilkan kedua kolom tersebut, bukan hanya titik di antaranya.
Question 2
Misalkan x₁ = [1, 0, 1]ᵀ dan x₂ = [0, 1, 1]ᵀ. Hitung 3x₁ − 2x₂ dan periksa apakah hasilnya mengikuti aturan koordinat span.
Show the step-by-step solution
Skalakan setiap vektor terlebih dahulu: dan . Jumlahkan koordinatnya untuk memperoleh . Elemen ketiganya adalah , sedangkan jumlah dua elemen pertama adalah , jadi vektor itu mengikuti aturan dan termasuk dalam span.
Question 3
Untuk matriks dengan kolom [1, 0, 1]ᵀ dan [0, 1, 1]ᵀ, tuliskan vektor prediksi umum untuk bobot [a, b]ᵀ.
Show the step-by-step solution
Kalikan kolom pertama dengan untuk memperoleh . Kalikan kolom kedua dengan untuk memperoleh . Jumlahnya adalah . Jadi, koordinat ketiga setiap prediksi sama dengan jumlah dua koordinat pertamanya.
Question 4
Dapatkah model dengan dua fitur ini menghasilkan [2, 1, 4]ᵀ? Tunjukkan pemeriksaan yang menentukan.
Show the step-by-step solution
Jika dua koordinat pertama bernilai dan , aturan span mengharuskan koordinat ketiga bernilai . Koordinat ketiga yang diajukan adalah . Karena , tidak ada pilihan dua bobot yang dapat menghasilkan vektor ini.
Question 5
Misalkan kolom fitur ketiga adalah [0, 0, 1]ᵀ. Berikan bobot yang menghasilkan [1, 2, 4]ᵀ dengan menggunakan ketiga kolom.
Show the step-by-step solution
Gunakan bobot pada , pada , dan pada . Dua kolom berbobot pertama berjumlah . Setelah kolom ketiga ditambahkan, hasilnya , sehingga fitur baru menyediakan arah yang sebelumnya hilang untuk target ini.
Question 6
Apakah span kolom menjelaskan setiap fungsi yang dapat dihitung model terlatih untuk sembarang masukan mendatang? Jelaskan cakupan klaim ini.
Show the step-by-step solution
Tidak. Span kolom di sini menjelaskan vektor prediksi pada baris-baris tetap yang digunakan untuk membentuk , dengan model linear tanpa intersep yang disebutkan dan bobot real tanpa batasan. Prediksi pada masukan baru bergantung pada nilai fiturnya. Mengubah pemetaan fitur atau menambahkan operasi nonlinear juga dapat mengubah keluarga fungsi yang direpresentasikan model.
Question 7
Untuk tiga baris sampel ini, apa yang terjadi pada span jika kolom intersep [1, 1, 1]ᵀ ditambahkan? Mengapa setelah itu [1, 2, 4]ᵀ dapat dicapai?
Show the step-by-step solution
Kolom intersep bukan kombinasi linear dari dua kolom semula: span semula mengharuskan elemen ketiga sama dengan jumlah elemen pertama dan kedua, sedangkan tidak memenuhi . Kolom baru menambahkan arah independen ketiga di , sehingga kolom-kolom yang diperluas merentang seluruh . Secara khusus, .
Question 8
Sebuah model memiliki empat kolom fitur, tetapi dua di antaranya merupakan salinan persis dua kolom pertama. Apakah model itu pasti memperoleh empat arah prediksi independen? Jelaskan dengan span.
Show the step-by-step solution
Tidak. Mengulang kolom yang sudah ada tidak menciptakan arah baru. Kombinasi apa pun dari kolom duplikat dapat digabungkan ke koefisien salinannya, sehingga span tetap sama dengan span dua arah semula. Jumlah kolom menghitung posisi koefisien yang tersedia; span menunjukkan arah keluaran mana yang secara kolektif dapat dicapai oleh posisi tersebut.