機器學習:向量的直觀解釋

2020-12-13 不靠譜的貓

在機器學習中我們經常提到向量,究竟什麼是向量呢?在本文中,我們將首先研究向量的定義,然後對其數學運算進行直觀的解釋。

定義向量

我們在X、Y數字網格上繪製一個點(1,2),其中X代表水平方向,Y代表垂直方向。

我們已經很好地定義了一個向量。實際上,我們不僅要考慮網格上的「點」,我們還需要考慮「線」。

在上面的例子中,我們從點(0,0)移動到點(1,2)。我們的向量就是表示這個運動的直線:

如果你仔細看,你會注意到我們的直線有兩個關鍵屬性:

大小:這是「長度」的同義詞。我們也可以將其視為「我們走了多遠」。方向:與點不同,線實際上是有方向的。現在我們可以對該概念進行正式定義。根據Miriam Webster,向量是:

「具有大小和方向的量,通常用有向線段表示,有向線段的長度表示大小,其空間方向表示方向。」

表示向量的一種常見方法是將X維度和Y維度堆疊在一起:

2D向量的簡單表示

我們還可以通過超越二維來擴展我們對坐標系統的理解。

在可感知的現實世界中,我們具有三個維度。我們可以嘗試可視化3D向量。我們用原來的向量(1,2),然後加上第三維,我們叫它Z,設它的值為1。所得向量為(1,2,1):

一旦我們開始超越三維空間,人類的大腦就很難將其形象化。

雖然我們的感知空間解釋僅限於三維空間,但在數學上可以更進一步進行解釋。讓我們以iris機器學習數據集為例,這是一個在機器學習中常用的分類數據集:

在這裡,我們有四個「特徵」或預測因子-萼片長度,萼片寬度,花瓣長度,和花瓣寬度,我們可以用來預測我們的目標變量:花的類型(表示為0、1或2)。

上表中的每一行和每一列都可以解釋為向量。例如,我們可以這樣表示第一行:

從幾何學上講,我們可以將花的這個實例視為在四個不同方向上與原點相距5.1、3.5、1.4和0.2個單位的空間中的線。

向量運算

在本節中,我們將簡要介紹與向量相關的數學操作。

在此之前,我想和大家分享一下我的數學學習理念:除非你是一個嚴格的學者,否則數學的目的是幫助我們解決世界上的實際問題。

向量加法

數值上: 我們將兩個向量的每個維度相加。

例如: [1,2] + [1,-1] = [2,1]

幾何上:我們把一個向量的尾部放在另一個向量的頭部上,然後畫出從起點到終點的直線。

藍色向量[1,2]+紅色向量[1,1 -1]=綠色向量[2,1]。

向量減法

數值上:我們將兩個向量的每個維度相減。

例如: [1,2]-[1,-1] = [0,3]

幾何上:因為我們在做減法,我們可以把它看作是把第二個向量(紅色)的方向反過來,然後把它的尾部放在第一個向量(藍色)的頭部上,以得到我們的結果(綠色):

標量乘法

數值上:我們將向量的每個維度乘以標量值:[1,1] * 2 = [2,2]

幾何上:我們的向量[1,1]保持其方向,但每個維度以標量值的倍數而改變。

向量大小

數值上:要度量大小或長度,我們使用勾股定理:取向量中每個平方元素之和的平方根。

示例1: [1,2]的幅度= sqrt(1**2+2**2)= sqrt(5)= 2.23

示例2: [3,5,6]的幅度= sqrt(3**2+5**2+6**2)= sqrt(9 + 25 + 36)= sqrt(70)= 8.36

幾何上:這不需要可視化。它只是您看到的向量的長度。向量的大小通常用管道符號表示:|V|。

向量乘法(點積)

數值上:我們將兩個向量中每個維度的乘積相加。結果將始終是標量值。示例:

示例1: [1,2] · [2,3] = 1 * 2 + 2 * 3 = 8。

示例2: [1,2,3] · [2,3,4] = 1 * 2 + 2 * 3 + 3 * 4 = 20。

幾何上:這有點棘手。與其直接進行空間解釋,不如使用單個向量[0,1](下面的紅色)並找到它與多個其他向量的點積(下面的藍色):

注意下幾點:

當藍色向量的方向與紅色向量的方向相似時,點積更大。當藍色向量的大小較大時,點積也較大。當藍色向量垂直於紅色向量時,點積為0。根據這些觀察,我對點積的簡單解釋是:點積告訴我們兩條線在方向上的相似程度;點積由這兩個向量的大小決定。

現在,讓我們看一下X在二維中具有非零值的示例,以鞏固我們的理解:

為什麼藍色向量[1.5,2]與紅色向量的點積比藍色向量[2,1]大呢?因為它的大小更大,並且其方向與我們的紅色向量更相似。

為什麼藍色向量[1,-1]與紅色向量的點積是0呢 ?因為這兩個向量是正交的(彼此成直角)。它們指向不同的方向。

最後

