總金額: 會員:NT$ 0 非會員:NT$ 0 
(此金額尚未加上運費)
電子電信技術 電腦技術 自動化基礎理論
 
 
 
 
機器學習線性代數基礎:Python語言描述
 作  者: 張雨萌
 出版單位: 北京大學
 出版日期: 2019.09
 進貨日期: 2020/2/5
 ISBN: 9787301306017
 開  本: 16 開    
 定  價: 368
 售  價: 294
  會 員 價: 270

目前無補書計畫

推到Facebook 推到Plurk 推到Twitter
前往新書區 書籍介紹 購物流程  
 
內容簡介:

數學是機器學習繞不開的基礎知識,傳統教材的風格偏重理論定義和運算技巧,想以此高效地打下機器學習的數學基礎,針對性和可讀性並不佳。本書以機器學習涉及的線性代數核心知識為重點,進行新的嘗試和突破:從座標與變換、空間與映射、近似與擬合、相似與特徵、降維與壓縮這5個維度,環環相扣地展開線性代數與機器學習演算法緊密結合的核心內容,並分析 系統和圖像壓縮兩個實踐案例,在介紹完核心概念後,還將線性代數的應用領域向函數空間和複數域中進行拓展與延伸;同時極力避免數學的晦澀枯燥,充分挖掘線性代數的幾何內涵,並以Python語言為工具進行數學思想和解決方案的有效實踐。  《機器學習線性代數基礎:Python語言描述》適合實踐於資料分析、信號處理等工程領域的讀者,也適合在人工智慧、機器學習領域進行理論學習和實踐,希望築牢數學基礎的讀者,以及正在進行線性代數課程學習的讀者閱讀。


作者簡介:

張雨萌,畢業於清華大學電腦系,長期從事人工智慧領域相關研究工作。


圖書目錄:

第1章 座標與變換:高樓平地起
1.1 描述空間的工具:向量 2
1.2 基底構建一切,基底決定座標 13
1.3 矩陣,讓向量動起來 18
1.4 矩陣乘向量的新視角:變換基底 27
第2章 空間與映射:矩陣的靈魂
2.1 矩陣:描述空間中的映射 34
2.2 追因溯源:逆矩陣和逆映射 42
2.3 向量空間和子空間 50
2.4 老樹開新花,道破方程組的解 55
第3章 近似與擬合:真相 近處
3.1 投影,尋找距離 近的向量 62
3.2 深入剖析 小二乘法的本質 69
3.3 施密特正交化:尋找 佳投影基 74
第4章 相似與特徵: 佳觀察角
4.1 相似變換:不同的視角,同一個變換 80
4.2 對角化:尋找 簡明的相似矩陣 85
4.3 關鍵要素:特徵向量與特徵值 89
第5章 降維與壓縮:抓住主成分
5.1 重要的矩陣:對稱矩陣 96
5.2 資料分佈的度量 100
5.3 利用特徵值分解(EVD)進行主成分分析(PCA) 103
5.4 通用的利器:奇異值分解(SVD) 111
5.5 利用奇異值分解進行資料降維 116
第6章 實踐與應用:線代用起來
6.1 SVD在 系統中的應用 124
6.2 利用SVD進行彩色圖片壓縮 133
第7章 函數與複數域:概念的延伸
7.1 傅裡葉級數:從向量的角度看函數 145
7.2 複數域中的向量和矩陣 151


章節試讀:

