Konversi kesamaan matriks ke (euclidean) matriks jarak

27

Dalam algoritma hutan acak, Breiman (penulis) membangun matriks kesamaan sebagai berikut:

  1. Kirimkan semua contoh pembelajaran di setiap pohon di hutan

  2. Jika dua contoh mendarat di kenaikan daun yang sama elemen yang sesuai dalam matriks kesamaan dengan 1

  3. Normalisasikan matriks dengan jumlah pohon

Dia berkata:

Perkiraan antara kasus n dan k membentuk matriks {prox (n, k)}. Dari definisi mereka, mudah untuk menunjukkan bahwa matriks ini simetris, pasti positif dan dibatasi di atas oleh 1, dengan elemen diagonal sama dengan 1. Dengan demikian, nilai 1-prox (n, k) adalah jarak kuadrat dalam Euclidean ruang dimensi tidak lebih besar dari jumlah kasus. Sumber

Dalam implementasinya, ia menggunakan sqrt (1-prox) , di mana prox adalah matriks kesamaan, untuk mengubahnya menjadi matriks jarak. Saya kira itu ada hubungannya dengan "jarak sqaured di ruang Euclidean" - dikutip di atas.

Adakah yang bisa menyinari sedikit alasan mengapa 1-prox adalah jarak kuadrat dalam ruang Euclidean dan mengapa ia menggunakan akar kuadrat untuk mendapatkan matriks jarak?

Uros K
sumber

Jawaban:

30

masukkan deskripsi gambar di sini

Menurut teorema kosinus , dalam ruang euclidean (euclidean) jarak kuadrat antara dua titik (vektor) 1 dan 2 adalah . Panjang dan masing-masing adalah jumlah koordinat kuadrat dari poin 1 dan 2 (mereka adalah hipotenus pythagoras). Kuantitas disebut produk skalar (= produk titik, = produk dalam) dari vektor 1 dan 2.h 2 1 h 2 2 h 1 h 2 cos ϕd122=h12+h222h1h2cosϕh12h22h1h2cosϕ

Produk skalar juga disebut kesamaan tipe sudut antara 1 dan 2, dan dalam ruang Euclidean secara geometris ukuran kemiripan yang paling valid , karena mudah dikonversi ke jarak euclidean dan sebaliknya (lihat juga di sini ).

Koefisien kovarian dan korelasi Pearson adalah produk skalar. Jika Anda memusatkan data multivarian Anda (sehingga asal berada di tengah awan titik) maka dinormalisasi adalah varian dari vektor (bukan variabel X dan Y pada gambar di atas), sedangkan untuk data terpusat adalah Pearson ; jadi, produk skalar adalah kovarians. [Catatan tambahan. Jika Anda sekarang berpikir tentang kovarians / korelasi sebagai antara variabel , bukan titik data, Anda mungkin bertanya apakah mungkin untuk menggambar variabel menjadi vektor seperti pada gambar di atas. Ya, mungkin, ini disebut " ruang subjek cos ϕ r σ 1 σ 2 r 12h2cosϕrσ1σ2r12"Cara representasi. Teorema kosinus tetap benar terlepas dari apa yang dianggap sebagai" vektor "dalam hal ini - titik data atau fitur data.]

Setiap kali kita memiliki matriks kesamaan dengan 1 pada diagonal - yaitu, dengan semua ditetapkan ke 1, dan kami percaya / berharap bahwa kesamaan adalah produk skalar euclidean , kita dapat mengonversinya ke jarak euclidean kuadrat jika kita membutuhkannya (misalnya, untuk melakukan pengelompokan atau MDS yang memerlukan jarak dan yang diinginkan euclidean). Sebab, dengan mengikuti rumus teorema cosinus di atas, adalah euclidean kuadrat . Anda tentu saja dapat menghilangkan faktor jika analisis Anda tidak membutuhkannya, dan mengonversi dengan rumuss d 2 = 2 ( 1 - s ) d 2 d 2 = 1 - s r rhsd2=2(1-s)d2d2=1-s. Sebagai contoh yang sering dijumpai, formula ini digunakan untuk mengubah Pearson menjadi jarak euclidean. (Lihat juga ini dan seluruh utas yang menanyakan beberapa rumus untuk mengubah menjadi jarak.)rr

Tepat di atas saya katakan jika "kami percaya / mengharapkan itu ...". Anda dapat memeriksa dan pastikan bahwa kesamaan matriks - satu tertentu di tangan - adalah geometris "OK" produk skalar matriks jika matriks tidak memiliki nilai eigen negatif. Tetapi jika memiliki itu, itu berarti tidak benar produk skalar karena ada beberapa derajat geometri non-konvergensi baik di atau di yang "bersembunyi" di balik matriks. Ada cara untuk mencoba "menyembuhkan" matriks seperti itu sebelum mengubahnya menjadi jarak euclidean.s h dsshd

ttnphns
sumber