Kursus Matematika untuk AI · Pelajaran 31 dari 180

Basis Memberi Vektor AI Sistem Koordinat yang Dapat Dibalik

Uji apakah vektor membentuk basis, hitung koordinat dalam kerangka baru, dan lihat bagaimana model linear mempertahankan skor yang sama setelah perubahan yang diselaraskan.

Bagikan artikel ini

Titik yang sama dalam representasi dua dimensi sebuah model dapat ditulis sebagai (1, 7) atau (3, 2). Kedua pasangan itu dapat menyatakan vektor dengan koordinat pertama 1 dan koordinat kedua 7, asalkan kita menjelaskan sistem koordinat yang digunakan. Pasangan pertama memakai sumbu horizontal dan vertikal yang biasa kita kenal. Pasangan kedua memakai dua vektor basis yang miring. Basis membuat cara alternatif ini menjadi cara yang lengkap dan tidak ambigu untuk menyatakan setiap vektor dalam ruang tersebut.

Di akhir pelajaran, kamu akan dapat memeriksa apakah sekumpulan vektor merupakan basis, menghitung koordinat sebuah vektor dalam basis tersebut, dan menjelaskan apa yang perlu berubah pada model linear ketika koordinat masukannya berubah.

Hasil belajar: Memverifikasi sebuah basis dan menyatakan vektor dalam koordinat basis.

Pelajaran ini melanjutkan kebebasan linear dan rentang: basis menggabungkan kedua gagasan itu. Pembahasan mengikuti Bagian 2.6 dari buku Mathematics for Machine Learning, sedangkan contoh numerik, perhitungan skor model, penjelajah interaktif, dan pertanyaan di bawah ini adalah karya orisinal.

Basis menyediakan arah secukupnya

Kita bekerja dalam ruang vektor berdimensi hingga. Sekumpulan vektor menjadi basis suatu ruang jika memenuhi dua pengujian:

  1. Membentang ruang: setiap vektor dalam ruang dapat dibentuk dari sekumpulan vektor itu melalui kombinasi linear.
  2. Bebas linear: tidak ada vektor yang mubazir; hanya kombinasi linear dengan semua koefisien nol yang menghasilkan vektor nol.

Bersama-sama, syarat ini berarti arah yang tersedia cukup untuk mencapai setiap vektor dan tidak ada arah tambahan yang menimbulkan ambiguitas. Bagian 2.6 buku tersebut memberikan karakterisasi yang setara: basis adalah himpunan pembentang minimal sekaligus himpunan bebas linear maksimal, dan setiap vektor memiliki kombinasi linear yang unik dalam basis itu.

Di Rn\mathbb{R}^n, sebuah basis memiliki tepat nn vektor. Untuk subruang yang lebih kecil, jumlah vektor basis sama dengan banyaknya arah independen pada subruang tersebut. Sebagai contoh, dua vektor dapat menjadi basis bagi sebuah bidang di dalam R3\mathbb{R}^3 tanpa menjadi basis seluruh R3\mathbb{R}^3.

Mengapa koordinat menjadi unik

Misalkan b1,…,bn\boldsymbol{b}_1,\ldots,\boldsymbol{b}_n adalah basis dan v\boldsymbol{v} adalah sembarang vektor dalam ruang tersebut. Sifat membentang menjamin bahwa setidaknya ada satu kumpulan koefisien yang dapat menyatakannya:

v=c1b1+⋯+cnbn.\boldsymbol{v}=c_1\boldsymbol{b}_1+\cdots+c_n\boldsymbol{b}_n.

Sekarang bayangkan kumpulan koefisien lain, d1,…,dnd_1,\ldots,d_n, menghasilkan vektor yang sama. Dengan mengurangkan kedua ekspresi, kita memperoleh

0=(c1−d1)b1+⋯+(cn−dn)bn.0=(c_1-d_1)\boldsymbol{b}_1+\cdots+(c_n-d_n)\boldsymbol{b}_n.

Karena vektor basis bebas linear, setiap koefisien dalam kombinasi nol ini harus nol. Jadi, ci=dic_i=d_i untuk setiap ii. Koordinatnya unik karena basis tidak memiliki arah yang mubazir.

