Kursus Matematika untuk AI · Pelajaran 45 dari 180

Ortogonalitas Berarti Tidak Ada Tumpang Tindih Linear

Uji ortogonalitas dengan hasil kali titik, pahami sudut siku-siku dan proyeksi nol, serta hindari menyamakan hasil kali dalam nol dengan independensi di NumPy.

Bagikan artikel ini

Bayangkan sebuah representasi AI memuat dua arah yang seharusnya menyumbangkan hal yang berbeda ke perhitungan berikutnya. Jika satu arah tidak menyumbangkan apa pun sepanjang arah lainnya, hasil kali dalam keduanya adalah nol. Misalnya, untuk u=(3,1)u=(3,1) dan v=(−1,3)v=(-1,3),

uTv=3(−1)+1(3)=−3+3=0.u^{\mathsf T}v=3(-1)+1(3)=-3+3=0.

Kedua vektor tidak kosong, tetapi dalam geometri hasil kali titik biasa, tidak satu pun memiliki komponen sepanjang vektor lainnya. Inilah gagasan berguna di balik ortogonalitas: hasil kali dalam nol berarti tidak ada tumpang tindih linear dalam geometri yang dipilih.

Di akhir pelajaran ini, Anda akan dapat menguji ortogonalitas dengan tangan dan di NumPy, menafsirkan nol sebagai sudut siku-siku dan proyeksi nol, serta membedakan ortogonalitas dari korelasi, independensi, dan “tidak ada informasi”.

Capaian pembelajaran: Menguji ortogonalitas dan menafsirkan hasil kali dalam nol secara geometris.

Pelajaran ini dibangun di atas Pelajaran 041: Hasil Kali Dalam Mengukur Keselarasan, yang memperkenalkan hasil kali titik sebagai skor keselarasan. Pelajaran 044: Sudut dan Kemiripan Kosinus kemudian memisahkan arah dari panjang vektor. Bagian 3.4 dari buku resmi Mathematics for Machine Learning menjadi rujukan matematis untuk pelajaran ini. Penjelasan, angka, kode, visual, hubungan dengan AI, dan asesmennya merupakan karya asli.

Ortogonalitas adalah hasil kali dalam nol

Misalkan x=(x1,…,xn)x=(x_1,\ldots,x_n) dan y=(y1,…,yn)y=(y_1,\ldots,y_n) adalah vektor real dengan jumlah koordinat yang sama. Koordinat pada posisi ii harus menjelaskan jenis besaran yang sama pada kedua vektor. Dalam pelajaran ini, hasil kali dalamnya adalah hasil kali titik Euclidean standar.

Ini adalah definisi aljabar. Pada bidang Euclidean biasa, untuk vektor tak nol, definisi ini sesuai dengan gambaran sudut siku-siku yang kita kenal. Rumus sudut dari pelajaran sebelumnya memperjelas hubungannya:

cos⁡(θ)=xTy∥x∥2∥y∥2.\cos(\theta)= \frac{x^{\mathsf T}y}{\lVert x\rVert_2\lVert y\rVert_2}.

Jika kedua vektor tidak nol dan xTy=0x^{\mathsf T}y=0, pembilangnya nol dan penyebutnya positif. Karena itu cos⁡(θ)=0\cos(\theta)=0 dan θ=π/2=90∘\theta=\pi/2=90^\circ. Syarat tak nol ini penting: vektor nol memiliki hasil kali titik nol dengan segala sesuatu, tetapi tidak memiliki arah sehingga tidak mempunyai sudut untuk ditafsirkan.

Uji dengan koordinat

Kembali ke u=(3,1)u=(3,1) dan v=(−1,3)v=(-1,3). Kedua entri itu adalah koordinat, bukan probabilitas atau derajat. Kerjakan perhitungannya dalam tiga tahap.

Pembatalan adalah peristiwa utama di sini. Hasil kali positif dari koordinat kedua tepat membatalkan hasil kali negatif dari koordinat pertama. Dalam skor linear yang menggunakan uu sebagai arah, vv tidak menyumbang apa pun sepanjang uu.

Satu hasil kali titik, tiga hubungan geometris

Tabel ini merupakan cadangan numerik lengkap untuk visual sudut siku-siku.
Vektor pertamaVektor keduaHasil kali titikSudutInterpretasi
u = (3, 1)v = (-1, 3)0.090.0°hasil kali titik = 0; sudut = 90°
u = (3, 1)w = (6, 2)20.00.0°hasil kali titik = 20; sudut = 0°
u = (3, 1)z = (2, 3)9.037.9°hasil kali titik = 9; sudut ≈ 37.9°

