機器學習第一步,從向量和矩陣開始!

2020-12-05 讀芯術

全文共1466字,預計閱讀時長2分鐘

熟練掌握C語言卻總是在轉型機器學習算法的道路上屢屢跌倒?懂得AI模型的邏輯卻在每次偽代碼修改後都被報錯?

你的絆腳石或許不僅僅是對於Python語法的陌生,還有對於數據集的處理摸不著頭腦。

這時候,就需要我們回歸基本概念——從向量、矩陣開始,讀懂機器學習語言。

不同在何處?

在一般性C語言編程中,對於數據的處理主要利用指針。

熟悉它的同學們都知道,所謂內存,其實可以被視作一棟有許多房間的旅館,數據按照特定順序存在於這些房間之中。而指針,就是房間的門牌號。每一個指令的下達,就是依據編號敲開對應的門,而不用每一次處理之前,都得對房內的具體數據有所了解。

但機器學習的邏輯卻與這完全不同。如果說前者是演繹法,那麼機器學習則是歸納法,對於機器學習模型最重要的,就是理解單位數據本身。

就圖像識別而言,模型為了正確識別狗,需要掌握的是每一張含有狗的圖片數據中有何特徵點,這些特徵點與貓、與人、與桌椅板凳的特點有何不同,從而讓圖中的狗成為計算機眼中的狗

在這樣的運算中,計算機是邏輯的主宰者。計算機在圖片的特徵參數提取中,學會了頭圓、有深色鼻頭、尖耳朵、可伸縮爪子的物體是貓,而吐舌頭、塌耳朵、長臉的是狗。至於模型如何判斷塌耳朵和尖耳朵,我們很難給出確切的答案。

我們最有控制權和控制可能性的,是通過獎勵信號訓練模型,讓計算機在自己的推理邏輯下,給出我們想要的答案。

這就意味著,在機器學習中,我們需要一個更加靈活的東西,讓機器可以為不同數據之間的聯繫賦予權重,而不僅僅只有指向。這就是運用向量的意義所在。

向量與矩陣

在機器學習算法中,有這樣幾個要素值得關注。

首先是數據集,它將作為輸入信號(inputs),根據訓練階段的需求,被劃分為模型的訓練集、驗證集、測試集。

其次就是向量。雖然在不同語境下,向量的意義各不相同,但並不妨礙我們將其歸納為含有數量級與方向的量。這樣一來,向量便能搭載著數據的邏輯關係及權重,從而讓數據集被輸入編碼器,形成數組,隨之進入神經網絡模型運算。

而這個龐大的數組,通常以矩陣的方式出現。

所謂矩陣(Matrix),當然不是《黑客帝國》裡的那個邪惡智能體Matrix了,不過它的確有這方面的潛質。矩陣是一個按照長方陣列排列的複數或實數集合,它在計算模型中可以指代許多東西。

比如這個3 x 3的矩陣,其中的1可能指代的是物體顏色為紅色,其中的5可能說的就是物體的位置。

而將矩陣放置在神經網絡算法中,通常指代的是向量與數據集的組合。

為什麼要利用矩陣呢?首先,大家都知道,單個向量本身就是一個1 x n的矩陣。其次,在Python中,Numpy系統可以直接進行矩陣之間運算。這樣一來,便可以避免使用不斷將單位數據代回公式的for循環,從而提升運算效率。

如何讀懂?

理解了向量與矩陣的重要性,只是邁出了讀懂機器學習的第一步,要繼續走下去,必然需要夯實基礎

在許多機器學習入門教程中,許多作者都提供了他們所認可的線性代數課程。

一位網名叫@SEFDstuff的小哥就在他的YouTube頻道裡提供了幾個關於向量和矩陣的公開課鏈

向量 (explained with Linear Algebra):

https://www.khanacademy.org/math/linear-algebra/vectors-and-spaces

向量 (explained with PreCal):

https://www.khanacademy.org/math/precalculus/vectors-precalc

矩陣:

https://www.khanacademy.org/math/precalculus/precalc-matrices

不用翻牆,手指動一動,邁出你讀懂機器學習的第一步吧!

讀芯君開扒

讀懂機器學習,需要建立自己的詞典

入門機器學習並非難事,更不需要從零開始。

掌握Python固然重要,但Python不過也只是機器學習這本海量詞典中的一個部分,而剩下的絕大多數內容,還有待發掘。

而發掘的過程,就是學習他人研究和代碼過程。利用諸如TensorFlow,PyTorch這樣的機器學習框架,開啟學習的第一步將是一個很好的選擇。

要知道,只有當你真正開始著手寫作神經網絡模型,你才能真正地發現問題,並獲得尋找解決方案的動力。你的機器學習詞典,才不會永遠都停留在膚淺的層面。

留言 點讚 發個朋友圈

我們一起探討AI落地的最後一公裡

