機器學習的線性代數:關鍵概念,為什麼要在機器學習之前學習

已發表: 2020-04-30

機器學習、機器人技術、數據科學、人工智能和計算機視覺是有助於將我們的技術提升到現在水平的領域。 當您開始獲得有關這些技術的更多知識時,您會遇到這些技術共有的一組行話或特定詞。

其中一些術語包括套索回歸、KKT 條件、核 PCA、支持向量機 (SVM)、拉格朗日乘數和嶺回歸等。 現在,這些行話可能只是為了讓外人遠離而創造出來的,但他們說了很多關於它們與我們在學校時所知道的典型線性代數的關聯。

因此,每個學習機器學習或數據科學的人都必須首先了解線性代數和優化理論是什麼。 您還需要學習數據科學,並知道如何在使用 ML 解決問題或使用數據科學更深入地了解可用的大量數據時使用它們。

在本博客中,我們將重點介紹機器學習和線性代數之間的關係,以及更好地理解後者如何幫助您掌握前者。

機器學習中有一些概念,例如 SVM 和回歸,如果您不了解它們的線性代數聯繫,您將無法正確理解它們。 如果您只是通過這些概念來了解這些概念實際上是什麼並且不想進一步研究它們,那麼您無需深入研究線性代數及其與機器學習的關係。

但是,如果您計劃成為一名機器學習工程師,並在未來訓練機器或進行研究並在該領域做出重大貢獻,那麼您將不得不深入挖掘。 沒有其他選擇。 必須具有紮實的線性代數背景。 我們撰寫此博客的主要目的是向您展示線性代數的基礎知識,確保我們展示它們如何在機器學習中使用。 讓我們首先了解線性代數到底是什麼。

目錄

什麼是線性代數?

簡而言之,它是數學的一個分支,在工程和科學中有重要的應用。 儘管它具有如此重要的意義,並且其應用遠遠超出了我們的想像,但我們看到我們的科學家在對其進行更深入的了解方面落後了。 這背後的主要原因是因為我們發現大多數科學家經常使用的不是離散數學。

它屬於數學的連續部分,這使得科學家和在技術領域工作的人們對它不太感興趣。 現在讓我們把一件事說清楚。 如果您甚至對線性代數的工作原理都沒有基本了解,您會發現學習和使用多種機器學習算法(包括深度學習算法)非常困難。

當您了解機器學習的基本原理以及如何以及在何處使用其算法時,您將需要花更多的時間來學習數學。 這將幫助您了解很多以前不了解的有關機器學習算法的新知識。 你會知道很多關於它們的局限性、基本假設等等。

現在,您將遇到在這一點上學習的不同數學領域,以學習更多地使用機器學習。 您可以學習幾何、代數、微積分和統計等主題; 然而,你需要明智地選擇你認為真正能幫助你豐富你的經驗並為你在機器學習職業生涯中前進的道路提供更堅實的基礎的領域。 您甚至可以請專家幫助您做出決定。

你現在要問自己的下一個問題是你需要如何進行這個學習過程。 你不能從頭開始學習線性代數。 您將不得不以一種或另一種方式選擇機器學習中使用的主題。 在下一節中,我們將討論一些您可以選擇學習的線性代數主題。

了解更多:為初學者解釋的 5 大機器學習模型

重要的線性代數概念

如果您想了解機器學習背後的基本概念,那麼對一些線性代數概念有足夠的了解是非常重要的。 如果您不了解這些高級機器學習算法背後的數學原理,您就不會希望掌握它們。 這裡有一些線性代數的概念,你需要了解它們才能了解機器學習的工作原理。

1. 向量和矩陣

可以說這兩個概念可以說是您需要學習的兩個最重要的概念,因為它們與機器學習密切相關。 向量由一組數字組成,而矩陣由通常以大寫形式提及的二維向量組成。