Tegak lurus

Vektor u dan v tegak lurus Vektor u dengan garis penuh sama dengan (3, 1). Vektor v dengan garis putus-putus sama dengan (−1, 3). Keduanya berangkat dari titik asal dengan sudut siku-siku, yang ditandai kotak kecil, dan hasil kali titiknya nol.x₁x₂uv

Searah

Vektor u dan w selaras Vektor u dengan garis penuh sama dengan (3, 1). Vektor w dengan garis putus-putus sama dengan (6, 2). Kedua panah berada pada sinar yang sama dari titik asal, sehingga sudutnya nol dan hasil kali titiknya positif.x₁x₂uw

Miring

Vektor u dan z miring Vektor u dengan garis penuh sama dengan (3, 1). Vektor z dengan garis putus-putus sama dengan (2, 3). Kedua panah membentuk sudut lancip yang bukan nol maupun 90 derajat, dan hasil kali titiknya positif.x₁x₂uz

Tabel memuat semua angka. Garis penuh dan putus-putus, label vektor, kotak sudut siku-siku, serta hubungan tertulis memberi petunjuk redundan pada diagram selain warna.

Pasangan tegak lurus adalah kasus hasil kali dalam nol. Panel lain menunjukkan mengapa hasil kali titik positif dapat menggambarkan keselarasan sempurna maupun sudut lancip yang miring.

Visual ini menempatkan tiga gagasan berdampingan. Pasangan selaras w=(6,2)w=(6,2) adalah penskalaan positif dari uu, sehingga sudutnya 0∘0^\circ dan hasil kali titiknya 3(6)+1(2)=203(6)+1(2)=20. Pasangan miring z=(2,3)z=(2,3) memiliki hasil kali titik 3(2)+1(3)=93(2)+1(3)=9 dan kosinus

91013≈0.789,\frac{9}{\sqrt{10}\sqrt{13}}\approx0.789,

sehingga sudutnya sekitar 37.9∘37.9^\circ. Jadi, hasil kali titik nol merupakan batas khusus antara keselarasan arah positif dan negatif; ini bukan sekadar skor positif yang kecil.

Penskalaan mengubah ukuran, bukan hubungan nol

Untuk skalar aa dan bb, bilinearitas memberikan

(ax)T(by)=ab xTy.(ax)^{\mathsf T}(by)=ab\,x^{\mathsf T}y.

Jika xTy=0x^{\mathsf T}y=0, vektor yang diskalakan tetap ortogonal untuk sembarang aa dan bb yang berhingga. Misalnya,

(−4u)T(7v)=(−28)(uTv)=(−28)(0)=0.(-4u)^{\mathsf T}(7v)=(-28)(u^{\mathsf T}v)=(-28)(0)=0.

Panjang dan arah panah dapat berubah: skalar negatif membalik panah, sedangkan skalar dengan nilai mutlak lebih besar membuatnya lebih panjang. Untuk skalar tak nol, sudut siku-siku tetap sudut siku-siku ketika salah satu atau kedua sisinya diregangkan atau dibalik. Ortogonalitas berkaitan dengan hasil kali dalam yang nol, bukan dengan panjang vektor yang sama.

Residual dapat ortogonal tanpa menjadi kosong

Ortogonalitas menjadi sangat berguna ketika suatu perhitungan menghapus satu arah linear dari sebuah vektor. Misalkan u≠0u\ne0 adalah arah dan yy adalah observasi. Proyeksi yy ke garis yang direntangkan oleh uu adalah

proj⁡u(y)=yTuuTuu.\operatorname{proj}_{u}(y) =\frac{y^{\mathsf T}u}{u^{\mathsf T}u}u.

Definisikan bagian yang tersisa, atau residual, sebagai

r=y−proj⁡u(y).r=y-\operatorname{proj}_{u}(y).

Residual ortogonal terhadap uu karena

uTr=uTy−yTuuTuuTu=uTy−yTu=0.\begin{aligned} u^{\mathsf T}r &=u^{\mathsf T}y -\frac{y^{\mathsf T}u}{u^{\mathsf T}u}u^{\mathsf T}u\\ &=u^{\mathsf T}y-y^{\mathsf T}u\\ &=0. \end{aligned}

Langkah terakhir menggunakan simetri hasil kali titik real. Inilah alasan geometris proyeksi meninggalkan titik terdekat pada sebuah garis: setiap gerakan yang tersisa tegak lurus terhadap garis tersebut.