作者:羊習習

參考文獻連結:

https://www.leiphone.com/news/201804/wmYdmBLjATQZoH7c.html?viewType=weixin

如需轉載,請後臺留言,遵守轉載規範

相關焦點

  • 教程| 基礎入門:深度學習矩陣運算的概念和代碼實現
    本文由機器之心編輯,「機器之心」專注生產人工智慧專業性內容,適合開發者和從業者閱讀參考。點擊右上角即刻關注。本文從向量的概念與運算擴展到矩陣運算的概念與代碼實現,對機器學習或者是深度學習的入門者提供最基礎,也是最實用的教程指導,為以後的機器學習模型開發打下基礎。
  • 機器之心最幹的文章:機器學習中的矩陣、向量求導
    本文的目標讀者是想快速掌握矩陣、向量求導法則的學習者,主要面向矩陣、向量求導在機器學習中的應用。因此,本教程而非一份嚴格的數學教材,而是希望幫助讀者儘快熟悉相關的求導方法並在實踐中應用。另外,本教程假定讀者熟悉一元函數的求導。本文公式太多,微信上展示會有一些問題。
  • Python求解特徵向量和拉普拉斯矩陣
    學過線性代數和深度學習先關的一定知道特徵向量和拉普拉斯矩陣,這兩者是很多模型的基礎,有著很重要的地位,那用python要怎麼實現呢?numpy和scipy兩個庫中模塊中都提供了線性代數的庫linalg,scipy更全面些。
  • 矩陣的瑰寶:深入挖掘特徵值和特徵向量,直觀地看抽象概念
    特徵值和特徵向量可能看起來是很抽象的概念,但它們在你周圍的世界中扮演著不可或缺的角色。因為一切都是由數據定義的,矩陣是處理數據的最佳工具,而它們又是矩陣中的瑰寶,可以揭示矩陣的性質。理解特徵值和特徵向量是什麼,如何推導它們,以及它們的應用,對于欣賞矩陣之美,以及更廣泛地理解數據和數學在世界中扮演的角色,都是不可或缺的。
  • 矩陣:特徵向量(Eigenvector)
    變換矩陣的所有特徵向量作為空間的基之所以重要,是因為在這些方向上變換矩陣可以拉伸向量而不必扭曲和旋轉它,使得計算大為簡單。所以特徵值固然重要,我們的終極目標卻是特徵向量。意思是如果你和你的朋友困在核裡面,你們不管是相加還是相乘都還會在核裡面,跑不出去。這就構成了一個子空間。值域同理。數學家證明了,V的維度一定等於它的任意一個變換矩陣的核的維度加上值域的維度。
  • 【新書推薦】《機器學習及R應用》目錄
    編者薦語:  《機器學習及R應用》終於上市啦!不少讀者想知道《機器學習及R應用》的目錄。這裡附上詳細的二、三級目錄清單,讓我們先睹為快!  以下文章來源於計量經濟學及Stata應用,作者愛計量。  陳強老師的《機器學習及R應用》終於上市啦!目前已經開始在高等教育出版社的官方微店預售。掃描(或識別)下方二維碼,即可前往售書頁面。
  • 矩陣的特徵值與特徵向量
    求解特徵值和特徵向量的步驟如下:(1) 計算特徵多項式|A-λE|;(2) 求|A-λE|=0的所有根,即A的所有特徵值;(3) 對每個特徵值λ0,求解齊次線性方程組矩陣的跡(trace):矩陣A主行列式的元素和也是所有特徵值的和稱為矩陣A的跡,記作tr(A)。
  • R語言筆記1:數據類型(向量、數組、矩陣、 列表和數據框)
    而對OTU表開始的組間比較、網絡分析、機器學習等會有上百種方法和展示方式,每一篇優秀的文章,都是數據反覆咀嚼上百次優化出來的結果(3個月-3年),而這一漫長的科研之路有R語言技能的相伴,可將統計分析可視化操作一網打盡,定能助你事半功倍。前期公眾號己分享了擴增子、宏基因組分析流程及可視化文章上百篇,但一直缺少基礎入門的知識。
  • 矩陣特徵值與特徵向量的幾何意義
    線性變換是指一個 n 維列向量被左乘一個 n 階矩陣後得到另一個 n 維列向量,它是同維向量空間中的把一個向量線性映射成了另一個向量。即:Y=AX 其中Y, X∈Rn,A=(aij)n×n,一個向量被矩陣相乘,表示對這個向量做了一個線性變換。如果變換後還是這個向量本身乘以一個常數,這個常數就叫特徵值。
  • 矩陣的重要特性:特徵向量
    矩陣實際可以看作一個變換,方程左邊就是把向量x變到另一個位置而已;右邊就是把向量x作了一個拉伸,拉伸量是lamda。那麼它的意義就很明顯了,表達了矩陣A的一個特性就是這個矩陣可以把向量x拉長(或縮短)lamda倍,僅此而已。任意給定一個矩陣A,並不是對所有的x它都能拉長(縮短)。
  • 想入門機器學習?機器之心為你準備了一份中文資源合集
    機器之心整理參與:機器之心編輯部機器學習日益廣為人知,越來越多的計算機科學家和工程師投身其中。不幸的是,理論、算法、應用、論文、書籍、視頻等信息如此之多,很容易讓初學者迷失其中,不清楚如何才能提升技能。本文作者依據自身經驗給出了一套快速上手的可行方法及學習資源的分類匯總,機器之心在其基礎上做了增益,希望對讀者有所幫助。
  • ,用幾何思維理解矩陣的「逆」和向量的「點積」
    面對線性代數中複雜的概念和公式,如果我們從幾何的角度去審視它們,就好比我們擁有了上帝視角,可以從大局上掌控它們,也可以更深入的理解它們的內涵。逆先來看矩陣的逆。這裡我們不會引入複雜的公式去介紹如何求矩陣的逆,我們要做的是,先深入理解它,然後再去計算它。我們已經知道,給定一個矩陣A,讓它作用於向量x(矩陣乘以向量),得到一個新向量b,這是一個線性變換。
  • 2015考研數學大綱解析:特徵值和特徵向量學習方法指導
    當然,特徵值和特徵向量部分也沒有發生變化。下面我以特徵值和特徵向量為例,深度解析考研數學大綱,希望對大家的學習有所幫助。  一、考試內容  矩陣的特徵值和特徵向量的概念、性質  相似矩陣的概念及性質  矩陣可相似對角化的充分必要條件及相似對角矩陣  實對稱矩陣的特徵值、特徵向量及其相似對角矩陣  二、考試要求  理解矩陣的特徵值和特徵向量的概念及性質,會求矩陣特徵值和特徵向量;理解相似矩陣的概念
  • 數據科學中的數學基礎: 矩陣和向量空間
    首先通過一個簡單例子來感性認識一下標量(scalar)、向量(vector)和矩陣(matrix)這 3 個數學概念。假設我們設計了一款網絡對戰遊戲,在遊戲中,玩家選擇自己的英雄與其他玩家對戰。每個英雄的能力由 3 種屬性描述:智力、敏捷和力量。為了方便表示,不妨用 i 表示智力、a 表示敏捷、s 表示力量。
  • 奇異值分解簡介:從原理到基礎機器學習應用
    矩陣分解在機器學習應用中的重要性無需多言。本文對適用範圍很廣的奇異值分解方法進行了介紹,並通過代碼演示說明了其工作方式、計算方法及其常見的幾種基礎應用。矩陣分解也叫矩陣因子分解,涉及到用給定矩陣的組成元素描述該矩陣。
  • 機器學習 線性代數基礎 | 1.4 矩陣乘向量的新視角:變換基底
    我們即將步入這一章的尾聲,在本章前面的三個小節中,我們學習了矩陣和向量的表示方法以及加法、乘法等基本運算的規則,並能夠熟練利用Python語言工具正確的對其進行描述和表示。但是顯然我們不能僅僅滿足於此,那麼在這一小節裡,我們一起回過頭來靜靜的思考這樣一個問題:矩陣A和列向量x的乘法運算Ax有沒有其他更深層次的幾何含義呢?
  • 線性代數學習之矩陣不只是m*n個數字
    什麼是矩陣:繼續接著上一次線性代數學習之向量的高級話題的線性代數往下學習,前兩次的學習都是跟Vector相關的,也就是學習線性代數這裡是從Vector
  • 深入理解矩陣特徵值與特徵向量的物理意義
    顧名思義,特徵值和特徵向量表達了一個線性變換的特徵。在物理意義上,一個高維空間的線性變換可以想像是在對一個向量在各個方向上進行了不同程度的變換,而特徵向量之間是線性無關的,它們對應了最主要的變換方向,同時特徵值表達了相應的變換程度。
  • 機器不學習:基於深度學習CNN的短文本相似度計算方案
    機器學習深度學習乾貨棧 www.jqbxx.com基於CNN模型的短文本相似度的計算方法可以大致分為兩類:一類是基於Siamese結構的神經網絡模型,先分別學習輸入的文本對兒的句子向量表達,再基於句子向量計算相似度;另一類是直接以詞語粒度的相似度矩陣作為輸入,學習並計算文本相似度。
  • 2013考研數學衝刺複習:矩陣的特徵值與特徵向量講解
    矩陣的特徵值與特徵向量問題是考研數學中一常考點,然而在最後衝刺這一階段,同學們在做真題和模擬題《考研數學絕對考場最後八套題》時對這一考點還存在一些疑惑,對此,文都考研數學的輔導老師特撰此文講解矩陣的特徵值與特徵向量問題,助同學們考研成功。