Kursus Matematika untuk AI · Pelajaran 29 dari 180

Kebebasan Linear Menghilangkan Redundansi pada Fitur AI

Gunakan persamaan koefisien untuk menemukan arah fitur yang berulang, uji kebebasan linear secara manual, dan periksa matriks fitur dengan NumPy.

Bagikan artikel ini

Model dapat menerima dua kolom fitur yang tampak seperti masukan berbeda, tetapi selalu naik dan turun bersama. Jika satu kolom merupakan kelipatan tepat dari kolom lainnya, model mendapat dua nama untuk satu arah. Prediksinya mungkin tetap terdefinisi dengan baik, tetapi bobot individual yang menghasilkannya tidak dapat ditentukan secara unik.

Kebebasan linear memberi kita uji yang tepat untuk redundansi itu. Setelah pelajaran ini, Anda dapat menemukan kombinasi koefisien nonnol yang menjumlahkan vektor menjadi nol, menjelaskan mengapa kombinasi itu menunjukkan arah yang berulang, dan memeriksa matriks fitur AI kecil dengan NumPy.

Pelajaran 17 memperkenalkan kombinasi linear sebagai jumlah berbobot. Pelajaran 28 menggunakan kombinasi tersebut untuk menggambarkan fitur terbatas. Bagian 2.5 dari Mathematics for Machine Learning resmi menggunakan operasi yang sama untuk menentukan apakah sekumpulan vektor memuat arah yang redundan. Situs pendamping para penulis menyebutkan bahwa PDF yang ditautkan adalah unduhan buku terkini. Matriks fitur, perhitungan, visual, kode, dan latihan di sini merupakan karya orisinal.

Cari kombinasi nonnol yang saling meniadakan

Misalkan kita memiliki vektor x1,…,xk\boldsymbol{x}_1,\ldots,\boldsymbol{x}_k dalam satu ruang vektor. Kita bertanya apakah beberapa koefisien dapat menggabungkannya menjadi vektor nol:

λ1x1+⋯+λkxk=0.\lambda_1\boldsymbol{x}_1+\cdots+\lambda_k\boldsymbol{x}_k=\boldsymbol{0}.

Koefisien yang semuanya nol selalu berhasil. Pertanyaan yang berguna adalah apakah pilihan lain juga berhasil.

Hasil nol saja tidak membuktikan apa pun karena menetapkan semua koefisien ke nol selalu menghasilkan nol. Kebergantungan berarti ada kombinasi nontrivial: setidaknya satu koefisien tidak nol, tetapi arah-arah berbobotnya saling meniadakan. Salah satu vektor dalam kumpulan itu kemudian dapat ditulis ulang menggunakan vektor lain, sehingga kumpulan tersebut memuat arah linear yang berulang.

Uraikan pembatalannya langkah demi langkah

Ambil dua arah fitur:

u=[12],v=[24].\boldsymbol{u}= \begin{bmatrix}1\\2\end{bmatrix}, \qquad \boldsymbol{v}= \begin{bmatrix}2\\4\end{bmatrix}.

Vektor kedua adalah dua kali vektor pertama: v=2u\boldsymbol{v}=2\boldsymbol{u}. Pilih koefisien 22 dan −1-1:

2u−v=2[12]−[24]=[2−24−4]=[00].2\boldsymbol{u}-\boldsymbol{v} =2\begin{bmatrix}1\\2\end{bmatrix} -\begin{bmatrix}2\\4\end{bmatrix} =\begin{bmatrix}2-2\\4-4\end{bmatrix} =\begin{bmatrix}0\\0\end{bmatrix}.

Ini merupakan relasi nontrivial karena kedua koefisien tidak sama-sama nol. Relasi itu juga memberi penulisan ulang langsung: v=2u\boldsymbol{v}=2\boldsymbol{u}. Salah satu vektor dapat dihapus tanpa mengubah kumpulan arah yang dapat dijangkau oleh kombinasi linear.

Pencarian koefisien di bawah ini menggunakan u=(1,2)\boldsymbol{u}=(1,2) dan, pada kondisi bergantung, v=(2,4)\boldsymbol{v}=(2,4). Geser koefisien untuk melihat vektor-vektor berskala itu dijumlahkan. Ganti vektor kedua menjadi (0,1)(0,1) untuk membandingkannya dengan pasangan bebas linear. Hasil teks dan tabel mengulang koordinat yang digambar, sehingga perhitungan tetap tersedia tanpa harus menafsirkan warna atau bentuk.

Perbandingan bebas linear membuat definisi ini konkret. Misalkan p=(1,2)\boldsymbol{p}=(1,2) dan q=(0,1)\boldsymbol{q}=(0,1). Jika ap+bq=0a\boldsymbol{p}+b\boldsymbol{q}=\boldsymbol{0}, maka