Kita menulis kolom koordinat sebagai [v]B[\boldsymbol{v}]_B. Subskripnya penting: subskrip itu menunjukkan basis yang menghasilkan koordinat tersebut. Vektor dan kolom koordinatnya saling berkaitan, tetapi keduanya bukan objek yang dapat saling menggantikan.

Menghitung perubahan koordinat

Ambil dua vektor di R2\mathbb{R}^2:

b1=[11],b2=[−12].\boldsymbol{b}_1=\begin{bmatrix}1\\1\end{bmatrix},\qquad \boldsymbol{b}_2=\begin{bmatrix}-1\\2\end{bmatrix}.

Letakkan vektor basis pada kolom sebuah matriks:

B=[1−112].B=\begin{bmatrix}1&-1\\1&2\end{bmatrix}.

Keduanya bebas linear: determinannya 1⋅2−(−1⋅1)=31\cdot2-(-1\cdot1)=3, bukan nol. Karena ada dua vektor bebas linear di R2\mathbb{R}^2, keduanya juga membentang bidang tersebut dan membentuk basis.

Cari koordinat v=(1,7)T\boldsymbol{v}=(1,7)^\mathsf{T}. Kolom koordinat c=[v]B\boldsymbol{c}=[\boldsymbol{v}]_B harus memenuhi Bc=vB\boldsymbol{c}=\boldsymbol{v}. Dengan menuliskan c=(c1,c2)T\boldsymbol{c}=(c_1,c_2)^\mathsf{T}, persamaan matriks itu menjadi dua persamaan biasa:

c1−c2=1,c1+2c2=7.\begin{aligned} c_1-c_2&=1,\\ c_1+2c_2&=7. \end{aligned}

Kurangkan persamaan pertama dari persamaan kedua: 3c2=63c_2=6, sehingga c2=2c_2=2. Lalu c1−2=1c_1-2=1, jadi c1=3c_1=3. Periksa rekonstruksinya secara langsung:

3[11]+2[−12]=[3−23+4]=[17].3\begin{bmatrix}1\\1\end{bmatrix} +2\begin{bmatrix}-1\\2\end{bmatrix} =\begin{bmatrix}3-2\\3+4\end{bmatrix} =\begin{bmatrix}1\\7\end{bmatrix}.

Pasangan koordinat (3,2)(3,2) berarti “tiga langkah sepanjang b1\boldsymbol{b}_1 dan dua langkah sepanjang b2\boldsymbol{b}_2”. Pasangan ini menamai titik akhir yang sama dengan koordinat standar (1,7)(1,7).

Satu vektor, dua sistem koordinat

Vektor (1, 7) dalam dua basisTitik akhir yang sama ditampilkan dengan sumbu standar atau dengan vektor basis miring (1, 1) dan (−1, 2). Pasangan koordinat berubah dari (1, 7) menjadi (3, 2).e₁e₂vxy

Koordinat dalam basis yang dipilih: (1, 7)

Vektor dalam koordinat standar: (1, 7)

v = c₁b₁ + c₂b₂

Koordinat dalam basis yang dipilih: (1, 7)
Titik akhirnya tetap di (1, 7). Perubahan basis mengubah pasangan koordinat yang digunakan untuk menamai titik itu.

Penjelajah dimulai dengan koordinat standar. Gunakan pemilih yang dapat diakses lewat keyboard untuk beralih ke basis miring: panah menuju v\boldsymbol{v} tetap berakhir pada titik yang sama, sementara koordinat yang ditampilkan berubah dari (1,7)(1,7) menjadi (3,2)(3,2). Keterangan dan pembacaan nilai juga menyajikan hasil sebagai teks, selain dalam diagram.

Biarkan NumPy menyelesaikan persamaan koordinat

Untuk basis yang lebih besar, hubungan yang sama menjadi sebuah sistem linear. Simpan vektor basis sebagai kolom, lalu selesaikan Bc=vB\boldsymbol{c}=\boldsymbol{v}:

import numpy as np

B = np.array([[1, -1],
              [1,  2]])  # columns are b1=(1, 1) and b2=(-1, 2)
v = np.array([1, 7])

