Kursus Matematika untuk AI · Pelajaran 37 dari 180

Ruang afin menjelaskan bias dan batas keputusan

Lihat bagaimana translasi menggeser garis tanpa mengubah arahnya, dan mengapa bias pada lapisan neural dapat memindahkan batas klasifikasi menjauhi titik asal.

Bagikan artikel ini

Bobot pada sebuah pengklasifikasi menentukan arah yang memisahkan dua kelas. Bias memungkinkan garis pemisah itu berada di suatu tempat selain titik asal. Tambahan kecil ini merupakan translasi geometris: batas linear berubah menjadi batas afin, sementara arahnya tetap.

Setelah membaca, Anda akan dapat membedakan subruang yang ditranslasikan dari subruang yang melalui titik asal, menguji apakah suatu pemetaan linear atau afin, dan menghitung bagaimana bias mengubah batas pengklasifikasi sederhana.

Capaian pembelajaran: Membedakan himpunan linear dan afin serta transformasi linear dan afin.

Materi ini melanjutkan Pelajaran 034, yang menunjukkan bahwa pemetaan linear mempertahankan penjumlahan vektor dan perkalian skalar. Bagian 2.8 dari Mathematics for Machine Learning memperluas struktur tersebut dengan offset. Contoh, perhitungan pengklasifikasi, visual, dan asesmen di sini adalah karya orisinal.

Garis dapat mempertahankan arahnya sambil bergeser dari titik asal

Subruang vektor harus memuat vektor nol. Sebagai contoh, semua kelipatan d=(1,2)d=(1,2) membentuk garis yang melalui titik asal:

U={t(1,2):t∈R}.U = \{t(1,2):t\in\mathbb{R}\}.

Pilih titik p=(0,−1)p=(0,-1), lalu tambahkan ke setiap vektor di UU. Hasilnya adalah garis sejajar yang tidak lagi melalui titik asal:

L=p+U={p+u:u∈U}={(0,−1)+t(1,2):t∈R}.L = p+U = \{p+u:u\in U\} = \{(0,-1)+t(1,2):t\in\mathbb{R}\}.

Koordinat parametrik garis ini adalah (x1,x2)=(t,2t−1)(x_1,x_2)=(t,2t-1). Dengan menghilangkan tt, kita memperoleh 2x1−x2=12x_1-x_2=1. Vektor arahnya sama dengan milik UU, tetapi setiap titik di LL telah bergeser sebesar pp. Secara khusus, 0∉L0\notin L: koordinat pertama bernilai nol hanya jika t=0t=0, dan saat itu koordinat kedua bernilai −1-1. Jika titik pilihan pp berada di UU, translasi p+Up+U sama dengan UU; dalam kasus khusus ini, subruang afin sekaligus merupakan subruang vektor.

Arah sama, dengan dan tanpa offsetBias mengubah batas dari 2x₁ − x₂ = 0 menjadi 2x₁ − x₂ = 1. Kedua garis tetap sejajar, dan batas hasil translasi tidak lagi memuat titik asal.
x₁x₂titik asalp = (0, −1)offsetnormal w = (2, −1)
  • Tanpa bias: 2x₁ − x₂ = 0
  • Bias −1: 2x₁ − x₂ = 1

Kedua garis pada gambar memiliki vektor arah yang sama, (1,2)(1,2), karena vektor itu tegak lurus terhadap vektor normal bersama (2,−1)(2,-1). Garis putus-putus adalah translasi dari garis utuh. Posisi berubah, tetapi orientasinya tidak. Label dan persamaan menyampaikan informasi yang sama tanpa mengandalkan warna.

Kombinasi afin mempertahankan titik di dalam himpunan ber-offset

Salah satu cara mengenali geometri afin adalah menggabungkan titik dengan koefisien yang jumlahnya satu. Jika x=p+ux=p+u dan y=p+vy=p+v berada di LL, maka untuk setiap bilangan real λ\lambda,

λx+(1−λ)y=λ(p+u)+(1−λ)(p+v)=p+(λu+(1−λ)v)∈p+U.\lambda x+(1-\lambda)y = \lambda(p+u)+(1-\lambda)(p+v) = p+\bigl(\lambda u+(1-\lambda)v\bigr) \in p+U.

Offset pp tetap ada karena λ+(1−λ)=1\lambda+(1-\lambda)=1, dan bagian di dalam tanda kurung tetap berada di UU karena subruang tertutup terhadap kombinasi linear. Itulah sebabnya interpolasi titik-titik pada garis tetap berada di garis tersebut, termasuk ekstrapolasi saat λ\lambda berada di luar [0,1][0,1].

Penjumlahan biasa memiliki jumlah koefisien yang berbeda. Untuk x,y∈Lx,y\in L, berlaku x+y=2p+(u+v)x+y=2p+(u+v), yang belum tentu berada di p+Up+U. Pada garis contoh kita, ambil x=px=p dan y=py=p sehingga x+y=(0,−2)x+y=(0,-2); titik ini tidak memenuhi persamaan garis 2x1−x2=12x_1-x_2=1. Jadi, subruang afin mempertahankan kombinasi afin, sedangkan subruang vektor mempertahankan semua kombinasi linear dan memuat nol.