a[12]+b[01]=[a2a+b]=[00].a\begin{bmatrix}1\\2\end{bmatrix} +b\begin{bmatrix}0\\1\end{bmatrix} =\begin{bmatrix}a\\2a+b\end{bmatrix} =\begin{bmatrix}0\\0\end{bmatrix}.

Koordinat pertama mengharuskan a=0a=0. Substitusi ke koordinat kedua menghasilkan b=0b=0. Karena hanya koefisien trivial yang berlaku, pasangan ini bebas linear. Aljabar ini merupakan buktinya; kisi interaktif membantu menjelajahi dampak pilihan koefisien yang berbeda.

Temukan arah fitur berulang dalam model

Matriks desain menyimpan contoh pada baris dan fitur pada kolom. Misalkan model dengan tiga contoh menerima kolom-kolom berikut:

x1=[123],x2=[246]=2x1,X=[122436].\boldsymbol{x}_1= \begin{bmatrix}1\\2\\3\end{bmatrix}, \qquad \boldsymbol{x}_2= \begin{bmatrix}2\\4\\6\end{bmatrix} =2\boldsymbol{x}_1, \qquad X= \begin{bmatrix} 1&2\\ 2&4\\ 3&6 \end{bmatrix}.

Kolom-kolom ini bergantung linear karena −2x1+x2=0-2\boldsymbol{x}_1+\boldsymbol{x}_2=\boldsymbol{0}. Untuk model linear dengan bobot w1,w2w_1,w_2, prediksinya adalah

X[w1w2]=x1w1+x2w2=x1(w1+2w2).X\begin{bmatrix}w_1\\w_2\end{bmatrix} =\boldsymbol{x}_1w_1+\boldsymbol{x}_2w_2 =\boldsymbol{x}_1(w_1+2w_2).

Hanya bobot gabungan w1+2w2w_1+2w_2 yang memengaruhi prediksi ini. Misalnya, bobot (1,0)(1,0) dan (−1,1)(-1,1) sama-sama membuat besaran tersebut bernilai 11, sehingga keduanya menghasilkan (1,2,3)T(1,2,3)^\mathsf{T}. Prediksinya sama, tetapi data ini tidak dapat menentukan bobot individual secara unik. Ini salah satu cara konkret redundansi fitur dapat menyulitkan interpretasi.

matrix_rank dari NumPy melaporkan jumlah nilai singular yang melampaui toleransinya. Ini memberi pemeriksaan rank praktis untuk matriks floating-point:

import numpy as np

X = np.array([[1., 2.],
              [2., 4.],
              [3., 6.]])

print(X @ np.array([-2., 1.]))  # [0. 0. 0.]
print(np.linalg.matrix_rank(X)) # 1

Baris pertama memeriksa relasi yang ditunjukkan, sedangkan baris kedua melaporkan satu arah kolom yang bebas linear. Dokumentasi matrix_rank NumPy menjelaskan bahwa perhitungannya menggunakan nilai singular dan toleransi. Pembulatan floating-point dapat membuat nilai singular yang tepatnya nol tampak sangat kecil tetapi tidak nol, sehingga perangkat lunak menerapkan ambang batas.

Jika dua kolom hasil pengukuran hanya hampir merupakan kelipatan, bukan kelipatan tepat, uji matematika dan keputusan rank numerik perlu ditangani dengan cermat. NumPy mencatat bahwa toleransi bawaan dapat menganggap kolom yang cukup berdekatan sebagai kekurangan rank, dan ketidakpastian pengukuran dapat membenarkan ambang yang berbeda. Untuk pencocokan kuadrat terkecil, dokumentasi least-squares NumPy juga menjelaskan penentuan rank melalui batas nilai singular dan mengembalikan solusi bernorma minimum ketika beberapa solusi meminimalkan galat. Jadi, rank numerik merupakan penilaian berbasis toleransi terhadap data dan perhitungan, bukan pernyataan bahwa dua fitur terukur identik secara simbolis.

Pemeriksaan cepat yang paling berguna langsung mengikuti definisi. Vektor nol membuat kumpulan bergantung linear. Kelipatan skalar tak nol menduplikasi suatu arah. Di Rd\mathbb{R}^d, kumpulan apa pun yang berisi lebih dari dd vektor pasti bergantung linear karena hanya ada dd arah bebas yang tersedia. Vektor yang berbeda tetap dapat bergantung linear, seperti ditunjukkan oleh (1,2)(1,2) dan (2,4)(2,4).