到目前為止,我們已經將向量定義為一個有大小和方向的線空間。機器學習數據集中的每一行或每一列都可以用幾何形式表示為理論上無限維數中的一個向量。最後,我們學習了向量運算的數值和幾何解釋。

相關焦點

  • LIME:一種解釋機器學習模型的方法
    機器學習如今是非常火的一個話題。隨著計算機在圍棋等遊戲中擊敗人類專家,許多人不禁要問機器是否也能勝任司機的工作,甚至是取代醫生?現在很多前沿的機器學習模型還是一個黑盒,幾乎無法去感知它的內部工作狀態。這就給我們帶來了可信度的問題:我該相信那個模型的某個預測結果是正確的嗎?或者說我該相信那個模型的預測結果普遍都是合理的嗎?
  • 機器學習中的範數究竟是個什麼鬼?
    ,但是未必人人都能 get 到直觀感受的概念:範數,英文名叫 norm。1、直觀感受本質上來講,範數是用來衡量一個向量(vector)的規模的,我個人覺得中文中的「體量」這個詞翻譯它更形象。如果現在問你,這兩個向量的規模哪個大一些,相信你能很直觀且不違背直覺地得出結論:x 的規模更大,即「體量」更大。當然,還有一種比較親民的理解方法,你可以把一個向量的範式衡量了這個向量指向的終點距離原點的距離。  這樣一來,維度很高且各維度上取值都很大的向量指向的點,肯定就比維度低且取值小的點,距離原點更遠些。
  • 梯度向量的意義與運用
    梯度向量是數學或自然科學中常用的一個數學工具,它的推導和講解前面的文章已經提到過很多次了,本篇主要介紹下梯度向量的運用和主要意義向量微積分在向量演算中,一個主要的課題是引入向量和三維空間直觀地說,這可以擴展到三維空間中,我們可以想像一個箭頭漂浮在空間中(同樣,顯示方向和大小)。不那麼直觀的是,向量的概念可以擴展到任何維數,在這些維數中,理解和分析只能通過代數來完成。重要的是要注意,在任何情況下,向量都沒有特定的位置。這意味著如果兩個向量有相同的方向和大小它們就是相同的向量。
  • 通俗解釋機器學習中的Logistic Regression
    機器學習的主旨就是通過對歷史數據的計算(即「學習」),得到一些未知參數的值,從而可以推斷出新數據會有什麼結論。 這部分:這是參數向量與自變量(向量)的點積,這個式子想要表達的含義是:計算某個事件發生的可能性,可以把跟這個事件相關的所有特徵加權求和。
  • 學習機器學習,一定要會高等數學嗎?
    雖然我不希望學員會喜歡機器學習數學,但我也會盡力為學員提供一些有關如何使旅途更愉快的指導許多機器學習書籍都告訴學員有關線性代數的知識。我認為學員需要的還不止這些。線性代數的豐富經驗是必不可少的—機器學習算法使向量空間和矩陣數學的每一點都緊縮。學員還需要了解大量的統計信息和概率,以及微分和積分算法,尤其是如果學員想更多地參與深度學習的話。
  • 神經機器翻譯的直觀解釋 | 留言送書
    循環神經網絡(RNN),如LSTM(長短時記憶)或GRU(門控遞歸單元),能夠在多個時間步長中持久保存數據ANN和CNN需要一個固定的輸入向量,在這個向量上應用一個函數來產生一個固定大小的輸出。NMT將一種語言翻譯成另一種語言,源語言和目標語言的單詞序列的長度是可變的。
  • 多元回歸:理解機器學習
    雖然概念很抽象,不過人們每天都或多或少與機器學習系統(把機器學習定義為系統會更好一些,因為它是有若干部分構成的)打過交道。例如:刷臉支付就是一個機器學習系統,它會記住人臉表情的每一次變化,防止識別錯誤或使用照片來模擬人臉,人臉檢測是機器學習視覺領域被深入研究的一個問題。
  • 機器之心最幹的文章:機器學習中的矩陣、向量求導
    本文的目標讀者是想快速掌握矩陣、向量求導法則的學習者,主要面向矩陣、向量求導在機器學習中的應用。因此,本教程而非一份嚴格的數學教材,而是希望幫助讀者儘快熟悉相關的求導方法並在實踐中應用。另外,本教程假定讀者熟悉一元函數的求導。本文公式太多,微信上展示會有一些問題。
  • 機器學習中的數學,這是一份新鮮出爐的熱門草稿
    而本書將介紹基礎機器學習概念的數學基礎,並收集相關信息。為什麼要再寫一本關於機器學習的書?機器學習構建於數學語言之上,以表達看似直觀實則難以形式化的概念。本書以學術數學風格寫成,可以幫助讀者準確理解機器學習背後的概念。我們鼓勵不熟悉這一風格的讀者堅持閱讀本書,並牢記每個話題的目標。我們將在文本中插入大量評論,希望可以幫助讀者獲取對全局的理解。本書假設讀者具備中學數學和物理知識。例如,讀者應該了解過導數和積分,以及二維三維幾何向量。因此,本書的目標讀者包括本科大學生、夜校學生和參與機器學習在線課程的人們。
  • 《機器學習數學基礎》發布,417頁PDF免費下載
    然而,這帶來了一些風險,即實踐者不知道設計決策,因此不知道機器學習算法的局限性。有興趣了解機器學習算法背後機制的實踐者需要具備如下的先驗知識:數學和統計學知識,以及機器學習是如何基於這些知識構建的在大學裡,關於機器學習的入門課程往往會在課程的早期部分涉及到以上這些先驗知識。由於歷史原因,機器學習的課程傾向於在計算機科學系進行授課。
  • 矩陣的瑰寶:深入挖掘特徵值和特徵向量,直觀地看抽象概念
    假設有一個向量[-1,-1]乘上線性變換矩陣後,落在點[-4,-3]上。向量長度(模)就是穿過這個向量的直線。當一個向量經過一個線性變換時,通常它會偏離原來的方向。然而,有些類型的向量不會被矩陣改變方向。這就是這個矩陣的特徵向量。
  • 【Python機器學習】系列之特徵提取與處理篇(深度詳細附源碼)
    第二章案例中的解釋變量都是數值,比如匹薩的直徑。而很多機器學習問題需要研究的對象可能是分類變量、文字甚至圖像。本章介紹提取這些變量特徵的方法。這些技術是數據處理的前提——序列化,更是機器學習的基礎。●分類變量特徵提取許多機器學習問題都有分類的、標記的變量,不是連續的。例如,一個應用是用分類特徵比如工作地點來預測工資水平。
  • 基於向量空間的知識圖譜查詢及結果解釋
    為了讓大家對知識圖譜有更深入的認識,今天這篇文章將由東南大學計算機科學與工程學院王萌老師為我們講解基於向量空間的知識圖譜查詢及結果解釋。基於向量空間的近似查詢回到最初的問題,查詢空集問題結果為空,傳統的方法是不斷修改查詢,向量空間給了我們另一個角度。基於向量空間的近似查詢旨在不修改用戶初始查詢的前提下,基於知識圖譜連續向量空間,採用數據驅動的方式,計算近似答案和推薦查詢,解決查詢空集問題。
  • 無監督機器學習算法:主成分分析
    之前我們曾經講過,無監督學習是一種不使用標記數據(無目標變量)的機器學習。因此,算法的任務是在數據本身中尋找模式。無監督機器學習算法的兩種主要類型分別是使用主成分分析的降維算法和聚類算法(包括K-Means和層次聚類算法)。下面將依次介紹這些內容。
  • 機器學習中的目標函數總結
    有監督學習的樣本由輸入值與標籤值組成其中x為樣本的特徵向量,是機器學習模型的輸入值;y為標籤值,是模型的輸出值。標籤值可以是整數也可以是實數,還可以是向量。訓練時的目標是給定訓練樣本集,根據它確定一個函數實現從輸入值x到輸出值的y映射。確定此函數的依據是它能夠很好地預測這批訓練樣本,
  • 一文讀懂機器學習中的正則化
    我們可以從兩個方面去直觀地理解Dropout的正則化效果:在Dropout每一輪訓練過程中隨機丟失神經元的操作相當於多個DNNs進行取平均,因此用於預測時具有vote的效果。這裡借鑑下魏秀參博士的知乎回答中對covariate shift的解釋(https://www.zhihu.com/question/38102762)。
  • 如何入門Python與機器學習 | 贈書
    本文打算先談談機器學習相關的一些比較寬泛的知識,再介紹並說明為何要使用Python來作為機器學習的工具。最後,我們會提供一個簡短易懂的、具有實際意義的例子來給大家提供一個直觀的感受。該句中出現了一些專用術語,詳細的定義會在介紹術語時提及,這裡我們提供一個直觀的理解:注意:上述本質上嚴格來說,應該是PAC Learning的本質;在其餘的理論框架下,機器學習是可以具有不同的內核的。從上面的討論可以看出,機器學習和人類思考的過程有或多或少的類似。
  • 可解釋的機器學習
    可解釋的機器學習理解(interpret)表示用可被認知(understandable)的說法去解釋(explain)或呈現(present)。在機器學習的場景中,可解釋性(interpretability)就表示模型能夠使用人類可認知的說法進行解釋和呈現。[Finale Doshi-Velez]
  • 向量範數詳解+代碼實現
    此時我們把一個向量通過不同的方法,映射到一個標量,從而可以比較大小,這個標量學名就叫做「範數」。向量範數也可以分為0範數,1範數,2範數,p範數,∞範數等。向量範數為方便理解,在介紹向量範數之前,我們先定義一個簡單向量:0-範數向量0-範數表示向量非零元的個數。
  • 421頁《機器學習數學基礎》最新2019版PDF下載
    目前的一些機器學習教科書試圖加入一到兩章的內容來介紹數學背景知識,但是這些介紹要麼在書的開頭,要麼作為附錄。本書將機器學習中的數學基礎知識放在首位,並且信息相對集中。 【為什麼要寫一本關於機器學習的書?】機器學習建立在數學語言的基礎上,用來表達直觀上顯而易見但卻難以形式化的概念。