Residual tidak nol: nilainya (−2/5,6/5)(-2/5,6/5) dan masih membawa arah serta besar. “Tidak ada tumpang tindih linear dengan uu” hanya berarti residual tidak memiliki komponen sepanjang satu arah itu. Residual dapat memuat struktur lain, hubungan nonlinear, noise, atau sinyal yang berguna bagi model berikutnya.

NumPy membuat pengujian menjadi eksplisit

Untuk array satu dimensi, dokumentasi NumPy saat ini mendefinisikan numpy.dot sebagai hasil kali dalam vektor. numpy.linalg.norm menghitung panjang Euclidean jika digunakan dengan array satu dimensi. Fungsi berikut memperlihatkan kontrak bentuk dan toleransi numeriknya:

import numpy as np


def is_orthogonal(x, y, *, atol=1e-12):
    x = np.asarray(x, dtype=float)
    y = np.asarray(y, dtype=float)
    if x.ndim != 1 or y.ndim != 1 or x.shape != y.shape:
        raise ValueError('x and y must be 1-D vectors with the same shape')

    dot = float(np.dot(x, y))
    scale = max(1.0, np.linalg.norm(x) * np.linalg.norm(y))
    return bool(np.isclose(dot, 0.0, atol=atol * scale, rtol=0.0))


u = np.array([3.0, 1.0])
v = np.array([-1.0, 3.0])
residual = np.array([-0.4, 1.2])

print(np.dot(u, v))
print(is_orthogonal(u, v))
print(np.dot(u, residual))
print(is_orthogonal(u, residual))

Hasilnya adalah

0.0
True
-2.220446049250313e-16
True

Toleransi bukan pengganti definisi. Toleransi mengakui bahwa aritmetika floating-point dapat menyisakan sisa bertanda yang sangat kecil ketika aritmetika eksak akan menghasilkan nol; suatu platform dapat menampilkan nilai yang sedikit berbeda. Dokumentasi isclose NumPy juga memperingatkan bahwa toleransi absolut bawaannya dapat tidak sesuai di dekat nol, sehingga pipeline nyata seharusnya memilih ambang yang memperhitungkan skala datanya. Pemeriksaan bentuk yang eksplisit mencegah penyiaran kebetulan atau operasi matriks yang tidak disengaja disalahartikan sebagai pengujian berpasangan untuk vektor.

Ortogonalitas, korelasi, dan independensi menjawab pertanyaan berbeda

Hasil kali dalam membandingkan dua vektor tetap dalam ruang koordinat yang dipilih. Koefisien korelasi menjelaskan bagaimana dua peubah acak atau kolom hasil observasi bergerak bersama setelah dipusatkan dan diskalakan. Hubungannya tepat untuk dataset berhingga, tetapi hanya setelah konvensi datanya dinyatakan.

Misalkan xcx_c dan ycy_c adalah dua kolom fitur terpusat dengan mm observasi. Dengan normalisasi populasi untuk sampel berhingga ini,

cov⁡(x,y)=1mxcTyc.\operatorname{cov}(x,y)=\frac{1}{m}x_c^{\mathsf T}y_c.

Jika kedua kolom memiliki varians tak nol, hasil kali titik terpusatnya nol tepat ketika kovarians Pearson empirisnya, dan karena itu korelasi Pearson-nya, nol. Konvensi sampel dengan penyebut m−1m-1 memiliki pembilang nol yang sama. Artinya adalah “tidak ada gerak linear bersama yang terukur dalam sampel ini”. Itu bukan berarti “fiturnya tidak berhubungan dalam segala cara yang mungkin”.

Berikut contoh tandingan kecil. Misalkan

x=(−1,0,1),y=(1,−2,1).x=(-1,0,1),\qquad y=(1,-2,1).

Kedua rata-ratanya nol, dan

xTy=(−1)(1)+0(−2)+1(1)=−1+1=0.x^{\mathsf T}y=(-1)(1)+0(-2)+1(1)=-1+1=0.

Kolom yang telah dipusatkan itu ortogonal dan memiliki korelasi empiris nol. Namun, kolom kedua ditentukan oleh kolom pertama melalui

y=3x2−2y=3x^2-2

secara koordinat. Hubungan itu nonlinear, bukan tidak ada. Karena itu, pipeline AI yang menghapus atau memutar arah berkorelasi dapat mengurangi redundansi linear sambil tetap menyisakan interaksi nonlinear untuk lapisan berikutnya. Dokumentasi pemilihan fitur scikit-learn saat ini menunjukkan batas yang sama dalam istilah implementasi: metode uji-F mengestimasi dependensi linear, sedangkan metode mutual information dapat mendeteksi dependensi statistik yang lebih luas dan membutuhkan lebih banyak data untuk estimasi yang akurat.