Untuk contoh kecil yang eksak, selesaikan persamaan koefisien dengan tangan. Untuk matriks data yang lebih besar atau pengukuran desimal, periksa rank numeriknya dan nyatakan toleransi atau ketidakpastian yang menjadi dasar interpretasi. Setelah arah bebas linear ditemukan, pelajaran berikutnya menanyakan apa yang dapat dinyatakan oleh semua kemungkinan kombinasi linearnya: span.

Periksa pemahaman Anda

Periksa pemahaman Anda

Question 1

Dalam definisi kebebasan linear, mengapa hanya koefisien yang semuanya nol boleh menghasilkan vektor nol?

Show the step-by-step solution

Koefisien yang semuanya nol selalu menghasilkan vektor nol, apa pun vektor masukannya. Kebebasan linear berarti tidak ada pilihan koefisien nontrivial lain yang saling meniadakan vektor-vektor itu; kebergantungan berarti ada pembatalan semacam itu dengan setidaknya satu koefisien tak nol.

Question 2

Misalkan u = (1, 3) dan v = (2, 6). Berikan relasi koefisien nontrivial yang membuktikan pasangan ini bergantung linear.

Show the step-by-step solution

Karena v=2uv=2u, pilih koefisien 22 dan −1-1. Maka 2u−v=2(1,3)−(2,6)=(2,6)−(2,6)=(0,0)2u-v=2(1,3)-(2,6)=(2,6)-(2,6)=(0,0). Kedua koefisien tidak sama-sama nol, jadi pasangan ini bergantung linear.

Question 3

Tunjukkan bahwa p = (1, 2) dan q = (0, 1) bebas linear.

Show the step-by-step solution

Tetapkan ap+bq=(0,0)ap+bq=(0,0). Per koordinat, persamaan ini menjadi (a,2a+b)=(0,0)(a,2a+b)=(0,0). Koordinat pertama memberi a=0a=0; lalu koordinat kedua memberi b=0b=0. Hanya pasangan koefisien trivial yang memenuhi, tepat seperti syarat kebebasan linear.

Question 4

Apakah kumpulan yang memuat (0, 0) dan (1, 0) bebas linear? Jelaskan dengan koefisien.

Show the step-by-step solution

Kumpulan itu bergantung linear. Beri koefisien 11 pada (0,0)(0,0) dan 00 pada (1,0)(1,0). Kombinasinya tetap (0,0)(0,0), sedangkan pasangan koefisien (1,0)(1,0) nontrivial. Jadi, vektor nol membuat seluruh kumpulan bergantung linear.

Question 5

Kolom fitur x₂ adalah dua kali x₁. Relasi koefisien apa yang membuktikan kolom-kolom itu bergantung linear?

Show the step-by-step solution

Persamaan x2=2x1x_2=2x_1 dapat disusun ulang menjadi −2x1+x2=0-2x_1+x_2=0. Koefisien −2-2 dan 11 tidak sama-sama nol, sehingga ini kombinasi nol nontrivial dan kolom-kolom itu bergantung linear.

Question 6

Untuk X = [[1, 2], [2, 4], [3, 6]], berapa rank-nya, dan apa artinya bagi kedua kolom?

Show the step-by-step solution

Kolom kedua adalah dua kali kolom pertama, sehingga kolom pertama menyediakan satu arah bebas linear dan kolom kedua tidak menambah arah baru. Rank-nya adalah 11. Setara dengan itu, X(−2,1)T=(0,0,0)TX(-2,1)^\mathsf{T}=(0,0,0)^\mathsf{T} merupakan relasi koefisien nontrivial.

Question 7

Mengapa tiga vektor apa pun di ℝ² pasti bergantung linear, meskipun tidak ada dua yang sama?

Show the step-by-step solution

R2\mathbb{R}^2 hanya memiliki dua arah koordinat bebas linear. Kumpulan tiga vektor melebihi dimensinya, sehingga setidaknya satu vektor dapat dinyatakan sebagai kombinasi linear vektor lainnya. Kesamaan antara dua vektor tidak diperlukan untuk kebergantungan.

Question 8

NumPy melaporkan rank matriks menggunakan toleransi. Mengapa fitur yang hampir duplikat dapat dianggap redundan meskipun nilainya bukan kelipatan tepat?

Show the step-by-step solution

Data floating-point dan derau pengukuran membuat kesamaan eksak terlalu ketat untuk banyak pemeriksaan praktis. Perhitungan rank matriks menghitung nilai singular di atas ambang; jika satu arah cukup kecil relatif terhadap toleransi yang dipilih, matriks dianggap kekurangan rank. Ambang itu sebaiknya mencerminkan presisi numerik dan, bila diketahui, ketidakpastian pengukuran.

Sumber

  1. Mathematics for Machine Learning companion website
  2. Mathematics for Machine Learning book PDF
  3. NumPy documentation: numpy.linalg.matrix_rank
  4. NumPy documentation: numpy.linalg.lstsq