回覆列表
  • 1 # 機器之心Pro

    線性代數是數學的分支學科,涉及向量、矩陣和線性變換。

    它是機器學習的重要基礎,從描述演算法操作的符號到程式碼中演算法的實現,都屬於該學科的研究範圍。

    雖然線性代數是機器學習領域不可或缺的一部分,但二者的緊密關係往往無法解釋,或只能用抽象概念(如向量空間或特定矩陣運算)解釋。

    在這篇文章中,我們將使用 10 個常見機器學習案例,這些案例需要用線性代數才能得到最好的理解。

    閱讀這篇文章後,你將會了解到:

    如何在處理資料時使用線性代數結構,如表格資料集和影象。

    資料準備過程中用到的線性代數概念,例如 one-hot 編碼和降維。

    深度學習、自然語言處理和推薦系統等子領域中線性代數符號和方法的深入使用。

    讓我們開始吧。

    綜述

    這 10 個機器學習案例分別是:

    1. 資料集和資料檔案

    2. 影象和照片

    3. 編碼

    4. 線性迴歸

    5. 正則化

    6. 主成分分析

    7. 奇異值分解

    8. 潛在語義分析

    9. 推薦系統

    10.深度學習

    1. 資料集和資料檔案

    在機器學習中,你可以在資料集上擬合一個模型。

    這是表格式的一組數字,其中每行代表一組觀察值,每列代表觀測的一個特徵。

    例如,下面這組資料是鳶尾花資料集的一部分

    資料集地址:http://archive.ics.uci.edu/ml/datasets/Iris

    5.1,3.5,1.4,0.2,Iris-setosa

    4.9,3.0,1.4,0.2,Iris-setosa

    4.7,3.2,1.3,0.2,Iris-setosa

    4.6,3.1,1.5,0.2,Iris-setosa

    5.0,3.6,1.4,0.2,Iris-setosa

    這些資料實際上是一個矩陣:線性代數中的一個關鍵資料結構。

    接下來,將資料分解為輸入資料和輸出資料,使之適用於一個受監督的機器學習模型(如測量值和花卉品種),得到矩陣(X)和向量(y)。向量是線性代數中的另一個關鍵資料結構。

    每行長度相同,即每行的資料個數相同,因此我們可以說資料是向量化的。這些行資料可以一次性或成批地提供給模型,並且可以預先配置模型,以得到固定寬度的行資料。

    2. 影象和照片

    也許您更習慣於在計算機視覺應用中處理影象或照片。

    您使用的每個影象本身都是一個表格結構,每個單元格都有一個固定寬度和高度以及用於表示黑白影象的 1 個畫素值或表示彩色影象的 3 個畫素值。

    照片也是線性代數矩陣的一種。

    與影象相關的操作,如裁剪,縮放,剪下等,都是使用線性代數的符號和操作來描述的。

    3. 一位有效編碼

    有時機器學習中要用到分類資料。

    可能是用於解決分類問題的分類標籤,也可能是分類輸入變數。

    對分類變數進行編碼以使它們更易於使用並透過某些技術進行學習是很常見的。一位有效編碼是一種常見的分類變數編碼。

    一位有效編碼可以理解為:建立一個表格,以表示每個類別中一列的變數和資料集中每個例子的一行。在列中為給定行的分類值新增一個檢查或「1」值,並將「0」值新增到所有其他列。

    例如,共計 3 行的顏色變數:

    red

    green

    blue

    ...

    這些變數可能被解碼為:

    red, green, blue

    1, 0, 0

    0, 1, 0

    0, 0, 1

    ...

    每一行都被編碼為一個二進位制向量,一個被賦予「0」或「1」值的向量。這是一個稀疏表示的例子,一個線性代數的完整子域。

    4. 線性迴歸

    線性迴歸是一種用於描述變數之間關係的統計學傳統方法。

    該方法通常用於機器學習,用於預測較簡單的迴歸問題的數值。

    描述和解決線性迴歸問題有很多種方法,即找到一組係數,用這些係數與每個輸入變數相乘並將結果相加,得出最佳的輸出變數預測。

    如果您使用過機器學習工具或機器學習庫,解決線性迴歸問題的最常用方法是透過最小二乘最佳化,這一方法是使用線性迴歸的矩陣分解方法解決的(例如 LU 分解,奇異值分解或 SVD)。

    即使是線性迴歸方程的常用總結方法也使用線性代數符號:

    y = A . b

    其中,y 是輸出變數,A 是資料集,b 是模型係數。

    5. 正則化

    在應用機器學習中,我們往往尋求最簡單可行的模型來發揮解決我們問題的最佳技能。

    較簡單的模型通常更擅長從具體示例泛化到不可見資料。

    在涉及係數的許多方法中,例如迴歸方法和人工神經網路,較簡單的模型通常具有較小的係數值。

    一種常用於鼓勵模型在資料擬合時儘量減小系數值的技術稱為正則化。常見應用包括正則化的 L2 和 L1 形式。

    這兩種正則化形式在實際中用來測量作為向量的係數的大小或長度,是直接脫胎於名為向量範數的線性代數方法。

    6. 主成分分析

    通常,資料集有許多列,列數可能達到數十,數百,數千或更多。

    對具有許多特徵的資料進行建模具有一定的挑戰性。而且,從包含不相關特徵的資料構建的模型通常不如用最相關的資料訓練的模型熟練。

    我們很難知道資料的哪些特徵是相關的,而哪些特徵又不相關。

    自動減少資料集列數的方法稱為降維,也許最流行的方法是主成分分析法(簡稱 PCA)。

    該方法用於機器學習,為視覺化和模型的訓練建立高維資料的投影。

    PCA 方法的核心是線性代數的矩陣分解方法。可能會用到特徵分解。更可靠的實現可以使用奇異值分解或 SVD。

    7.奇異值分解

    另一種流行的降維方法是奇異值分解方法,簡稱 SVD。

    如上所述,正如該方法名稱所示,它是源自線性代數領域的矩陣分解方法。

    該方法線上性代數中有廣泛的用途,可直接應用於特徵選擇、視覺化、降噪等方面。

    在機器學習中我們會看到以下兩個使用 SVD 的情況。

    8. 潛在語義分析

    在用於處理稱為自然語言處理的文字資料的機器學習的子領域中,通常將文件表示為詞出現的大矩陣。

    例如,矩陣的列可以是詞彙表中的已知詞,行可以是文字的句子、段落、頁面或文件,矩陣中的單元格標記為單詞出現的次數或頻率。

    這是文字的稀疏矩陣表示。矩陣分解方法(如奇異值分解)可以應用於此稀疏矩陣,該分解方法可以提煉出矩陣表示中相關性最強的部分。以這種方式處理的文件比較容易用來比較、查詢並作為監督機器學習模型的基礎進行使用。

    這種形式的資料準備稱為潛在語義分析(簡稱 LSA),也稱為潛在語義索引(LSI)。

    9. 推薦系統

    涉及產品推薦的預測建模問題被稱為推薦系統,這是機器學習的一個子領域。

    例如,基於您在亞馬遜上的購買記錄和與您類似的客戶的購買記錄向您推薦書籍,或根據您或與您相似的使用者在 Netflix 上的觀看歷史向您推薦電影或電視節目。

    推薦系統的開發主要涉及線性代數方法。一個簡單的例子就是使用歐式距離或點積之類的距離度量來計算稀疏顧客行為向量之間的相似度。

    像奇異值分解這樣的矩陣分解方法在推薦系統中被廣泛使用,以提取專案和使用者資料的有用部分,以備查詢、檢索及比較。

    10. 深度學習

    人工神經網路是一種非線性機器學習演算法,它受大腦中資訊處理元素的啟發,其有效性已經在一系列問題中得到驗證,其中最重要的是預測建模。

    深度學習是近期出現的、使用更新方法和更快硬體的人工神經網路的復興,這一方法使得在非常大的資料集上開發和培訓更大更深的(更多層)網路成為可能。深度學習方法通常會在機器翻譯、照片字幕、語音識別等一系列具有挑戰性的領域取得最新成果。

    神經網路的執行涉及線性代數資料結構的相乘和相加。如果擴充套件到多個維度,深度學習方法可以處理向量,矩陣,甚至輸入和係數的張量,此處的張量是一個兩維以上的矩陣。

    線性代數是描述深度學習方法的核心,它透過矩陣表示法來實現深度學習方法,例如 Google 的 TensorFlow Python 庫,其名稱中包含「tensor」一詞。

    結論

    在這篇文章中,您瀏覽了 10 個您可能熟悉的常見機器學習案例,這些案例都要用到並需要線性代數。

    具體來說,您學到了:

    在處理表格資料集和影象等資料時使用線性代數結構。

    資料準備工作中用到的線性代數概念,如一位有效編碼和降維。

    深度學習、自然語言處理和推薦系統等子領域中線性代數符號和方法的深入應用。

  • 2 # 薛定諤的小貓貓

    推薦系統使用的SVD分解、張量分解、非負矩陣分解NMF,PCA主成分分析中求特徵值、矩陣運算,這些都是機器學習中重要的線性代數例項。下面我貼一下之前我用矩陣求導解最小二乘問題的公式推導過程的例項

    最小二乘的解,可以透過梯度下降迭代或牛頓迭代方法求解,但也可以基於矩陣求導來計算,它的計算方式更加簡潔高效,不需要大量迭代,只需解一個正規方程組。

    另外,最常見的邏輯迴歸模型,如果你要用牛頓迭代去解最佳化問題,求Hessian矩陣和矩陣分解都是線性代數的例項體現。

  • 中秋節和大豐收的關聯?
  • 為什麼父母不同意女兒找一個離過婚的男人?