“Independen” adalah pernyataan probabilitas tentang distribusi gabungan. Hasil kali dalam nol antara dua vektor representasi—atau bahkan korelasi nol yang diukur pada satu dataset—tidak cukup untuk menyatakan independensi. Selalu sebutkan ruang, konvensi pemusatan, sampel, dan hubungan yang benar-benar Anda uji.

Bagi sistem AI, pembedaan ini memberi ortogonalitas peran yang terbatas tetapi berguna. Jika arah fitur terpusat ortogonal, pembacaan linear tidak dapat memperoleh skor tak nol dari satu arah dengan memproyeksikan arah lainnya ke sana. Jika sebuah komponen residual ortogonal terhadap arah yang dipasang, komponen itu terpisah dengan jelas dari kontribusi linear tersebut. Tidak satu pun pernyataan ini menjamin bahwa lapisan nonlinear, metrik berbeda, atau dataset berbeda akan mempertahankan pemisahan yang sama.

Langkah berikutnya dalam kurikulum adalah Pelajaran 046: Basis Ortonormal Menyederhanakan Koordinat (konten dalam bahasa Inggris). Pelajaran itu menambahkan panjang satu pada arah ortogonal, sehingga hasil kali dalam dapat dibaca langsung sebagai koordinat. Hub kursus Math for AI (konten dalam bahasa Inggris) mempertahankan pelajaran yang akan datang dan urutan prasyaratnya tetap terlihat sementara sumber berbahasa Inggris disiapkan untuk set terjemahan berikutnya.

Periksa pemahaman Anda

Question 1

Untuk u = (3, 1) dan v = (−1, 3), hitung hasil kali titik, kedua norma Euclidean, dan sudutnya.

Show the step-by-step solution

Pertama kalikan koordinat yang bersesuaian: uTv=3(−1)+1(3)=−3+3=0u^{\mathsf T}v=3(-1)+1(3)=-3+3=0. Berikutnya, ∥u∥2=32+12=10\lVert u\rVert_2=\sqrt{3^2+1^2}=\sqrt{10} dan ∥v∥2=(−1)2+32=10\lVert v\rVert_2=\sqrt{(-1)^2+3^2}=\sqrt{10}. Kedua vektor tidak nol, jadi cos⁡(θ)=0/(1010)=0\cos(\theta)=0/(\sqrt{10}\sqrt{10})=0. Karena itu θ=arccos⁡(0)=π/2=90∘\theta=\arccos(0)=\pi/2=90^\circ, yang merupakan interpretasi sudut siku-siku dari hasil kali dalam nol ini.

Question 2

Uji apakah a = (2, −1) dan b = (1, 2) ortogonal, lalu jelaskan mengapa hasilnya bukan karena salah satu vektor nol.

Show the step-by-step solution

Hasil kali koordinatnya adalah 2(1)=22(1)=2 dan (−1)(2)=−2(-1)(2)=-2. Jumlahnya adalah aTb=2−2=0a^{\mathsf T}b=2-2=0, jadi vektor tersebut lolos uji ortogonalitas. Normanya adalah ∥a∥2=5\lVert a\rVert_2=\sqrt{5} dan ∥b∥2=5\lVert b\rVert_2=\sqrt{5}, keduanya benar-benar positif. Jadi ini adalah dua vektor tak nol yang tegak lurus; nolnya berasal dari pembatalan antarkoordinat.

Question 3

Jika x ⊥ y, apa yang terjadi pada hasil kali dalam setelah x diganti dengan −4x dan y dengan 7y?

Show the step-by-step solution

Bilinearitas memberikan (−4x)T(7y)=(−4)(7)xTy=−28xTy(-4x)^{\mathsf T}(7y)=(-4)(7)x^{\mathsf T}y=-28x^{\mathsf T}y. Karena x⊥yx\perp y, hasil kali awalnya 00, jadi hasil kali baru adalah −28(0)=0-28(0)=0. Vektornya mungkin menjadi lebih panjang dan satu panah mungkin berbalik, tetapi hubungan nol, dan karena itu ketegaklurusan di bawah hasil kali titik yang sama, tetap ada.

Question 4

Dengan menggunakan u = (3, 1), klasifikasikan w = (6, 2) dan z = (2, 3) berdasarkan tanda hasil kali titiknya dengan u.

Show the step-by-step solution