rank = np.linalg.matrix_rank(B)
coordinates = np.linalg.solve(B, v)
reconstructed = B @ coordinates

print(rank)                         # 2: full rank in R^2
print(coordinates)                  # [3. 2.]
print(np.allclose(reconstructed, v)) # True

Untuk matriks persegi ini di R2\mathbb{R}^2, rank penuh berarti kedua kolomnya bebas linear, dan itu cukup untuk menetapkan bahwa keduanya membentuk basis. numpy.linalg.solve mengembalikan solusi sistem persegi dengan rank penuh; NumPy memunculkan LinAlgError ketika matriksnya singular atau bukan matriks persegi. Hasil rank di sini merupakan diagnostik numerik: NumPy memperkirakan rank melalui nilai singular dan toleransi, sehingga data floating-point yang hampir bergantung linear mungkin memerlukan toleransi yang dipilih sesuai skala dan presisi pengukuran aplikasi. Lihat referensi resmi NumPy matrix_rank dan solve.

Untuk contoh bilangan bulat kecil yang eksak, perhitungan tangan seperti determinan di atas memberikan bukti yang tegas. Untuk data bernilai real, pemeriksaan rekonstruksi berguna, tetapi bukan pengujian basis dengan sendirinya: matriks singular masih dapat merekonstruksi beberapa vektor. Periksa juga bahwa bentuk matriksnya sesuai dan rank-nya penuh.

Bobot model harus mengikuti koordinatnya

Perubahan basis dapat memperjelas representasi internal model, tetapi perubahan itu harus dikoordinasikan dengan operasi yang menggunakannya. Pertimbangkan skor linear s=wTvs=\boldsymbol{w}^{\mathsf T}\boldsymbol{v} dengan w=(2,1)T\boldsymbol{w}=(2,1)^\mathsf{T} dan v=(1,7)T\boldsymbol{v}=(1,7)^\mathsf{T}. Dalam koordinat standar, skornya adalah

2⋅1+1⋅7=9.2\cdot1+1\cdot7=9.

Dalam basis miring, v=Bc\boldsymbol{v}=B\boldsymbol{c} dengan c=(3,2)T\boldsymbol{c}=(3,2)^\mathsf{T}. Maka

wTv=wTBc=(BTw)Tc.\boldsymbol{w}^{\mathsf T}\boldsymbol{v} =\boldsymbol{w}^{\mathsf T}B\boldsymbol{c} =(B^{\mathsf T}\boldsymbol{w})^{\mathsf T}\boldsymbol{c}.

Bobot yang sesuai dalam koordinat baru adalah BTw=(3,0)TB^{\mathsf T}\boldsymbol{w}=(3,0)^\mathsf{T}, dan skornya tetap 3⋅3+0⋅2=93\cdot3+0\cdot2=9. Jika bobot lama (2,1)(2,1) langsung diterapkan pada pasangan koordinat baru, skornya menjadi 2⋅3+1⋅2=82\cdot3+1\cdot2=8. Representasinya telah dijelaskan ulang, tetapi parameter model belum diperbarui agar sesuai.

Kesetaraan ini berlaku persis untuk skor linear yang ditampilkan. Jaringan saraf yang menerapkan aktivasi nonlinear, normalisasi, atau operasi lain di antara lapisan mungkin tidak mempertahankan perilakunya di bawah perubahan basis sembarang. Dalam praktiknya, koordinat representasi terikat pada parameter yang dipelajari dan operasi di sekitarnya; mengubah satu bagian saja dapat mengubah prediksi.

Ketika sekumpulan kandidat gagal

Dua vektor kandidat dapat menunjuk ke arah yang sama, tetapi tetap tampak sebagai dua entri dalam sebuah daftar:

a1=[11],a2=[22].\boldsymbol{a}_1=\begin{bmatrix}1\\1\end{bmatrix},\qquad \boldsymbol{a}_2=\begin{bmatrix}2\\2\end{bmatrix}.

