Apakah ada hubungan matematis antara:
- cosinus kesamaan sim ( A , B )
sim(A,B) dari dua vektor AA dan BB , dan - sim kesamaan siminus ( M A , M B )
sim(MA,MB) dari AA dan BB , diskalakan secara tidak seragam melalui matriks M yang diberikanM ? Di sini MM adalah matriks diagonal yang diberikan dengan elemen yang tidak sama pada diagonal.
Saya mencoba membahas perhitungan, tetapi tidak dapat mencapai tautan sederhana / menarik (ekspresi). Saya ingin tahu apakah ada satu.
Misalnya sudut tidak dipertahankan dalam penskalaan non-seragam, tetapi apa hubungan antara sudut asli dan yang setelah penskalaan non-seragam? Apa yang bisa dikatakan tentang hubungan antara satu set vektor S1 dan satu lagi vektor S2 - di mana S2 diperoleh dengan penskalaan S1 yang tidak seragam?
linear-algebra
cosine-similarity
turdus-merula
sumber
sumber
Jawaban:
Karena M sangat umum, dan perubahan dalam persamaan cosinus tergantung pada A dan B tertentu dan hubungannya dengan M , tidak ada rumus pasti yang mungkin. Namun, ada batas praktis yang bisa dihitung untuk seberapa banyak kesamaan cosinus dapat berubah . Mereka dapat ditemukan dengan mengekstraksi sudut antara M A dan M B mengingat bahwa persamaan cosinus antara A dan B adalah nilai yang ditentukan, katakanlah cos ( 2 ϕ ) (di mana 2 ϕ adalah sudut antara A danM A B M MA MB A B cos(2ϕ) 2ϕ A B ). Jawabannya memberitahu kita berapa banyak setiap sudut 2 φ mungkin bisa ditekuk oleh transformasi M .B 2ϕ M
Perhitungannya mengancam akan berantakan. Beberapa pilihan notasi yang cerdas, bersama dengan beberapa penyederhanaan awal, mengurangi upaya. Ternyata solusi dalam dua dimensi mengungkapkan semua yang perlu kita ketahui. Ini adalah masalah yang bisa ditelusuri, tergantung hanya pada satu variabel nyata θ , yang mudah diselesaikan dengan menggunakan teknik Kalkulus. Argumen geometris sederhana memperluas solusi ini ke sejumlah dimensi n .θ n
Pendahuluan matematika
Menurut definisi, kosinus sudut antara dua vektor A dan B diperoleh dengan menormalkannya dengan satuan panjang dan mengambil produknya. Jadi,A B
A ′ B√( A ′ A )( B ′ B ) =cos(2ϕ)
dan, menulis Σ = M ′ M , kosinus sudut antara gambar A dan B di bawah transformasi M adalahΣ=M′M A B M
( M A ) ′ ( M B )√( ( M A ) ' ( M A ) )( ( M B ) ′ ( M B ) ) =A′ΣB√( A ′ Σ A ) ( B ′ Σ B ) .
Perhatikan bahwa hanya Σ yang penting dalam analisis,Σ bukan M itu sendiri. Oleh karena itu kita dapat memanfaatkan Dekomposisi Nilai Singular (SVD) dari M untuk menyederhanakan masalah. Ingatlah bahwa ini menyatakan M sebagai produk (dari kanan ke kiri) dari matriks ortogonal V ′ , matriks diagonal D , dan matriks ortogonal lain U :M M M V′ D U
M = UDV ′ .
Dengan kata lain, ada dasar vektor istimewa e 1 , ... , e n (kolom V ) yang M bertindak dengan rescaling setiap e i secara terpisah oleh i th masuknya diagonal D (yang saya akan memanggil d i ) dan setelah itu menerapkan rotasi (atau anti-rotasi) U ke hasilnya. Rotasi akhir itu tidak akan mengubah panjang atau sudut apa pun dan karenanya tidak akan memengaruhi Σ . Anda dapat melihat ini secara formal dengan perhitungane1,…,en V M ei ith D di U Σ
Σ = M ′ M = ( U D V ′ ) ′ ( U D V ′ ) = V D ( U ′ U ) D V ′ = V D 2 V ′ .
Akibatnya, untuk mempelajari Σ kita dapat dengan bebas mengganti M dengan matriks lain yang menghasilkan nilai yang sama dalam ( 1 ) . Dengan memesan e i sehingga d i berkurang dalam ukuran (dan dengan asumsi M tidak identik nol), pilihan M yang bagus adalahΣ M (1) ei di M M
M = 1d 1 DV′.
Elemen diagonal ( 1 / d 1 ) D adalah(1/d1)D
1 = d 1 / d 1 ≥ λ 2 = d 2 / d 1 ≥ λ 3 = d 3 / d 1 ≥ ⋯ ≥ λ n = d n / d 1 ≥ 0.
Secara khusus, efek M (apakah dalam bentuk aslinya atau diubah) pada semua sudut sepenuhnya ditentukan oleh fakta bahwaM
M e i = λ i e i .
Analisis kasus khusus
Misalkan n = 2 . Karena mengubah panjang vektor tidak mengubah sudut di antara mereka, kita dapat mengasumsikan A dan B adalah vektor satuan. Dalam pesawat semua vektor tersebut dapat ditunjuk oleh sudut mereka membuat dengan e 1 , memungkinkan kita untuk menulisn=2 A B e1
A = cos ( θ - ϕ ) e 1 + sin ( θ - ϕ ) e 2 .
Karena itu
B = cos ( θ + ϕ ) e 1 + sin ( θ + ϕ ) e 2 .
(Lihat gambar di bawah.)
Menerapkan M sederhana: ia memperbaiki koordinat pertama A dan B dan mengalikan koordinat kedua mereka dengan λ 2 . Oleh karena itu sudut dari M A ke M B adalahM A B λ2 MA MB
f ( θ ) = arctan ( λ 2 tan ( θ + ϕ ) ) - arctan ( λ 2 tan ( θ - ϕ ) ) .
Karena M adalah fungsi kontinu, perbedaan sudut ini adalah fungsi kontinu θ . Bahkan, itu bisa dibedakan. Ini memungkinkan kita untuk menemukan sudut ekstrem dengan memeriksa nol turunan f ′ ( θ ) . Derivatif itu mudah untuk dihitung: itu adalah rasio fungsi trigonometri. Nol hanya dapat muncul di antara nol dari pembilangnya, jadi jangan repot-repot menghitung penyebutnya. Kami memperolehM θ f′(θ)
f ′ ( θ ) = λ 2 ( 1 - λ 2 ) ( λ 2 + 1 ) dosa ( 2 θ ) dosa ( 2 ϕ )∗ .
Kasus-kasus khusus λ 2 = 0 , λ 2 = 1 , dan ϕ = 0 mudah dipahami: mereka sesuai dengan situasi di mana M adalah dari peringkat yang dikurangi (dan dengan demikian menekan semua vektor ke dalam sebuah garis); di mana M adalah kelipatan dari matriks identitas; dan di mana A dan B adalah paralel (di mana sudut di antara mereka tidak dapat berubah, terlepas dari θ ). Kasus λ 2 = - 1 dihalangi oleh kondisi λ 2 ≥ 0 .λ2=0 λ2=1 ϕ=0 M M A B θ λ2=−1 λ2≥0
Terlepas dari kasus-kasus khusus ini, nol hanya terjadi di mana dosa ( 2 θ ) = 0 : yaitu, θ = 0 atau θ = π / 2 . Ini berarti bahwa garis ditentukan oleh e 1 membagi dua sudut A B . Kita sekarang tahu bahwa nilai-nilai ekstrim dari sudut antara M A dan M B harus berbaring di antara nilai-nilai f ( θ ) , jadi mari kita menghitung mereka:sin(2θ)=0 θ=0 θ=π/2 e1 AB MA MB f(θ)
f ( 0 ) = arctan ( λ 2 tan ( ϕ ) ) - arctan ( λ 2 tan ( - ϕ ) ) = 2 arctan ( λ 2 tan ( ϕ ) ) ; f ( π / 2 ) = arctan ( λ 2 tan ( π / 2 + ϕ ) ) - arctan( λ 2 tan ( π / 2 - ϕ ) ) = 2 arctan ( λ 2 cot ( - ϕ ) ) .
Cosinus yang sesuai adalah
cos ( f ( 0 ) ) = 1 - λ 2 2 tan ( ϕ ) 21 + λ 2 2 tan ( ϕ ) 2
dan
cos ( f ( π / 2 ) ) = 1 - λ 2 2 cot ( ϕ ) 21 + λ 2 2 cot ( ϕ ) 2 =tan(ϕ)2-λ 2 2tan ( ϕ ) 2 + λ 2 2 .
Seringkali cukup untuk memahami bagaimana M mendistorsi sudut kanan. Dalam hal ini, 2 ϕ = π / 2 , mengarah ke tan ( ϕ ) = cot ( ϕ ) = 1 , yang dapat Anda tancapkan ke formula sebelumnya.M 2ϕ=π/2 tan(ϕ)=cot(ϕ)=1
Perhatikan bahwa semakin kecil λ 2 , semakin ekstrim sudut ini menjadi dan semakin besar distorsi.λ2
Gambar ini menunjukkan empat konfigurasi vektor A dan B yang dipisahkan oleh sudut 2 ϕ = π / 3A B 2ϕ=π/3 . Lingkaran unit dan gambar elipsnya di bawah M diarsir untuk referensi (dengan aksi M secara seragam di-skala ulang untuk membuat λ 1 = 1 ). Sosok judul menunjukkan nilai θ , titik tengah A dan B . Yang paling dekat dengan A dan B dapat datang ketika ditransformasikan oleh M adalah konfigurasi seperti di sebelah kiri dengan θ =M M λ1=1 θ A B A B M 0 . Jarak terjauh mereka adalah konfigurasi seperti di kanan dengan θ = π / 2 . Dua kemungkinan menengah ditampilkan.θ=0 θ=π/2
Solusi untuk semua dimensi
Kita telah melihat bagaimana M bertindak dengan memperluas setiap dimensi i dengan faktor λ i . Ini akan mendistorsi unit sphere { AM i λi |A ′ A = 1 } ke dalam ellipsoid. The e i menentukan sumbu utamanya. The λ i adalah jarak dari asal, sepanjang sumbu ini, untuk ellipsoid. Akibatnya yang terkecil, λ n , adalahjarak terpendek(ke segala arah) dari asal ke ellipsoid dan yang terbesar, λ 1 , adalahjarak terjauh(ke segala arah) dari asal ke ellipsoid.{A|A′A=1} ei λi λn λ1
Dalam dimensi yang lebih tinggi, n > 2n>2 , A dan B adalah bagian dari subruang dua dimensi. M memetakan lingkaran satuan di ruang bagian ini ke persimpangan ellipsoid dengan pesawat yang berisi M A dan M B . Persimpangan ini, menjadi distorsi linear dari sebuah lingkaran, adalah elips. Jelas jarak terjauh ke elips ini tidak lebih dari λ 1 = 1 dan jarak terpendek tidak kurang dari λ n .A B M MA MB λ1=1 λn
Seperti yang kami amati pada akhir bagian sebelumnya, kemungkinan paling ekstrem adalah ketika A dan B terletak di bidang yang berisi dua dari e i di mana rasio λ i yang sesuai sekecil mungkin. Ini akan terjadi di bidang e 1 , e n . Kami sudah punya solusi untuk kasus itu.A B ei λi e1,en
Kesimpulan
Ekstrem kesamaan cosinus dapat dicapai dengan menerapkan M ke dua vektor yang memiliki cosinus similarity cos ( 2 ϕ ) diberikan oleh ( 2 ) dan ( 3 )M cos(2ϕ) (2) (3) . Mereka diperoleh dengan menempatkan A dan B pada sudut yang sama dengan arah di mana Σ = M ′ M secara maksimal memperpanjang vektor apa pun (seperti arah e 1 ) dan memisahkannya ke arah di mana Σ memanjang vektor secara minimal (seperti e n arah).A B Σ=M′M e1 Σ en
Ekstrim ini dapat dihitung dalam hal SVD dari M .M
sumber
Anda mungkin tertarik pada:
( M A , M B ) = A T ( M T M ) B ,
Anda dapat mendiagonalisasi M T M = U Σ U T (atau seperti yang Anda sebut, PCA), yang memberitahu Anda bahwa kesamaan A , B dalam transformasi MMTM=UΣUT A,B M berperilaku dengan memproyeksikan A , B ke komponen utama Anda, dan kemudian menghitung kesamaan di ruang baru ini. Untuk menyempurnakan ini sedikit lebih banyak, biarkan komponen utama menjadi u i dengan nilai eigen λ i . KemudianA,B ui λi
U B = ∑ i ( u i , b i ) u i , U A = ∑ i ( u i , a i ) u i ,
yang memberi Anda:
( M A , M B ) = n ∑ i = 1 ( u i , a i ) ( u i , b i ) λ i .
Perhatikan bahwa ada penskalaan yang terjadi di sini: λ i stretching / shrinking. Ketika A , B adalah vektor satuan dan jika setiap λ i = 1 , maka M sesuai dengan rotasi, dan Anda mendapatkan: sim ( M A , M B ) = sim ( A , B ) , yang setara dengan mengatakan bahwa produk dalam tidak berubah dalam rotasi. Secara umum, sudut tetap sama ketika M adalah transformasi konformal, yang dalam hal ini mengharuskan Mλi A,B λi=1 M sim(MA,MB)=sim(A,B) M M dibalik dan dekomposisi kutub M memenuhi M = O P dengan P = a I , yaitu M T M = a 2 saya .M M=OP P=aI MTM=a2I
sumber