餘弦相似性及其應用

2021-03-02 DataCastle數據城堡

餘弦相似性簡介

餘弦距離,也稱為餘弦相似度,是用向量空間中兩個向量夾角的餘弦值作為衡量兩個個體間差異的大小的度量。

向量,是多維空間中有方向的線段,如果兩個向量的方向一致,即夾角接近零,那麼這兩個向量就相近。而要確定兩個向量方向是否一致,這就要用到餘弦定理計算向量的夾角。

餘弦定理描述了三角形中任何一個夾角和三個邊的關係。給定三角形的三條邊,可以使用餘弦定理求出三角形各個角的角度。假定三角形的三條邊為a,b和c,對應的三個角為A,B和C,那麼角A的餘弦為:


如果將三角形的兩邊b和c看成是兩個向量,則上述公式等價於:


其中分母表示兩個向量b和c的長度,分子表示兩個向量的內積。

假如X和Y對應向量分別是:x1, x2, ..., x6400和y1, y2, ..., y6400 。那麼,它們之間的餘弦距離可以用它們之間夾角的餘弦值來表示:


餘弦值越接近1,就表明夾角越接近0度,也就是兩個向量越相似,夾角等於0,即兩個向量相等,這就叫"餘弦相似性"。

餘弦相似性應用:計算文本相似性

舉一個例子來說明,用上述理論計算文本的相似性。為了簡單起見,先從句子著手。

句子A:這隻皮靴號碼大了。那隻號碼合適

句子B:這隻皮靴號碼不小,那隻更合適

怎樣計算上面兩句話的相似程度?

基本思路是:如果這兩句話的用詞越相似,它們的內容就應該越相似。因此,可以從詞頻入手,計算它們的相似程度。

第一步,分詞。

句子A:這隻/皮靴/號碼/大了。那隻/號碼/合適。

句子B:這隻/皮靴/號碼/不/小,那隻/更/合適。

第二步,列出所有的詞。

這隻,皮靴,號碼,大了。那隻,合適,不,小,很

第三步,計算詞頻。

句子A:這隻1,皮靴1,號碼2,大了1。那隻1,合適1,不0,小0,更0

句子B:這隻1,皮靴1,號碼1,大了0。那隻1,合適1,不1,小1,更1

第四步,寫出詞頻向量。

句子A:(1,1,2,1,1,1,0,0,0)

句子B:(1,1,1,0,1,1,1,1,1)

到這裡,問題就變成了如何計算這兩個向量的相似程度。我們可以把它們想像成空間中的兩條線段,都是從原點([0, 0, ...])出發,指向不同的方向。兩條線段之間形成一個夾角,如果夾角為0度,意味著方向相同、線段重合,這是表示兩個向量代表的文本完全相等;如果夾角為90度,意味著形成直角,方向完全不相似;如果夾角為180度,意味著方向正好相反。因此,我們可以通過夾角的大小,來判斷向量的相似程度。夾角越小,就代表越相似。

使用上面的公式,計算兩個句子向量:

句子A:(1,1,2,1,1,1,0,0,0)

和句子B:(1,1,1,0,1,1,1,1,1)的向量餘弦值來確定兩個句子的相似度。

計算過程如下:


計算結果中夾角的餘弦值為0.81非常接近於1,所以,上面的句子A和句子B是基本相似的。

由此,我們就得到了文本相似度計算的處理流程是:

找出兩篇文章的關鍵詞;

每篇文章各取出若干個關鍵詞,合併成一個集合,計算每篇文章對於這個集合中的詞的詞頻;

生成兩篇文章各自的詞頻向量;

計算兩個向量的餘弦相似度,值越大就表示越相似。

餘弦相似性應用:搭建推薦系統

推薦系統實現形式多種多樣,那麼餘弦相似性是如何應用在推薦系統中的呢?我們來看一下基於用戶的協同過濾。

假設有甲、乙、丙三個人,它們都同時對三個物品A、B、C進行了打分(此處根據不喜歡到喜歡範圍在-5分到5分),根據它們的打分結果,我們可以得出三個人對三個物品的喜愛程度的向量(假設):

甲:(3,-1,-1)

乙:(5,1,-5)

丙:(-5,3,3)

那麼根據夾角餘弦公式,得出 A君B君夾角的餘弦是0.81 , A君C君夾角的餘弦是-0.97。 0度角(表示兩人完全一致)的餘弦是1, 180%角(表示兩人截然相反)的餘弦是-1。 從中可以看出,甲和乙的相似性挺高,那麼如果甲還喜歡另一個物品D,那麼可以就可以把它推薦給乙。

以上是三維的情況,如法炮製N維的情況都是一樣的。

以上是基於用戶來推薦的,同樣的,我們也可以基於內容來推薦,利用夾角餘弦來計算物品之間的相似性。如果甲購對一個物品打出高分,那麼就可以給他推薦與此物品餘弦相似性更接近1的物品。

