Kapan seseorang menggunakan jarak Manhattan sebagai kebalikan dari jarak Euclidean?

18

Saya mencoba mencari argumen yang bagus tentang mengapa seseorang akan menggunakan jarak Manhattan di atas jarak Euclidean dalam Pembelajaran Mesin.

Hal terdekat yang saya temukan untuk argumen yang baik sejauh ini adalah pada kuliah MIT ini .

Pada 36:15 Anda dapat melihat pada slide pernyataan berikut:

"Biasanya menggunakan metrik Euclidean; Manhattan mungkin cocok jika dimensi yang berbeda tidak sebanding. "

Tak lama setelah profesor mengatakan bahwa, karena jumlah kaki reptil bervariasi dari 0 hingga 4 (sedangkan fitur lainnya adalah biner, hanya bervariasi dari 0 hingga 1), fitur "jumlah kaki" akan berakhir memiliki yang jauh lebih tinggi berat jika jarak Euclidean digunakan. Benar saja, itu memang benar. Tetapi orang juga akan memiliki masalah itu jika menggunakan jarak Manhattan (hanya saja masalahnya akan sedikit dikurangi karena kita tidak menguadratkan perbedaan seperti yang kita lakukan pada jarak Euclidean).

Cara yang lebih baik untuk menyelesaikan masalah di atas adalah dengan menormalkan fitur "jumlah kaki" sehingga nilainya selalu antara 0 dan 1.

Oleh karena itu, karena ada cara yang lebih baik untuk menyelesaikan masalah, rasanya seperti argumen menggunakan jarak Manhattan dalam kasus ini tidak memiliki titik yang lebih kuat, setidaknya menurut pendapat saya.

Adakah yang benar-benar tahu mengapa dan kapan seseorang akan menggunakan jarak Manhattan di atas Euclidean? Adakah yang bisa memberi saya contoh di mana menggunakan jarak Manhattan akan menghasilkan hasil yang lebih baik?

Tiago
sumber

Jawaban:

4

Menurut makalah yang menarik ini, jarak Manhattan (norma L1) mungkin lebih disukai daripada jarak Euclidean (norma L2) untuk kasus data dimensi tinggi:

https://bib.dbvis.de/uploadedFiles/155.pdf

Para penulis makalah ini bahkan melangkah lebih jauh dan menyarankan untuk menggunakan jarak norma Lk, dengan nilai fraksional k, untuk data dimensi yang sangat tinggi untuk meningkatkan hasil algoritma berbasis jarak, seperti pengelompokan.

Pablo Suau
sumber
stats.stackexchange.com/a/99191 memberikan jawaban yang lebih lengkap
mik
3

Saya dapat menyarankan beberapa ide, dari wikipedia .

  1. Jika Anda ingin memberikan penekanan yang kurang pada outlier, manhattan distance akan mencoba mengurangi semua kesalahan secara merata karena gradien memiliki besaran konstan.
  2. Jika kebisingan Anda didistribusikan Laplacian, MLE ditemukan dengan meminimalkan estimasi manhattan.
Jacques Kvam
sumber
3

Saya menemukan sesuatu yang mungkin intuisi tentang masalah ini dalam Praktek Mesin Langsung dengan Scikit-Learn dan TensorFlow

Baik RMSE dan MAE adalah cara untuk mengukur jarak antara dua vektor: vektor prediksi dan vektor nilai target. Berbagai ukuran jarak, atau norma, dimungkinkan:

  • Komputasi akar jumlah kuadrat (RMSE) sesuai dengan norma Euclidian: itu adalah gagasan tentang jarak yang Anda kenal. Ini juga disebut norma ℓ2 (...)

  • Komputasi jumlah absolut (MAE) sesuai dengan norma ℓ1, (...). Kadang-kadang disebut norma Manhattan karena mengukur jarak antara dua titik di kota jika Anda hanya dapat melakukan perjalanan di sepanjang blok kota ortogonal.

  • Secara umum, (...) ℓ 0 hanya memberikan jumlah elemen bukan nol dalam vektor, dan ℓ∞ memberikan nilai absolut maksimum dalam vektor.

  • Semakin tinggi indeks norma, semakin berfokus pada nilai-nilai besar dan mengabaikan yang kecil. Inilah sebabnya mengapa RMSE lebih sensitif terhadap outlier daripada MAE. Tetapi ketika outlier jarang terjadi secara eksponensial (seperti pada kurva berbentuk lonceng), RMSE berkinerja sangat baik dan umumnya lebih disukai.

Damian Melniczuk
sumber
2

Penggunaan jarak Manhattan sangat tergantung pada jenis sistem koordinat yang digunakan dataset Anda. Sementara jarak Euclidean memberikan jarak terpendek atau minimum antara dua titik, Manhattan memiliki implementasi spesifik.

Sebagai contoh, jika kita menggunakan dataset Catur, penggunaan jarak Manhattan lebih tepat daripada jarak Euclidean. Kegunaan lain adalah ketika tertarik mengetahui jarak antara rumah-rumah yang berjarak beberapa blok.

Juga, Anda mungkin ingin mempertimbangkan jarak Manhattan jika variabel inputnya tidak memiliki tipe yang sama (seperti usia, jenis kelamin, tinggi badan, dll.). Karena kutukan dimensi, kita tahu bahwa jarak Euclidean menjadi pilihan yang buruk karena jumlah dimensi meningkat.

Singkatnya: jarak Manhattan umumnya hanya bekerja jika titik-titik tersebut diatur dalam bentuk kisi dan masalah yang sedang kami kerjakan memberikan prioritas lebih pada jarak antara titik-titik hanya dengan kisi-kisi, tetapi bukan jarak geometris.

Saurabh Jain
sumber