Vektor kedua adalah dua kali vektor pertama. Determinannya nol, dan rentangnya hanya garis y=xy=x, bukan seluruh bidang. Vektor (1,7)(1,7) sama sekali tidak dapat dijangkau dengan keduanya. Bahkan vektor yang dapat dijangkau bisa memiliki koordinat ambigu: (2,2)(2,2) dapat ditulis sebagai 2a1+0a22\boldsymbol{a}_1+0\boldsymbol{a}_2 atau 0a1+1a20\boldsymbol{a}_1+1\boldsymbol{a}_2.

Vektor yang hampir sejajar dapat lolos uji kebebasan linear eksak, tetapi koordinat yang dihasilkannya dapat sangat sensitif terhadap perubahan kecil pada pengukuran atau pembulatan. Ini adalah masalah pengondisian numerik: koordinat matematisnya mungkin unik, sedangkan nilai hasil hitungnya rapuh. Estimasi rank dan residu rekonstruksi menjawab pertanyaan yang berbeda, jadi tafsirkan keduanya sesuai presisi data.

Karena itu, basis lebih dari sekadar daftar vektor yang ringkas. Basis adalah suatu kontrak: setiap vektor dalam ruang yang dipilih dapat dijangkau, dan setelah basis ditetapkan, hanya ada satu tupel koordinat yang menggambarkan tiap vektor. Jumlah vektor basis lalu memberikan dimensi ruang, langkah berikutnya dalam menghubungkan aljabar linear dengan representasi model.

Periksa pemahamanmu

Pertanyaan 1

Apakah (2, 0) dan (1, 3) membentuk basis untuk ℝ²? Tunjukkan uji kebebasan linear dan jelaskan mengapa uji itu cukup di sini.

Tampilkan solusi langkah demi langkah

Susun kedua vektor sebagai kolom matriks:

A=[2103].A=\begin{bmatrix}2&1\\0&3\end{bmatrix}.

Determinan matriks itu adalah 2⋅3−1⋅0=62\cdot3-1\cdot0=6, bukan nol, sehingga kolom-kolomnya bebas linear. Ada dua vektor bebas linear di R2\mathbb{R}^2; keduanya membentang bidang dan membentuk basis.

Pertanyaan 2

Dengan b₁=(1, 1) dan b₂=(−1, 2), cari koordinat basis untuk v=(1, 7). Verifikasi jawaban melalui rekonstruksi.

Tampilkan solusi langkah demi langkah

Tetapkan c1b1+c2b2=(1,7)c_1\boldsymbol{b}_1+c_2\boldsymbol{b}_2=(1,7). Membandingkan komponen menghasilkan c1−c2=1c_1-c_2=1 dan c1+2c2=7c_1+2c_2=7. Kurangkan persamaan pertama dari yang kedua: 3c2=63c_2=6, sehingga c2=2c_2=2. Lalu c1=3c_1=3. Rekonstruksi: 3(1,1)+2(−1,2)=(3−2,3+4)=(1,7)3(1,1)+2(-1,2)=(3-2,3+4)=(1,7). Koordinatnya adalah (3,2)(3,2).

Pertanyaan 3

Dalam basis miring yang sama, vektor apa yang dinyatakan koordinat (−2, 4) dalam koordinat standar?

Tampilkan solusi langkah demi langkah

Substitusikan koordinat ke dalam kombinasi linear: −2(1,1)+4(−1,2)-2(1,1)+4(-1,2). Komponen pertama adalah −2−4=−6-2-4=-6; komponen kedua −2+8=6-2+8=6. Jadi, vektor yang dinyatakan adalah (−6,6)(-6,6).

Pertanyaan 4

Mengapa sebuah basis hanya dapat memberikan satu tupel koordinat untuk sebuah vektor?

Tampilkan solusi langkah demi langkah

Misalkan v=∑icibi\boldsymbol{v}=\sum_i c_i\boldsymbol{b}_i dan v=∑idibi\boldsymbol{v}=\sum_i d_i\boldsymbol{b}_i sama-sama berlaku. Kurangkan kedua ekspresi itu untuk memperoleh ∑i(ci−di)bi=0\sum_i(c_i-d_i)\boldsymbol{b}_i=0. Kebebasan linear menyatakan bahwa hanya koefisien yang semuanya nol yang menghasilkan vektor nol. Karena itu, ci=dic_i=d_i untuk setiap vektor basis.