Titik jangkar yang dipilih tidak unik. Jika q∈Uq\in U, maka p+U=(p+q)+Up+U=(p+q)+U karena menambahkan unsur dari UU hanya mengubah titik mana yang dijadikan jangkar. Ruang arah adalah bagian yang tetap; titik pendukung hanya satu wakil yang praktis.

Bias menggeser batas pengklasifikasi

Pemetaan afin menggabungkan pemetaan linear dengan translasi tetap:

Untuk dua masukan apa pun, translasi saling menghapus saat dikurangkan:

F(x)−F(y)=(Ax+b)−(Ay+b)=A(x−y).F(x)-F(y)=(Ax+b)-(Ay+b)=A(x-y).

Untuk koefisien yang jumlahnya satu, keluaran juga mempertahankan kombinasi afinnya:

F(λx+(1−λ)y)=λF(x)+(1−λ)F(y).F\bigl(\lambda x+(1-\lambda)y\bigr) = \lambda F(x)+(1-\lambda)F(y).

Ini berbeda dari aturan pemetaan linear untuk penjumlahan sembarang. Khususnya, F(0)=bF(0)=b, sehingga bias bukan nol memetakan masukan nol ke keluaran bukan nol.

Misalkan x=(x1,x2)∈R2x=(x_1,x_2)\in\mathbb{R}^2 adalah masukan dengan dua fitur. Skornya adalah

s(x)=2x1−x2−1.s(x)=2x_1-x_2-1.

Masukan masuk kelas positif jika s(x)≥0s(x)\ge 0 dan kelas negatif jika s(x)<0s(x)<0. Batas keputusan adalah lokasi dengan skor nol:

2x1−x2−1=0⟺2x1−x2=1.2x_1-x_2-1=0 \quad\Longleftrightarrow\quad 2x_1-x_2=1.

Vektor bobot w=(2,−1)w=(2,-1) menentukan normal batas, sedangkan bias b=−1b=-1 menetapkan tingkat skor pada wTx=1w^\mathsf{T}x=1. Dalam dua dimensi, batasnya berupa garis; dalam ruang fitur berdimensi lebih tinggi, himpunan datar terkait disebut hiperbidang. Titik p=(0,−1)p=(0,-1) berada di atasnya karena 2(0)−(−1)−1=02(0)-(-1)-1=0. Bergerak sepanjang arah d=(1,2)d=(1,2) tidak mengubah skor:

Tanpa bias, batasnya adalah 2x1−x2=02x_1-x_2=0 dan melalui titik asal. Penambahan bb mengubah intersep, bukan vektor normalnya. Secara umum, skor pengklasifikasi wTx+bw^\mathsf{T}x+b menggunakan ww untuk menentukan orientasi hiperbidang dan bb untuk menentukan offset-nya. Dokumentasi PyTorch untuk torch.nn.Linear menuliskan bentuk afin ini sebagai y=xAT+by=xA^\mathsf{T}+b dan mengaktifkan bias yang dapat dipelajari secara default (dokumentasi torch.nn.Linear). Dengan satu keluaran, lapisan tersebut dapat menghasilkan skor seperti ini; aturan lanjutan seperti ambang kemudian menetapkan kelas.

Bias menggeser batas secara sejajar hanya selama bobot tetap. Jika pelatihan mengubah ww, orientasi batas juga berubah. Bias juga tidak dapat membuat satu batas afin mewakili setiap pola klasifikasi yang mungkin; bias hanya menyesuaikan offset skor linear tertentu ini.

Verifikasi geometri dengan NumPy

Contoh ini dapat diperiksa langsung. Kode berikut menghitung skor pada titik pendukung dan dua titik yang diperoleh dengan bergerak sepanjang arah:

import numpy as np

w = np.array([2.0, -1.0])
b = -1.0
p = np.array([0.0, -1.0])
d = np.array([1.0, 2.0])
score = lambda x: w @ x + b

print(score(p))          # 0.0: p is on the boundary
print(score(p + d))      # 0.0: moving along d stays on it
print(score(p + 3 * d))  # 0.0: extrapolating along d also stays on it
print(score(np.zeros(2)))  # -1.0: the origin is off the boundary

Perhitungannya menggunakan geometri vektor kolom, sedangkan batch tensor yang umum menyimpan contoh sebagai baris. PyTorch menuliskan lapisan linear batch sebagai xAT+bxA^\mathsf{T}+b; transpose menyesuaikan konvensi berorientasi baris itu. Dengan bias default, operasi tersebut afin. Mengatur bias=False membuat pemetaan lapisan menjadi linear, meskipun aktivasi nonlinear setelahnya merupakan operasi terpisah.

Periksa pemahaman Anda

Question 1

Untuk U = span((1, 2)) dan p = (0, −1), tuliskan p + U dalam bentuk parametrik dan nyatakan apakah himpunan itu memuat titik asal.

Show the step-by-step solution