第1章 座標與變換:高樓平地起作為全書內容的開篇部分,本章將從空間的角度出發,詳細介紹向量和矩陣的基本概念,並在空間思維的框架下描述矩陣和向量運算的基本法則,揭示其幾何意義,以求迅速幫助讀者搭建起關於空間的宏觀知識框架,奠定學習全書內容的思想方法。在本章知識內容的演繹、推進過程中,會逐步引出基底的選取、空間的張成、基底的轉化與座標的變換這些和空間緊密相關的概念,並使用Python語言,對相關概念和運算過程進行描述。本章主要涉及的知識點?介紹向量的概念和基本運算?介紹基底的用途和構成條件?介紹座標與基底之間的關係?介紹矩陣的概念和基本運算?介紹矩陣對向量空間位置的改變?介紹在矩陣的作用下,向量的基變換原理及過程1.1描述空間的工具:向量空間是貫穿整個線性代數的主幹脈絡和核心概念。那麼在全書開篇的 節,我們將重點學習如何利用向量這個重要工具對空間進行描述,從而使讀者完成對“空間”從感性認識到定量描述的重要轉變。首先,我們將在向量知識基礎上,開始學習行向量及列向量的基本概念,並且運用Python語言對向量進行代碼表示,這也是本書的一個重要特色;然後,我們會利用Python語言熟悉和掌握如何對多個向量進行加法和乘法運算; 後,綜合以上的這些知識和運算法則,引出向量線性組合的重要概念,使讀者瞭解線性組合的構成方法和基本形式。1.1.1 重溫向量對於向量而言,我們一定不會感到陌生。向量的概念其實很簡單,直觀地說,把一組數字排列成一行或一列,就稱為向量。它可以作為對空間進行描述的有力工具。例如,對於一個簡單的二維向量,這個向量有兩個成分: 個成分是數字4,第二個成分是數字5。向量可以理解為二維平面中x座標為4、y座標為5的一個點,也可以將其理解為以平面中的原點(0, 0)為起點,以(4, 5)為終點的一條有向線段,如圖1.1所示。圖1.1 二維向量的空間表示由此可見,一個向量中成分的個數就是該向量的維數。因此,如果進一步推廣下去,還會有三維向量,如?。同理,這個三維向量可以用來表示三維空間中的一個 點,或者用來表示在三維空間中以原點(0, 0, 0)為起點,以(3, 2, 4)為終點的一條有向線段,如圖1.2所示。圖1.2 三維向量的空間表示當然,以此類推,自然還存在 高維的向量,只不過不太好利用圖形化的方式進行描述,這裡就不繼續展開舉例了。不過向量也不僅局限於用來直接描述空間中的點座標和有向線段,也可以憑藉基礎的資料表示功能,成為一種描述事物屬性的便捷工具。例如,在一次考試中,你的考試成績為:語文85分,數學92分,外語89分。由於這3門課具有不同科目屬性,因此,可以使用一個三維向量來對其進行表示,即。其實,這樣看來,此時不僅僅可以把向量score看作是一個盛放資料的容器,似乎也可以利用它將科目考試成績和空間建立起某種關聯。又如,在自然語言處理的過程中,也少不了向量這個重要的工具。程式進行文本閱讀時,首先會對文本材料進行分詞處理,然後使用向量對詞彙進行表示。這是因為向量很適合將物件的屬性和特徵對應到高維空間中進行定量表達,同時在此基礎上進行進一步的後續處理,如判斷詞彙之間的相似性等。在本書的後續章節中,將會陸續接觸到一些資料處理的基本方法:如投影、降維等,這些方法都是在向量描述的基礎上實現的。1.1.2 通常使用列向量根據上面所講述的向量的定義“把一組數字排列成一行或一列,就稱為向量”,向量對應地就擁有兩種表達方式:如果元素是縱向排列的,就將其稱為列向量,如??,;如果元素是橫向排列的,就將其稱為行向量,如[4 5 7]。在實際使用向量工具進行描述和計算時,應該具體使用哪一種方式呢?在沒有特殊說明的情況下,一般都預設為列向量。從直覺上來看,似乎行向量顯得 為直觀,但是,這裡為什麼會如此偏愛列向量呢?這麼做主要是為了方便後續的向量座標變換、空間之間的映射等計算過程的處理。在這裡先不詳細展開討論,讀者對此有一個直觀的印象就可以了。將一個矩陣A所表示的映射作用于某個向量x上時,習慣上將其寫成矩陣乘以向量的表達形式,即Ax。而這種寫法的資料表示基礎便是:向量x必須是一個列向量。目前出現好幾個概念,如轉置、矩陣、映射等,這裡先不做介紹,後面會一一詳細描述。需要記住的是:一般都用列的形式來表示向量。1.1.3 使用Python語言表示向量瞭解了基本概念後,開始使用工具。對應地,應如何使用Python語言表示行向量和列向量呢?這裡,需要使用Python語言中的一個常用工具庫:numpy。先看如何用代碼描述行向量a?=?[1 2 3 4]。代碼如下:import numpy as npa?=?np.array([1, 2, 3, 4])print(a)運行結果:[1 2 3 4]在Python語言中,一般使用工具庫numpy來生成一個向量,但其默認生成的是行向量。但正如前面內容中所介紹的,一般情況下,通常使用列向量的形式,因此還需要對其做一些處理工作。也許有些讀者會想,用轉置這個概念(後面會詳細講解)是不是就可以了,也就是把向量的行索引和列索引交換位置。但是numpy中的轉置方法對於一維陣列是無效的,代碼如下。import numpy as npa?=?np.array([1, 2, 3, 4])print(a.transpose())運行結果:[1 2 3 4]從程式的運行結果來看,這段代碼確實沒有出現預期的效果。那應該如何表示一個列向量呢?具體的做法我們來演示一下。代碼如下:import numpy as npA?=?np.array([1, 2, 3, 4])A_t?=?A[:, np.newaxis]print(A_t)print(A_t.shape)運行結果:[[1][2][3][4]](4, 1)這樣,就把一個行向量成功地轉換成了一個列向量。這裡確實用了轉置的思路和做法。但是,這段代碼有點複雜。下面就來介紹一種 簡單、 直觀的Python語言實現方法。1.1.4 簡單生成列向量這裡需要事先用到後面涉及的知識點。顯然,我們一直把向量看作是一個維數為1的陣列,但是其實也可以看作是行數為1或列數為1的一個二維陣列。從本書後面的內容中將會知道:二維陣列對應的就是矩陣,因此向量還可以看作是一個特殊的矩陣,即可以把行向量看作是一個1×m的特殊矩陣,可以把列向量看作是一個n×1的特殊矩陣。在這個視角下,重新生成剛剛討論的四維行向量[1 2 3 4]和對應的列向量。代碼如下:import numpy as npA?=?np.array([[1, 2, 3, 4]])print(A)print(A.T)運行結果:[[1 2 3 4]][[1][2][3][4]]在這段代碼中,需要注意的是,在對行向量進行初始化時,使用了numpy中的二維陣列的初始化方法,因此在語句中多嵌套了一層中括弧。在這種情況下,就可以直接通過行向量轉置的方法來生成對應的列向量了。明確了向量的表示方法後,再來梳理一下向量的基本運算。我們會逐一介紹向量的加法運算、向量的數量乘法運算、向量間的內積運算和外積運算,並且都會使用Python語言進行實現。1.1.5 向量的加法兩個維數相同的向量才能進行加法運算,只要將相同位置上的元素相加即可,結果向量的維數保持不變。兩個n維向量u和v的加法運算規則可以表示為向量的加法運算規則 簡單,下面舉一個例子,看一看如何求解向量與向量的加法運算結果。代碼如下:import numpy as npu?=?np.array([[1,2,3]]).Tv?=?np.array([[5,6,7]]).Tprint(u + v)運行結果:[[ 6][ 8][10]]1.1.6 向量的數量乘法向量的數量乘法就是將參與乘法運算的標量同向量的每個元素分別相乘,以此得到 終的結果向量。很顯然,得到的結果向量的維數依然保持不變。向量的數量乘法從幾何意義上來看,就是將向量沿著所在直線的方向拉伸相應的倍數,拉伸方向和參與運算的標量符號一致。例如,一個標量c和一個n維向量u的乘法運算規則可以表示為同樣地,舉一個例子,看一看如何求解向量與數字3的數量乘法運算結果。代碼如下:import numpy as npu?=?np.array([[1, 2, 3]]).Tprint(3*u)運行結果:[[3][6][9]]

 
  步驟一.