當然實際的推薦系統絕不會如此簡單,可能是多種方法的融合,才會取得良好的效果,能夠適應不同的使用場景。

餘弦相似性

- DataCastle -

相關焦點

  • 高中數學基礎微練—兩角和與差的正弦、餘弦及正切公式綜合應用
    兩角和與差的正弦、餘弦及正切公式是三角函數變換的基礎,三角函數內容有「三部曲」,一是三角函數的話劇求值;二是圖像和性質;三是三角形中的三角函數問題。以上三個問題都需要用到兩角和與差的正弦、餘弦及正切公式進行化簡、變換,下面就公式的一些基本運用加以辨析。
  • 宏程序——三角函數正弦SIN 餘弦COS的理解與實例應用
    舉報   來源:頭條號BOBO先生  通過前幾期的文章可以看出三角函數在宏程序中應用常見
  • 【第22彈】PHP實現餘弦相似度算法
    數學家證明,餘弦的這種計算方法對n維向量也成立。假定A和B是兩個n維向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,則A與B的夾角θ的餘弦等於:使用這個公式,我們就可以得到,句子A與句子B的夾角的餘弦。
  • 原來高中的餘弦定理可以這樣學,真是通俗易懂啊
    好了,開始進入今天的主題——餘弦定理。而餘弦定理一向是高考重點考查的內容,所有作為高中生在高考總複習中,一定要重視這一塊的複習我們已經學習了正弦定理,它講的是三角形的邊與角的等量關係。那麼現在你還記得:正弦定理的內容是什麼嗎?你能用文字語言、數學語言敘述嗎?你能用哪些方法證明呢?
  • 在高考數學,掌握正弦定理和餘弦定理,才能拿下解直角三角形
    解三角形是高中數學的重要內容之一,解三角形的過程不僅涉及正弦定理和餘弦定理兩個工具的應用,而且包含許多舊知的應用,同時也富含了多種數學思想的應用,這在一定程度上增加了學生對此部分知識學習和應用的困難。通過對歷年高考生在正弦定理和餘弦定理失分情況進行分析和比較,發現問題主要集中在這四個方面:正弦定理學習困難主要表現在定理的理解和應用上;餘弦定理學習困難主要表現在定理的證明、理解和應用上;三角形中的幾何計算困難主要表現在正弦定理和餘弦定理的選擇和幾何計算上;解三角形實際應用舉例學習困難主要表現在數學建模和有關角的專業術語的理解上。
  • 高中數學:三角函數及解三角形-正弦定理、餘弦定理應用問題複習
    技巧總結歸納:求解距離問題的一般步驟:(1)畫出示意圖,將實際問題轉化成三角形問題;(2)明確所求的距離在哪個三角形中,有幾個已知元素;(3)使用正弦定理、餘弦定理解三角形(對於解答題,應作答).(3)將實際問題轉化為解三角形的問題後,注意正弦、餘弦定理的「聯袂」使用.本文由Math實驗室原創文章,因圖片上傳格式問題,可能造成圖片模糊不清問題,如若需要相關可列印電子版文件可選擇關注哦~也可私聊我留下郵箱哦!
  • 漢語語音相似性編碼的研究
    在上面的例子中準確地將「here」和「so」這兩個單詞轉換為和它們語音上相似的正確對應的單詞需要一種單詞對之間語音相似性的魯棒的表示。大多數語音相似性算法是由英語的使用場景驅動的,並設計用於印歐語系。然而,許多語言,如漢語,有不同的語音結構。漢語的官方羅馬化系統拼音,用單音節來表示漢字的語音。
  • 構造法求15度角的餘弦值
    例如求15度角的餘弦值問題,就可以用構造法來解決這樣的問題。下面我用兩種方法來求一下15度角的餘弦值.(方法1)已知在直角三角形ABC中,∠C=15度,∠A=90度,求角C的餘弦值.我們可以採用構造法,找到BC的中點E,作DE垂直於BC,交AC於點D,連接BD,這樣我們就在三角形ABC中構造出一個30度60度90度的直角三角形,我們可以設AB=a,進而通過特殊三角形,以及勾股定理,表示出其他線段的長度,進而可以求出15度角的餘弦值.(方法2)在直角三角形ABC中,∠A=90度,∠C=30度,利用構造法求15度角的餘弦值.
  • 一般三角形中的正弦定理和餘弦定理
    一般三角形的餘弦定理假設我們將三角形ABC的三條邊看作向量,其中向量a和向量b的夾角即為角C,向量c為a、b之差將上述等式平方可得因為三條邊可以任意組合,同理證明可得此三個等式就是三角形中的餘弦定理,它的意義是一個邊長可以表示成另外兩個邊長的表達式。
  • 分析最簡單的正弦和餘弦三角函數的圖像
    從任意角的三角函數在單位圓中的定義,可知正弦函數y=sin(x)或餘弦函數y=cos(x)的函數值的取值範圍為閉區間[-1,1]。由誘導公式可知,正弦函數和餘弦函數可以互相轉化,因此我們用正弦函數為例進行分析就足夠了。
  • 吳國平:攻克2018年高考數學知識點: 兩角和與差的正弦、餘弦和正切...
    今天,我們一起來講講兩角和與差的正弦、餘弦和正切公式相關的知識內容。什麼是兩角和與差的正弦、餘弦、正切公式?2、餘弦公式概括為「餘餘,正正符號異」。典型例題分析1:我們一定要分清楚兩個「當」,那就是當「已知角」有兩個時,一般把「所求角」表示為兩個「已知角」的和或差的形式;當「已知角」有一個時,此時應著眼於「所求角」與「已知角」的和或差的關係,然後應用誘導公式把「所求角」變成「已知角」。
  • 初中數學:三角函數公式及其定理
    3、任意銳角的正弦值等於它的餘角的餘弦值;任意銳角的餘弦值等於它的餘角的正弦值。06、正弦、餘弦的增減性:當0°≤
  • 社會認同理論及其在事件中的應用分析
    以上都是常見於生活尤其是常見於網絡的現象,應用社會心理學作一分析,卻能夠發現它們背後有著驚人相似之處。而這一切,都要從「社會認同」說起。這也可以應用社會認同理論來解釋。社會認同理論認為,在社會交往中個體往往將自己歸屬於某一群體,並通過強調和誇大自己群體與他人的差異,使得群體內相似度最高而群體間差異最大,由此獲得積極的自我評價並提升自尊。因此社會認同就是群體行為中表現出來的內群體偏好和外群體偏見。在豆腐腦事件中,內群體偏好就表現在誇大群體內的相似度,認為所有人都應該和自己一個口味,其他味道都是不正確的。
  • 中科視拓聯合創始人講解:姿態魯棒人臉識別關鍵技術及其在智慧園區中的應用【附完整PPT下載】
    出品 | 智東西公開課講師 | 中國科學院計算技術研究所副研究員、中科視拓聯合創始人 張杰編輯 | 王鑫提醒 | 本文附有完整PPT下載,關注並回復對話框「CV03」9月10日,「智東西公開課」策劃推出計算機視覺應用系列課第一季第3講,主題為《姿態魯棒人臉識別關鍵技術及其在智慧園區中的應用》,在本次講解中,張杰老師首先介紹全自動人臉識別的流程和大姿態人臉識別的挑戰
  • 高中數學,橢圓及其標準方程的幾道例題,老師:注意焦點位置
    橢圓及其標準方程是選修書本上的內容,再求橢圓的相關問題是我們首先要考慮焦點所在直線的問題,焦點所在位置的不同所用到的標準方程也有很大的差別下面為大家整理幾道橢圓問題的例題例題一:求解橢圓的標準方程簡單來說求解橢圓標準方程和大家之前解類似的二元一次方程在解法上沒有區別
  • 高中:立體幾何中求二面角餘弦值?來者不拒準確求解只需知道這些
    ⑴求證:BE∥平面APQ;⑵已知AE⊥平面ABCD,且AE=2,求二面角P-AF-E的餘弦值。第二道題是求兩個面的二面角餘弦值,對於求二面角餘弦值,首先要找到該二面角,想要找到二面角,就要知道找一般二面角的步驟。第一問中求線面平行的步驟第一問是求證BE∥平面APQ。第一步,在平面APQ中找到一條最可能與BE平行的線。
  • 玉米檸檬酸渣的營養價值及其在豬料中的應用
    陶勇等 [1](2018)研究玉米檸檬酸渣在鵝料中的應用,其在試驗中所用的玉米檸檬酸渣含粗蛋白24.48%、代謝能為 9.53 MJ/kg、粗脂肪 11.66%、粗纖維 11.41%
  • 舞蹈學|黃琤圈《情感性動作技能及其舞蹈教學應用》
    情感性動作技能及其舞蹈教學應用作者:黃琤圈(Huang Chengchuan)學位授予單位:上海師範大學
  • 高中數學,餘弦二倍角公式常考題型,這些出題套路一定要知道
    餘弦二倍角公式:cos2θ=cosθ-sinθ=1-2sinθ=2cosθ-1;餘弦倍角公式共有三種結果,這節課主要講解後兩種結果1-2sinθ和2cosθ-1,一般用於兩方面:(1)用於把題中的cos2θ化為sinθ或cosθ,使用哪一種結果,要根據題意決定;(2)消去題中的數字1;這些都是考試中常常使用的出題套路