Setiap titik berbentuk p+tup+tu untuk suatu t∈Rt\in\mathbb{R} dengan vektor arah u=(1,2)u=(1,2). Jadi (x1,x2)=(0,−1)+t(1,2)=(t,2t−1)(x_1,x_2)=(0,-1)+t(1,2)=(t,2t-1). Untuk mencapai titik asal, koordinat pertama mensyaratkan t=0t=0, tetapi koordinat kedua lalu bernilai −1-1. Jadi, himpunan itu tidak memuat titik asal dan bukan subruang vektor.

Question 2

Sebuah garis dinyatakan sebagai (x₁, x₂) = (3, 1) + t(2, −1). Berikan satu titik jangkar dan ruang arahnya. Apakah jangkar itu unik?

Show the step-by-step solution

Jangkar yang ditampilkan adalah p=(3,1)p=(3,1) dan ruang arahnya U=span⁡{(2,−1)}U=\operatorname{span}\{(2,-1)\}. Jika qq adalah vektor apa pun di UU, maka (p+q)+U=p+U(p+q)+U=p+U, sehingga titik lain pada garis dapat dijadikan jangkar. Ruang arahnya tidak berubah.

Question 3

Tunjukkan bahwa subruang afin tertutup terhadap kombinasi λx + (1 − λ)y, bahkan ketika λ berada di luar 0 sampai 1.

Show the step-by-step solution

Tuliskan x=p+ux=p+u dan y=p+vy=p+v dengan u,v∈Uu,v\in U. Maka λx+(1−λ)y=(λ+1−λ)p+λu+(1−λ)v\lambda x+(1-\lambda)y=(\lambda+1-\lambda)p+\lambda u+(1-\lambda)v. Koefisien pp berjumlah satu, dan vektor sisanya berada di UU karena tertutup terhadap kombinasi linear. Ini berlaku untuk setiap bilangan real λ\lambda; nilai di luar [0,1][0,1] mengekstrapolasi melewati segmen tetapi tetap pada subruang afin yang sama.

Question 4

Untuk garis afin L = (0, −1) + span((1, 2)), uji apakah (0, −2), hasil penjumlahan jangkar dengan dirinya sendiri, berada di L.

Show the step-by-step solution

Sebuah titik (x1,x2)(x_1,x_2) termasuk garis ini tepat ketika 2x1−x2=12x_1-x_2=1. Substitusi (0,−2)(0,-2) menghasilkan 2(0)−(−2)=22(0)-(-2)=2, bukan 11. Jadi, hasil penjumlahan biasa itu berada di luar LL. Koefisien dua salinan tersebut berjumlah 22, sehingga offset jangkar dihitung dua kali, bukan dipertahankan sekali.

Question 5

Untuk F(x) = Ax + b, hitung F(0) dan jelaskan syarat agar pemetaan itu linear.

Show the step-by-step solution

Substitusikan vektor nol: F(0)=A0+b=bF(0)=A0+b=b. Setiap pemetaan linear harus memetakan nol ke nol, jadi jika b≠0b\ne0, FF bukan linear. Saat b=0b=0, aturannya menjadi F(x)=AxF(x)=Ax, yang mempertahankan penjumlahan dan perkalian skalar sehingga linear.

Question 6

Untuk s(x) = 2x₁ − x₂ − 1, verifikasi bahwa p = (0, −1) berada pada batas dan d = (1, 2) mengikuti arah batas.

Show the step-by-step solution

Pada pp, s(p)=2(0)−(−1)−1=0s(p)=2(0)-(-1)-1=0, jadi titik itu berada di batas skor nol. Perubahan skor setelah menambahkan dd adalah 2(1)−1(2)=02(1)-1(2)=0, karena bias konstan dan hasil kali titik bobot dengan arah bernilai nol. Jadi, p+d=(1,1)p+d=(1,1) tetap berada pada batas.

Question 7

Jika skor pengklasifikasi adalah wᵀx + b, apa dampak mengubah b saat w tetap? Apa yang berubah jika w juga berubah saat pelatihan?

Show the step-by-step solution

Batas memenuhi wTx=−bw^\mathsf{T}x=-b. Menahan ww tetap mempertahankan vektor normal dan orientasi; mengubah bb mengubah himpunan level sehingga batas bergeser. Jika ww berubah, normalnya juga berubah, sehingga batas dapat berputar sekaligus bergeser. Bias sendiri tidak mengendalikan orientasi.

Question 8

PyTorch membuat nn.Linear(4, 2) dengan opsi bias default. Pemetaan apa yang dihasilkan, dan perubahan apa yang membuat lapisan itu linear?

Show the step-by-step solution

Untuk masukan berorientasi baris dengan empat fitur, lapisan mengembalikan y=xAT+by=xA^\mathsf{T}+b dengan dua fitur keluaran. bias=True secara default menambahkan vektor terpelajar bb, sehingga pemetaannya afin. Membuatnya dengan bias=False menghapus translasi itu dan menghasilkan pemetaan linear y=xATy=xA^\mathsf{T}.

Sumber

  1. Mathematics for Machine Learning book PDF, Section 2.8
  2. PyTorch documentation: torch.nn.Linear