依據網路上的圖書,挑選你所需要的書籍,根據以下步驟進行訂購
選擇產品及數量 結 帳 輸入基本資料 取貨與付款方式
┌───────────────────────────────────────────────────┘
資料確定 確認結帳 訂單編號    

步驟二.
完成付款的程序後,若採用貨到付款等宅配方式,3~7天內 ( 例假日將延期一至兩天 ) 您即可收到圖書。若至分店門市取貨,一週內聯絡取書。

步驟三.
完成購書程序者,可利用 訂單查詢 得知訂單進度。

注意事項.
● 付款方式若為網路刷卡必須等" 2 ~ 3 個工作天"確認款項已收到,才會出貨.如有更改書籍數量請記得按更新購物車,謝謝。

● 大陸出版品封面老舊、磨痕、凹痕等均屬常態,除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。

● 至2018年起,因中國大陸環保政策,部分書籍配件以QR CODE取代光盤音頻mp3或dvd,已無提供實體光盤。如需使用學習配件,請掃描QR CODE 連結至當地網站註冊並通過驗證程序,方可下載使用。造成不便,敬請見諒。

● 我們將保留所有商品出貨權利,如遇缺書情形,訂單未達免運門檻運費需自行負擔。

預訂海外庫存.
商品到貨時間須4週,訂單書籍備齊後方能出貨,如果您有急用書籍,建議與【預訂海外庫存】商品分開訂購。