Apa itu norm vector dan metrik jarak?
Norm adalah fungsi yang memberi panjang pada sebuah vector. Norm L2 adalah panjang garis lurus biasa, √(x₁² + x₂² + …); norm L1 menjumlahkan nilai mutlak; dan norm L∞ mengambil nilai mutlak terbesar. Setiap norm mendefinisikan jarak: jarak antara a dan b adalah norm dari a − b.
Machine learning memakai norm dan jarak di mana pun ia membandingkan atau membatasi vector. K-nearest neighbors dan k-means mengandalkan jarak antartitik data, sistem retrieval memeringkat embedding dengan cosine similarity, dan penalti L1 dan L2 menjaga weight model tetap kecil. Loss function juga berupa norm: mean squared error berbasis L2 dan mean absolute error berbasis L1.
Ide utama
- Norm mengukur panjang vector, dan jarak antara dua vector adalah norm dari selisihnya.
- L2 adalah panjang garis lurus, L1 menjumlahkan nilai mutlak, dan L∞ mengambil nilai mutlak terbesar.
- Untuk vector apa pun, L∞ ≤ L2 ≤ L1.
- Bentuk unit ball berubah mengikuti p, dari belah ketupat pada p = 1, lingkaran pada p = 2, sampai persegi saat p → ∞.
- Cosine similarity hanya membandingkan arah dan mengabaikan panjang.
- Regularization L1 menghasilkan weight yang sparse, sedangkan L2 mengecilkan semua weight tanpa membuatnya nol.
Ulasan singkat tentang topik ini
Pertanyaan umum
Sebaiknya pakai cosine similarity atau jarak Euclidean?
Pakai cosine ketika hanya arah yang penting, seperti pada embedding teks yang panjangnya berbeda karena alasan yang tidak berkaitan dengan makna. Untuk vector berpanjang satu, keduanya memberi peringkat yang sama, karena |a − b|² = 2 − 2·cos(θ). Jarak Euclidean lebih tepat ketika besarnya membawa informasi, seperti pada pengukuran fisik.
Kenapa jarak jadi kurang berguna di dimensi tinggi?
Saat jumlah dimensi bertambah, jarak dari satu titik ke semua titik lain cenderung mengumpul, sehingga tetangga terdekat dan terjauh hampir sama jauhnya. Metode yang mengandalkan jarak, seperti k-NN, pun kehilangan daya beda. Dimensionality reduction, feature selection, atau embedding hasil belajar biasanya membantu.
Apa itu jarak Mahalanobis?
Jarak yang memperhitungkan skala dan korelasi data: d(x, y) = √((x − y)ᵀ Σ⁻¹ (x − y)), dengan Σ sebagai matriks covariance. Jika feature tidak berkorelasi dan variance-nya satu, jarak ini menjadi jarak Euclidean. Jarak ini dipakai dalam deteksi outlier dan model Gaussian.
Apakah feature perlu diskalakan sebelum menghitung jarak?
Biasanya perlu. Feature yang berskala ribuan, seperti pendapatan, akan mendominasi feature yang berskala satuan, seperti jumlah kamar per rumah, pada jarak L1 atau L2 apa pun. Menstandarkan tiap feature agar mean-nya nol dan variance-nya satu memberi pengaruh awal yang setara.
Penjelasan terkait
- Aljabar Linear · Vector, matriks, dan bahasa data
- Regularization · Dropout, L1, dan L2 agar model tetap jujur
- K-Nearest Neighbors · Klasifikasi berdasarkan kedekatan dan metrik jarak
- Embedding · Mengubah kata dan kategori menjadi vector
- Curse of Dimensionality · Kenapa ruang berdimensi tinggi merusak intuisi dan algoritma
- Feature Scaling · Kenapa dan bagaimana menormalkan feature agar lebih cepat konvergen
Referensi
- Deisenroth, Faisal & Ong, "Mathematics for Machine Learning", ch. 3 Analytic Geometry
- Goodfellow, Bengio & Courville, "Deep Learning", section 2.5 Norms
- James, Witten, Hastie & Tibshirani, "An Introduction to Statistical Learning", ch. 6 Linear Model Selection and Regularization
- Tibshirani (1996), "Regression Shrinkage and Selection via the Lasso"
Terakhir diperbarui