您現在的位置是:首頁 > 垂釣

向量代數(下):如何透過向量夾角理解不同“維度”?

  • 由 穿插游擊隊 發表于 垂釣
  • 2021-10-31
簡介這個三角形的三條邊顯然是確定的,由此我們可以算出判定因子������,然後根據餘弦定理計算兩個向量的夾角

向量夾角範圍為什麼是0到兀

你好,歡迎來到我的《數學通識50講》。

上一講我們講到,要形成合力,就需要力的方向一致。類似的,要走得遠,也需要前進的方向不經常出現偏差,這些都涉及到向量之間角度的計算。而這個計算是依靠餘弦定理完成的。

餘弦定理大家在中學都學過,但我估計絕大部分人都忘了,因為你恐怕一輩子也沒有用一次。這也不能完全怪大家,因為在中學裡,我們教餘弦定理時,主要是為了讓大家知道在三角形已知兩條邊的情況下,如何計算第三條邊的長度,而這件事在我們生活中幾乎用不到。我們的教科書中,對於餘弦定理其它的應用根本沒有講。

今天,我們就從畢達哥拉斯定理出發,給大家定性地講講餘弦定理是怎麼一回事,看看它除了算三角形的邊長外,還有什麼用。

我們先來回顧一下畢達哥拉斯定理。假如三角形的兩條直角邊是a和b,那麼斜邊c²=a²+b²。為了加強你的感性認識,我把之前我們畫的圖又畫了一遍,然後把這個公式寫在了圖的下方:

向量代數(下):如何透過向量夾角理解不同“維度”?

c²=a²+b²

接下來我問大家一個問題,如果a和b的夾角是銳角,也就是比90度小,那麼c²和a²+b²哪個更大?如果是鈍角呢,也就是比90度大的角,情況又如何呢?這個問題其實我們畫一下圖就一目瞭然了。

向量代數(下):如何透過向量夾角理解不同“維度”?

從圖中很容易看出,如果a和b的夾角超過90度,也就是圖中藍色的部分,所對應的斜邊比較長,c²超過了a²+b²。如果不到90度,那麼就比較短,c²

也就是說,對比一下c²,以及a²+b²,就知道夾角是什麼樣的角了。為了進一步方便起見,我們把畢達哥拉斯定理重新寫一下,變成這樣一種形式:a²+b²-c²=0,我們將等式左邊的部分,也就是a²+b²-c²作為一個判定因子使用,我們用������表示它。根據������和0比較的大小,就可以判斷夾角。具體的判別如下:判定因子小於0為鈍角,等於0為直角,大於0為銳角。

向量代數(下):如何透過向量夾角理解不同“維度”?

如果我們回顧一下函式的概念,就會發現������是a,b,c三個變數的函式。對於同樣一個角,如果三角形邊長都比較長,那麼������的動態範圍很大。如果邊長很短,������的動態範圍就很小。

為了消除邊長的影響,我們將������再除以夾角的兩個邊長(a和b)的積,這樣可以保證處理過的������的動態範圍就在-2到+2之間。

如果������=-2,那麼夾角最大,就是180度。如果是0,就是90度。如果是2,就是0度角。當然我們還可以再除以2,將這個值的範圍規整為-1到1之間,事實上它就等於夾角的餘弦。

這樣一來,我們就從畢達哥拉斯定理出發,建立了角度判定因子������和具體角度的關係,然後我們將這種關係稱作餘弦定理。

餘弦定理的思想最初出現在歐幾里得的《幾何原本》中,但是由於當時並沒有成體系的三角學,因此並沒有把這個判定因子和角度的函式用餘弦表示出來。到了15世紀,波斯數學家賈姆希德·阿爾卡西正式提出了餘弦定理。

今天,我們之所以花了不少篇幅講解餘弦定理的來龍去脈,是讓你再次體會數學體系的重要性,因為它可以從已知的定理推匯出新的定理。由此,我們可以體會各種數學概念之間的關聯。當然這只是我們講述餘弦定理的附帶目的,主要目的是介紹向量夾角的計算。

回到向量夾角計算的問題,當兩個向量確定之後,我們可以把它們的起點都挪到原點,它們各自的終點和原點之間,就構成一個三角形,如下圖所示。這個三角形的三條邊顯然是確定的,由此我們可以算出判定因子������,然後根據餘弦定理計算兩個向量的夾角。

向量代數(下):如何透過向量夾角理解不同“維度”?

接下來的問題就是,算出兩個向量的夾角有什麼用?

它其實有很多的應用,比如可以對文字進行自動分類。這兩件事情看似不相干,怎麼會聯絡到一起呢?下面我們就大致介紹一下計算機進行文字自動分類的原理。

我們知道一篇文章的主題和內容,其實是由它所使用的文字決定的,不同的文章使用的文字不同,但是主題相似的文章使用的文字有很大的相似性。比如講金融的文章裡面可能會經常出現“金融”、“股票”、“交易”、“經濟”等詞,講計算機的則會經常出現“軟體”、“網際網路”、“半導體”等詞。

假如這兩部分關鍵詞沒有重複,那麼我們很容易把這兩類文字分開。假如它們有重複怎麼辦?那麼我們就要看這兩類文章中,各個詞的頻率了。根據我們的經驗,即使在金融類的文章中混有一些計算機類的詞,那麼它們的詞頻不會太高,反之亦然。