現在讓我們看看它們是如何與機器學習算法聯繫起來的。 向量發現自己在有監督的機器學習算法中很有用,它們以目標變量的形式存在。 另一方面,數據中可用的特徵形成矩陣。 您可以使用矩陣執行許多操作——共軛、乘法、秩、變換等。 兩個具有相同元素數量和形狀相等的向量也可以用於執行減法和加法。

2. 對稱矩陣

對稱矩陣在線性代數和機器學習中都很重要。 線性代數矩陣主要用於攜帶函數。 大多數時候,這些函數是對稱的,對應的矩陣也是如此。 這些函數及其持有的值可用於測量特徵距離。 它們也可用於測量特徵協方差。 下面列出了對稱矩陣的一些性質:

  • 對稱矩陣及其逆矩陣都是對稱的。
  • 特徵值中的所有值都是實數。 不存在復數。
  • 當一個矩陣與它的轉置相乘時,就形成了一個對稱矩陣。
  • 對稱矩陣也具有分解的性質。
  • 對於具有線性獨立列的矩陣,矩陣與其轉置相乘的結果是可逆的。

3.特徵值和特徵向量

特徵向量是僅按標量因子變化的向量,它們的方向根本沒有變化。 對應於特徵向量的特徵值是它們被縮放的大小。 特徵值和特徵向量存在於數學和計算的基礎知識中。 當我們在 XY 圖上繪製一個向量時,它遵循一個特定的方向。 當我們對幾個向量應用線性變換時,我們看到它們並沒有改變它們的方向。 這些向量在機器學習中非常重要。

特徵值和特徵向量用於最小化數據噪聲。 我們還可以使用這兩者來提高已知計算密集型任務的效率。 它們也可以用來消除過度擬合。 還有其他幾種情況,特徵值和特徵向量證明是有用的。

將聲音、文本或圖像數據的特徵可視化是相當困難的。 該數據通常以 3-D 表示。 這就是特徵值和特徵向量出現的地方。 它們可用於捕獲存儲在矩陣中的所有大量數據。 特徵值和特徵向量也用於面部識別。

閱讀:面向初學者的機器學習項目創意

4. 主成分分析(PCA)

很多時候,在解決某些機器學習問題時,維度會使事情變得困難。 在這些問題中,我們正在處理的數據的特徵彼此之間具有非常高的相關性,並且其維度比平常更高。

這個維度問題帶來的問題是,很難理解每個特徵對目標變量的影響。 之所以如此,是因為具有比正常更高相關性的特徵傾向於以相同的方式影響目標。 可視化更高維度的數據也非常困難。

主成分分析就是解決這些問題的方法。 它可以幫助您將數據維度降低到 2-D 或 3-D。 這樣做是為了確保不會由於最大方差的變化而丟失任何信息。 PCA 背後的數學與正交性有關。 PCA 是通過減少數據集中的特徵數量來降低模型複雜性的最佳方法。

但是,您應該避免將其用作消除過度擬合的初始步驟。 您應該從限制數據中的特徵數量或增加數據量開始。 然後,您應該嘗試使用 L1 或 L2 正則化。 如果沒有任何效果,那麼您應該求助於 PCA。

另請閱讀:您應該了解的前 9 個機器學習庫

為什麼要在機器學習之前學習線性代數?

1. 線性代數是機器學習出類拔萃的關鍵

不可否認,在高等數學方面,微積分勝過線性代數。 積分和微積分不僅可以幫助您進行積分、微分和限制,還可以作為應用程序所需的基礎知識,例如張量和向量。

學習這些東西將幫助您更好地理解其他領域的線性方程和線性函數。 您還將了解高級概念,例如單純形法和空間向量。 如果您需要有關線性規劃的幫助,可以使用 Simplex 方法。 為了更好地理解這些概念,首先要給線性代數更多的時間。

2.機器學習預測

