ตอนนี้คุณจะมีการฝังสําหรับตัวอย่างคู่ใดก็ได้ มาตรวัดความคล้ายคลึงกันจะใช้การฝัง โค้ดเหล่านี้และแสดงผลตัวเลขที่วัดความคล้ายคลึงกัน อย่าลืมว่าการฝังเป็นเวกเตอร์ของตัวเลข เพื่อหาความคล้ายคลึงกันระหว่างเวกเตอร์ 2 รายการ \(A = [a_1,a_2,...,a_n]\) และ \(B = [b_1,b_2,...,b_n]\)คุณมีมาตรการที่คล้ายกัน 3 รายการให้เลือกดังที่แสดงในตารางด้านล่าง
Measure | ความหมาย | สูตร | ความสัมพันธ์ที่จะเพิ่มความคล้ายคลึงกัน |
---|---|---|---|
ระยะทางแบบยุโรป | ระยะทางระหว่างจุดสิ้นสุดของเวกเตอร์ | \(\sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_N-b_N)^2}\) | ลดลง |
โคไซน์ | โคไซน์ของมุม \(\theta\) ระหว่างเวกเตอร์ | \(\frac{a^T b}{|a| \cdot |b|}\) | เพิ่มขึ้น |
ผลิตภัณฑ์จุด | โคไซน์คูณด้วยความยาวของเวกเตอร์ทั้งสอง | \(a_1b_1+a_2b_2+...+a_nb_n\) \(=|a||b|cos(\theta)\) | เพิ่มขึ้น และเพิ่มขึ้นเมื่อเวกเตอร์มีจํานวนมากขึ้น |
การเลือกมาตรวัดความคล้ายคลึง
ตรงข้ามกับโคไซน์ ผลิตภัณฑ์ของจุดได้สัดส่วนกับความยาวเวกเตอร์ ซึ่งเป็นสิ่งสําคัญเนื่องจากตัวอย่างที่ปรากฏขึ้นบ่อยมากในชุดการฝึก (เช่น วิดีโอ YouTube ยอดนิยม) มักมีเวกเตอร์การฝังที่มีความยาวมาก หากต้องการจับความนิยม ให้เลือกผลิตภัณฑ์ที่เป็นจุด อย่างไรก็ตาม ความเสี่ยงคือตัวอย่างยอดนิยมอาจบิดเบือนเมตริกที่คล้ายกัน หากต้องการรักษาความเอียงนี้ คุณอาจเลือกเพิ่มความยาวของเลขชี้กําลัง \(\alpha\ < 1\) เพื่อคํานวณหาจุดของผลิตภัณฑ์ \(|a|^{\alpha}|b|^{\alpha}\cos(\theta)\)
เพื่อให้เข้าใจความยาวของเวกเตอร์ที่เปลี่ยนการวัดความคล้ายคลึงกัน ให้ปรับความยาวเวกเตอร์ให้เท่ากับ 1 แทน และสังเกตว่าการวัด 3 ค่าได้เป็นสัดส่วนกัน
- ระยะทางแบบยูคลิด = \(||a-b|| = \sqrt{||a||^2 + ||b||^2 - 2a^{T}b} = \sqrt{2-2\cos(\theta_{ab})}\)
- ผลิตภัณฑ์จุด = \( |a||b| \cos(\theta_{ab}) = 1\cdot1\cdot \cos(\theta_{ab}) = cos(\theta_{ab})\)
- โคไซน์ = \(\cos(\theta_{ab})\)