Untuk ww, uTw=3(6)+1(2)=20>0u^{\mathsf T}w=3(6)+1(2)=20>0, dan w=2uw=2u, jadi vektornya selaras dengan sudut 0∘0^\circ. Untuk zz, uTz=3(2)+1(3)=9>0u^{\mathsf T}z=3(2)+1(3)=9>0; tanda positif menunjukkan sudut lancip, tetapi zz bukan kelipatan skalar dari uu, sehingga sudutnya miring, bukan nol. Jadi hasil kali titik positif berarti berada pada sisi umum geometri yang sama, bukan berarti arahnya pasti identik.

Question 5

Proyeksikan y = (5, 3) ke u = (3, 1), lalu hitung residual dan verifikasi ortogonalitasnya.

Show the step-by-step solution

Pertama hitung yTu=5(3)+3(1)=18y^{\mathsf T}u=5(3)+3(1)=18 dan uTu=32+12=10u^{\mathsf T}u=3^2+1^2=10. Koefisien proyeksinya 18/10=9/518/10=9/5, jadi proj⁡u(y)=(9/5)(3,1)=(27/5,9/5)\operatorname{proj}_u(y)=(9/5)(3,1)=(27/5,9/5). Pengurangan menghasilkan r=(5,3)−(27/5,9/5)=(−2/5,6/5)r=(5,3)-(27/5,9/5)=(-2/5,6/5). Terakhir, uTr=3(−2/5)+1(6/5)=−6/5+6/5=0u^{\mathsf T}r=3(-2/5)+1(6/5)=-6/5+6/5=0. Residualnya tidak nol; residual hanya tidak memiliki komponen sepanjang uu.

Question 6

Mengapa pengujian NumPy langsung dengan np.dot(x, y) == 0 dapat salah mengklasifikasikan sepasang vektor floating-point, dan apa yang dilakukan fungsi dalam pelajaran ini sebagai gantinya?

Show the step-by-step solution

Perhitungan desimal direpresentasikan dengan bilangan floating-point berpresisi terbatas, sehingga aritmetika yang tepat nol di atas kertas dapat menyisakan nilai kecil seperti 10−1510^{-15}. Uji kesamaan eksak kemudian mengembalikan false. Fungsi ini terlebih dahulu mensyaratkan array satu dimensi dengan bentuk yang sama, menghitung hasil kali titik dan kedua norma, lalu memanggil np.isclose dengan toleransi absolut eksplisit yang memperhitungkan skala serta rtol=0. Toleransi harus dipilih untuk data dan presisinya; toleransi tidak boleh menyembunyikan hasil kali titik besar atau kesalahan bentuk.

Question 7

Untuk x = (−1, 0, 1) dan y = (1, −2, 1), tunjukkan bahwa vektor yang dipusatkan ortogonal tetapi tidak independen dalam pengertian statistik biasa.

Show the step-by-step solution

Kedua rata-ratanya nol, jadi vektor tersebut sudah terpusat. Hasil kali titiknya (−1)(1)+0(−2)+1(1)=−1+1=0(-1)(1)+0(-2)+1(1)=-1+1=0, yang menghasilkan kovarians empiris nol dan, karena keduanya memiliki varians tak nol, korelasi Pearson nol. Namun koordinatnya tepat memenuhi y=3x2−2y=3x^2-2, sehingga pengamatan terhadap xx menentukan yy. Hubungan nonlinear deterministik itu adalah dependensi; korelasi linear nol bukan uji independensi umum.

Question 8

Sebuah model mengatakan bahwa residual ‘tidak informatif’ karena ortogonal terhadap arah yang dipasang. Bagian mana dari pernyataan itu valid, dan bagian mana yang terlalu kuat?

Show the step-by-step solution

Jika rr adalah residual setelah diproyeksikan ke arah uu, maka uTr=0u^{\mathsf T}r=0 valid: skor linear sepanjang uu tidak dapat mengambil kembali komponen rr dengan memproyeksikannya ke arah yang sama. Kesimpulan bahwa rr tidak informatif terlalu kuat. Residual dapat memiliki norma tak nol, memuat arah linear lain, mengodekan struktur nonlinear, atau membawa sinyal yang berguna bagi lapisan berikutnya. Ortogonalitas menghapus satu tumpang tindih linear yang ditentukan, bukan semua informasi.

Sumber

  1. Mathematics for Machine Learning book PDF, Section 3.4
  2. NumPy documentation: numpy.dot
  3. NumPy documentation: numpy.linalg.norm
  4. NumPy documentation: numpy.isclose
  5. scikit-learn documentation: Feature selection