Pertanyaan 5

Misalkan a₁=(1, 2) dan a₂=(2, 4). Apakah keduanya dapat menyatakan (3, 1)? Berikan satu vektor yang dapat dijangkau dengan lebih dari satu deskripsi koordinat.

Tampilkan solusi langkah demi langkah

Kedua vektor berada pada garis y=2xy=2x, sehingga setiap kombinasi linearnya juga berada pada garis itu. Karena (3,1)(3,1) tidak memenuhi 1=2⋅31=2\cdot3, vektor tersebut tidak dapat dijangkau. Vektor (2,4)(2,4) dapat dijangkau dengan dua cara: 2a1+0a22\boldsymbol{a}_1+0\boldsymbol{a}_2 dan 0a1+1a20\boldsymbol{a}_1+1\boldsymbol{a}_2. Ketergantungan linear menyebabkan kegagalan membentang seluruh bidang sekaligus koordinat yang tidak unik untuk beberapa vektor yang dapat dijangkau.

Pertanyaan 6

Di ℝ³, misalkan a₁=(1, 0, 1), a₂=(0, 1, 1), dan a₃=(1, 1, 2). Apakah ini basis untuk seluruh ℝ³? Dapatkah a₁ dan a₂ menjadi basis bagi ruang yang lebih kecil?

Tampilkan solusi langkah demi langkah

Perhatikan bahwa a3=a1+a2\boldsymbol{a}_3=\boldsymbol{a}_1+\boldsymbol{a}_2, sehingga himpunan tiga vektor ini bergantung linear. Ini bukan basis untuk R3\mathbb{R}^3; rentangnya paling banyak sebuah bidang. Dua vektor pertama bebas linear, sehingga keduanya membentuk basis bagi rentangnya, yaitu bidang yang dibangkitkan oleh a1\boldsymbol{a}_1 dan a2\boldsymbol{a}_2.

Pertanyaan 7

Untuk B=[[1, −1], [1, 2]] dengan vektor basis disimpan sebagai kolom, apa yang dikembalikan `np.linalg.solve(B, [1, 7])`, dan apa yang harus diperiksa sesudahnya?

Tampilkan solusi langkah demi langkah

Sistemnya adalah c1−c2=1c_1-c_2=1 dan c1+2c2=7c_1+2c_2=7. Solusinya c=(3,2)\boldsymbol{c}=(3,2). Rekonstruksi dengan BcB\boldsymbol{c} untuk memeriksa apakah hasilnya (1,7)(1,7); pemeriksaan residu numerik seperti np.allclose(B @ coordinates, v) dapat menemukan kesalahan transposisi atau pengindeksan. Periksa juga bahwa BB persegi dan berpangkat penuh sebelum menganggap kolomnya sebagai basis R2\mathbb{R}^2.

Pertanyaan 8

Model linear memberi skor untuk v=(1, 7) dengan w=(2, 1). Jika koordinat berubah menjadi c=(3, 2) dalam basis miring, bobot apa yang sesuai agar skornya tetap sama? Apa yang terjadi jika bobot lama dibiarkan?

Tampilkan solusi langkah demi langkah

Tuliskan v=Bc\boldsymbol{v}=B\boldsymbol{c}. Maka wTv=(BTw)Tc\boldsymbol{w}^{\mathsf T}\boldsymbol{v}=(B^{\mathsf T}\boldsymbol{w})^{\mathsf T}\boldsymbol{c}, sehingga bobot baru adalah BTw=(3,0)B^{\mathsf T}\boldsymbol{w}=(3,0). Skornya 3⋅3+0⋅2=93\cdot3+0\cdot2=9, sama dengan skor lama 2⋅1+1⋅7=92\cdot1+1\cdot7=9. Jika bobot lama (2,1)(2,1) diterapkan tanpa perubahan pada (3,2)(3,2), skornya menjadi 2⋅3+1⋅2=82\cdot3+1\cdot2=8, sehingga keluaran model berubah.

Sumber

  1. Mathematics for Machine Learning book PDF
  2. NumPy documentation: numpy.linalg.solve
  3. NumPy documentation: numpy.linalg.matrix_rank