當你學習線性代數時,你會提高在機器學習中發揮如此重要作用的意識或直覺。 您現在將能夠提供更多觀點。 您學習的矩陣和向量將幫助您拓寬思路,使其更加堅定不移。 可能性是無止境。 你可以開始做你周圍的人會覺得很難理解的事情。 您可以開始可視化和設置不同的圖表。 您可以開始為不同的機器學習組件使用更多參數。

3. 線性代數有助於創建更好的機器學習算法

您可以使用您對線性代數的學習來構建更好的有監督和無監督機器學習算法。 邏輯回歸、線性回歸、決策樹和支持向量機 (SVM) 是一些監督學習算法,您可以藉助線性代數從頭開始創建它們。

另一方面,您也可以將它用於無監督算法,包括單值分解 (SVD)、聚類和成分分析。 線性代數將幫助您更深入地了解您正在從事的機器學習項目,從而使您能夠靈活地自定義不同的參數。 您可以了解有關機器學習中線性回歸的更多信息。

4. 機器學習中更好的圖形處理的線性代數

機器學習項目為您提供不同的圖形解釋——圖像、音頻、視頻和邊緣檢測。 機器學習算法具有分類器,可根據其類別訓練給定數據集的一部分。 分類器的另一項工作是消除已經訓練過的數據中的錯誤。

正是在這個階段,線性代數開始幫助計算這個複雜而龐大的數據集。 它使用矩陣分解技術來處理和處理不同項目的大數據。 最流行的矩陣分解方法是 QR 和 LU 分解。

5. 線性代數來提高你對統計的理解

統計對於在機器學習中組織和整合數據非常重要。 如果你想更好地理解統計概念,你首先需要了解線性代數是如何工作的。 線性代數的方法、運算和符號可以幫助將高級統計主題(如多變量分析)集成到您的項目中。

假設您正在處理包括體重、身高、血壓和心率在內的患者數據。 這些是您正在處理的數據集的多個變量。 讓我們在這裡假設體重增加會導致血壓升高。 不難理解,這是一個線性關係。 因此,為了更好地理解一個變量的增加如何影響另一個變量,您需要對線性代數有一個很好的理解。

結論

機器學習本身就是一個相當廣泛的話題。 但是,還有其他概念,例如線性代數,與 ML 本身一樣重要。 學習線性代數和其他此類主題將有助於更好地理解機器學習的概念。

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

哪個對機器學習更重要——微積分還是線性代數?

如果您打算在機器學習領域建立職業生涯,那麼您必須已經知道該領域的基礎深植於數學之中。 機器學習數學包括 3 個關鍵領域,微積分、線性代數和統計學。 由於機器學習涉及大量的向量和矩陣,線性代數構成了其最基本的部分。 但是微積分也是 ML 不可或缺的一部分,因為它有助於理解機器學習機制的運作方式。 所以微積分和線性代數同樣重要。 但是,您必須使用多少主要取決於您的工作角色和職責。

線性代數比微積分更難學嗎?

線性代數是關於使用線性方程研究直線,而微積分是關於平滑變化的分量,涉及導數、向量、積分、曲線等。 話雖如此,線性代數甚至比基本微積分更容易學習。 在線性代數中,如果你能理解線性代數定理背後的理論,你就能解決所有相關的問題。 但是,這不足以解決微積分問題。 不僅僅是記住算法,即理論部分,您還需要了解計算方面的知識,以回答微積分中的計算問題。 微積分是數學中最具挑戰性的部分,而線性代數更具體,更不抽象; 以後更容易理解了。

統計學在機器學習中重要嗎?

談到機器學習,你不能把統計數據排除在外。 專家們認為機器學習是應用統計學,因此它是那些希望從事機器學習事業的人的先決條件。 在設計機器學習模型時,數據起著至關重要的作用。 需要統計技術來根據累積的數據找到答案,這些數據將用於訓練不同的機器學習模型。 因此,機器學習必須具備基本的統計學知識。