為方便說明如何區分這兩類文章,我們就假設漢語中只有“金融”、“股票”、“交易”、“經濟”、“計算機”、“軟體”、“網際網路”和“半導體”這八個詞。假設有一篇經濟學的文章,這八個詞出現的次數分別是(23,32,14,10,1,0,3,2),另一篇是計算機的文章,這八個詞出現的次數是(3,2,4,0,41,30,31,12),這樣它們就各自形成一個八維的向量,我們稱之為V1和V2。

如果我們能夠在八維空間中將它們畫出來,你就會發現它們之間的夾角非常大。我算了一下,大概是82度,近乎垂直,或者說正交。由於這些向量每一個維度都是正數,因此它們最大的夾角就是90度,不會更大了。這說明兩類不同文章所對應的向量之間的夾角應該很大。

如果我們再假設另有一篇文章,八個詞的詞頻是V3=(1,3,0,2,25,23,14,10),那麼它和上述第二篇文章對應的向量的夾角只有7。5度。我用二維的座標將這三個向量的關係大致示意如下。

向量代數(下):如何透過向量夾角理解不同“維度”?

從圖中可以看出第一個和第二個向量的角度很大,而第二個、第三個的夾角很小。由此,我們大致可以判定第三篇文章應該和第二篇主題相近,也屬於計算機類的。

接下來我們需要思考一個問題,什麼樣的向量之間夾角會比較小,什麼樣的會幾乎正交呢?如果你對比上面三個向量,就會發現這樣一個特點:當兩個向量在同樣的維度上的分量都比較大時,它們的夾角就很小。反之,當兩個向量在不同維度上分量較大時,就近乎正交。

比如第二個、第三個向量,它們在後四個維度分量值都較大,因此它們的夾角就小。而第一個向量在前四個維度的分量較大,在後四個很小,和第二個向量的情況正好錯開,因此就近乎正交。關於向量的夾角,有兩個特殊情況大家需要留心一下:

如果兩個向量在各個維度的分量成比例,則它們的夾角為零。

如果一個向量在所有的維度都相等,比如像(10,10,10,10,10,10,10,10)這樣的向量,它可能和任何一個向量都不太接近。這個性質我們後面還要用到。

當然,在真實的文字分類中不止這8個詞,有10萬這個數量級的詞彙,因此每一篇文章對應的向量大約有10萬維左右,這些向量我們稱之為特徵向量。透過利用餘弦定理計算特徵向量之間的夾角,我們就能判斷哪些文字比較接近,該屬於同一類。

向量不僅可以對文章進行分類,而且還可以對人進行分類。今天很多大公司在招聘員工時,由於簡歷特別多,會先用計算機自動篩選簡歷,其方法的本質,就是把人根據簡歷向量化,然後計算夾角。具體的做法常常是這樣的:

首先,它們會把各種技能和素質列成一張表,這就如同我們在做文字分類時會把詞彙列成一張表一樣,這個表有N個維度。

對於不同崗位人員的要求,體現為某些維度權重很高,某些較低,一些無關的就可以是零。比如說對開發人員的要求主要是六個方面,權重如下:

程式設計能力 40

工程經驗 20

溝通能力 10

學歷和專業基礎 10

領導力 10

和企業文化的融合度 10

對銷售崗位的要求會有所不同。這樣每個職位都對應一個N維的向量,我們假設是V。

接下來計算機會對簡歷進行分析,把每一份簡歷變成一個N維的向量,我們假設是P。

然後我們就計算P和V的夾角,如果夾角非常小,那說明某一份簡歷和某一個崗位可能比較匹配。這時簡歷才轉到相應的HR部門,HR人員才開始看簡歷。

如果某份簡歷和哪一個崗位都不太匹配,這份簡歷就石沉大海了。這種做法是否會有誤差,讓一些好的候選人永遠進不了HR人員的視野呢?完全有可能,但是這種機率並不高,因為計算機做的只是初步篩選,標準是比較寬的。

要知道今天像Google、Facebook或者微軟這樣的公司,一個職位常常有上百個求職者,最少也有十幾個,合格的多則有十個、八個,少則有三五個,漏掉一兩個合格的人,對公司來講沒什麼損失。但是這對於求職者來講,就是100%的損失。因此,

除非有非常強的推薦,否則簡歷寫得不好經常連第一關都過不了。

很多人在寫簡歷時常犯的一個毛病就是重點不突出,他們所對應的向量其實就是一種每個維度數值都差不多的向量。我們在前面講了,這種向量和其它向量的匹配度都不高。

很多人喜歡在簡歷中把自己有關或無關,所有的經歷都寫進去,然後把自己描繪成全能的人,其實在計算機匹配簡歷和工作時,這種簡歷常常一個職位都匹配不上,因為這就像我們前面說的每個分量都是10的向量,和誰的夾角都小不了一樣。

很多人覺得多寫點東西沒壞處,這種認識是錯誤的,這些畫蛇添足的內容其實稀釋了求職者的競爭力。

那麼好的簡歷應該是什麼樣的呢?

如果你在求職單位有熟人,不妨問問他們對某個職位的要求,然後根據這個要求寫簡歷,這樣在他們看中的維度你的得分就高,在他們根本不在意的維度,你也不需要強調。

今天我們講了向量之間的夾角是如何計算的。透過它,我們回顧了畢達哥拉斯定理,介紹了餘弦定理。然後我們用一些例項說明了向量的用途。下一講我們看看,很多向量放到一起,會變成什麼。——吳軍《數學通識五十講》

Top