Kursus Matematika untuk AI · Pelajaran 40 dari 180
L1, L2, dan L-infinity Memaknai Besar Secara Berbeda
Bandingkan ukuran vektor L1, L2, dan L-infinity, lihat perubahan bentuk bola satuannya, serta bedakan penalti parameter dari batas anggaran ketahanan input.
Model dapat peka terhadap perubahan yang tampak kecil di setiap koordinat input. Untuk menjelaskan perubahan tersebut, kita perlu memilih cara mengukur besarnya. Norma L1, L2, dan L-infinity memberikan jawaban yang berbeda—dan bola satuannya menunjukkan alasannya dengan jelas.
Setelah membaca, Anda akan dapat membandingkan norma-norma itu, memahami bentuknya dalam dua dimensi, serta membedakan penalti pada parameter model dari batas perubahan input.
Capaian pembelajaran: Jelaskan bagaimana norma yang berbeda mengubah geometri dan sensitivitas.
Pelajaran 39 (dalam bahasa Inggris) memperkenalkan norma sebagai aturan untuk mengukur vektor. Bagian 3.1 dari buku resmi Mathematics for Machine Learning membahas norma umum dan geometrinya. Contoh, perbandingan, gambar interaktif, dan aplikasi AI di bawah ini merupakan karya orisinal.
Satu vektor, tiga pengukuran
Untuk vektor riil , norma L1 menjumlahkan nilai absolut koordinat, norma L2 mengambil akar dari jumlah kuadrat koordinat, sedangkan norma L-infinity mengambil koordinat dengan nilai absolut terbesar:
Ambil . Norma L1-nya adalah . Norma L2-nya . Norma L-infinity-nya . Vektornya tidak berubah; tiap aturan menyoroti aspek koordinat yang berbeda. L1 mengakumulasi besar semua koordinat, L2 mengukur panjang Euclidean, dan L-infinity melaporkan satu perubahan terbesar.
NumPy dapat menghitung setiap norma vektor dengan mengatur ord secara eksplisit:
import numpy as np
x = np.array([3.0, -4.0])
np.linalg.norm(x, ord=1) # 7.0
np.linalg.norm(x, ord=2) # 5.0
np.linalg.norm(x, ord=np.inf) # 4.0
Di sini x berdimensi satu, sehingga ord=2 meminta norma Euclidean-nya. Untuk array dua dimensi, numpy.linalg.norm juga dapat menghitung norma matriks; saat mengolah sekumpulan vektor, tentukan orde norma dan sumbu vektornya. NumPy mendokumentasikan kasus vektor dan matriks ini secara terpisah.
Bola satuan memperjelas pilihan
Bola satuan suatu norma adalah himpunan vektor yang normanya paling besar satu. Dalam dua dimensi, bola satuan L1 berbentuk wajik, bola satuan L2 berbentuk lingkaran, dan bola satuan L-infinity berbentuk persegi sejajar sumbu. Contohnya, tepat berada pada batas L2 karena . Titik ini berada di luar bola L1 karena , dan di dalam bola L-infinity karena besar koordinat terbesarnya adalah .
Geser salah satu koordinat di bawah. Titik yang sama akan diuji terhadap ketiga batas, sementara tabel menampilkan nilai setiap norma dan apakah titik tersebut berada di dalam bola satuannya.
Untuk x = (0,6, 0,8): L1 adalah 1,4 (di luar); L2 adalah 1 (pada batas); L-infinity adalah 0,8 (di dalam).
Batas bola satuan
- L1: batas wajik
- L2: batas lingkaran
- L-infinity: batas persegi
| Norma | Nilai | Posisi |
|---|---|---|
| L1 | 1,4 | di luar |
| L2 | 1 | pada batas |
| L-infinity | 0,8 | di dalam |
Tabel status tetap tersedia tanpa perlu menafsirkan warna atau bentuk pada grafik.
Bentuknya menentukan arah mana yang masih masuk dalam anggaran tetap. Misalnya, pada , norma L-infinity bernilai dan L2 sekitar , sehingga titik itu berada di dalam kedua bola satuan; L1 bernilai , sehingga titiknya berada di luar wajik. Anggaran berbentuk persegi membatasi tiap koordinat secara terpisah, sedangkan anggaran berbentuk lingkaran membatasi panjang Euclidean gabungannya.
Norma-norma ini tetap saling membatasi. Untuk setiap ,
Koordinat terbesar tidak mungkin melebihi akar dari jumlah kuadrat semua koordinat, yang juga tidak mungkin melebihi jumlah nilai absolutnya. Ketaksamaan Cauchy–Schwarz memberikan batas berikutnya, ; dengan membatasi setiap kuadrat koordinat oleh kuadrat koordinat terbesar, kita memperoleh . Jadi, perbedaan antarukuran ini dapat tumbuh seiring dimensi dan dapat mengurutkan dua vektor secara berbeda. Untuk dan , L1 menyatakan lebih besar (), sedangkan L2 menyatakan lebih besar ().
Penalti parameter dan batas input menjawab pertanyaan yang berbeda
Saat model dilatih, regularisasi menambahkan suku pada fungsi objektif untuk mencegah nilai parameter tertentu. Fungsi objektif pelatihan dapat memuat atau , dengan sebagai vektor parameter yang dipelajari dan tiap menentukan kekuatan penalti. Penalti L1 dapat mendorong koefisien yang jarang; penalti kuadrat L2 cenderung mengecilkan banyak koefisien tanpa membuatnya nol. Skala fitur dan kekuatan penalti memengaruhi hasilnya. Ekspresi L2 kuadrat adalah norma yang dikuadratkan, bukan norma itu sendiri.
Anggaran perturbasi input menerapkan norma pada vektor yang berbeda. Jika ditambahkan ke input , batasan berarti setiap koordinat berubah paling banyak sebesar . Jika nilai gambar sudah diskalakan ke , maka diukur pada skala itu; memotong gambar yang diubah kembali ke rentang input yang valid merupakan batasan terpisah.
Metode tanda gradien cepat dari Goodfellow, Shlens, dan Szegedy menggunakan geometri L-infinity. Untuk serangan tak tertarget, misalkan adalah kerugian model pada parameter , input , dan label . Satu langkahnya adalah
Gradien memperkirakan bagaimana perubahan kecil pada input memengaruhi kerugian. Memilih tanda setiap koordinat sesuai arah itu memaksimalkan kenaikan orde pertama dengan tetap menjaga setiap koordinat dalam batas . Ini merupakan konstruksi lokal satu langkah: metode ini tidak menjamin salah klasifikasi, dan keberhasilannya bergantung pada model dan input. Nilai L-infinity yang kecil juga tidak menjamin perubahan sulit dilihat atau realistis. Batas tersebut menyatakan anggaran per koordinat; manusia perlu menilai apakah anggaran itu sesuai dengan ancaman yang ingin diperhatikan.
Saat mengevaluasi sensitivitas model, catat vektor mana yang boleh berubah, norma apa yang membatasinya, serta satuan anggarannya. Dengan begitu, pernyataan seperti “tangguh dalam rentang ” memiliki makna geometris yang jelas, alih-alih menyembunyikan asumsi dalam kata kecil.
Periksa pemahaman Anda
Question 1
Untuk x = (3, −4), hitung norma L1, L2, dan L-infinity. Tunjukkan operasi untuk masing-masing norma.
Show the step-by-step solution
L1 menjumlahkan nilai absolut: . L2 menguadratkan, menjumlahkan,
lalu mengambil akar: sqrt(3² + (−4)²) = sqrt(9 + 16) = 5.
L-infinity mengambil koordinat dengan nilai absolut terbesar: .
Question 2
Untuk x = (−2, 1, −3), norma mana yang terbesar, dan berapa nilai ketiga normanya?
Show the step-by-step solution
L1 adalah . L2 adalah
sqrt((−2)² + 1² + (−3)²) = sqrt(4 + 1 + 9) = sqrt(14) ≈ 3.74.
L-infinity adalah . Di sini L1 terbesar karena menjumlahkan
nilai taknegatif menghasilkan nilai yang setidaknya sebesar kombinasi
Euclidean atau koordinat tunggal terbesar.
Question 3
Apakah (0.7, 0.7) berada di dalam setiap bola satuan dua dimensi? Hitung normanya sebelum memutuskan.
Show the step-by-step solution
L1 adalah , jadi titik tersebut berada di luar bola L1. L2
adalah sqrt(0.7² + 0.7²) = sqrt(0.98) ≈ 0.99, jadi titik berada
di dalam bola L2. L-infinity adalah , jadi titik berada
di dalam bola L-infinity yang berbentuk persegi.
Question 4
Jelaskan mengapa norma L-infinity tidak dapat melebihi norma L2, dan mengapa norma L2 tidak dapat melebihi norma L1.
Show the step-by-step solution
Misalkan . Kuadrat salah satu koordinat bernilai , dan kuadrat koordinat lain tidak negatif, sehingga . Dengan mengambil akar diperoleh . Selanjutnya, kuadrat jumlah nilai nonnegatif mencakup kuadrat setiap nilai ditambah suku silang yang nonnegatif, sehingga . Dengan mengambil akar diperoleh .
Question 5
Perturbasi dengan 1.000 koordinat memenuhi ||δ||∞ ≤ 0.01. Batas per koordinat apa yang ditetapkan, dan batas atas apa yang mengikuti untuk ||δ||₁?
Show the step-by-step solution
Syarat L-infinity berarti untuk setiap koordinat . Menjumlahkan 1.000 nilai absolut memberikan . Karena itu, perubahan maksimum per koordinat yang kecil tetap dapat menghasilkan total perubahan absolut yang lebih besar pada input berdimensi tinggi.
Question 6
Mengapa kode NumPy untuk menghitung norma setiap vektor dalam sekumpulan vektor perlu menentukan axis, dan mengapa nilai default matriks tidak boleh langsung dianggap sebagai norma operator L2?
Show the step-by-step solution
Pada array yang memuat beberapa vektor, argumen axis menunjukkan dimensi
koordinat yang menjadi bagian dari setiap vektor; tanpanya, NumPy mungkin
memperlakukan array dua dimensi sebagai matriks dan menghitung norma
matriks. Norma-2 matriks adalah nilai singular terbesar, sedangkan norma-2
vektor adalah panjang Euclidean. Menyebutkan struktur array, ord, dan
axis membuat besaran yang dimaksud menjadi jelas.
Question 7
Apakah penalti L2 pada bobot model menjamin ketahanan terhadap perubahan input yang dibatasi norma L-infinity? Jelaskan kedua vektor yang terlibat.
Show the step-by-step solution
Tidak. Penalti diterapkan pada vektor parameter saat model dilatih. Anggaran ketahanan L-infinity diterapkan pada vektor perturbasi input . Keduanya membatasi besaran yang berbeda di bagian model yang berbeda, sehingga penalti bobot saja tidak membuktikan jaminan ketahanan input yang dinyatakan.
Question 8
Jika gradien kerugian terhadap input adalah g = (2, −1) dan ε = 0.01, perturbasi apa yang dipilih oleh langkah tanda gradien cepat tak tertarget, dan berapa perubahan kerugian orde pertama yang diprediksi g?
Show the step-by-step solution
Tanda koordinatnya adalah , sehingga langkahnya . Prediksi perubahan orde pertama adalah . Ini merupakan pendekatan linear berdasarkan gradien, bukan jaminan bahwa kerugian sebenarnya naik 0.03 atau bahwa prediksi berubah.