[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • 機器學習線性代數基礎 Python語言描述
    該商品所屬分類:圖書 -> 北京大學出版社
    【市場價】
    673-976
    【優惠價】
    421-610
    【作者】 張雨萌 
    【出版社】北京大學出版社 
    【ISBN】9787301306017
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:北京大學出版社
    ISBN:9787301306017
    版次:1

    商品編碼:12566109
    品牌:北京大學出版社
    包裝:平裝

    開本:16開
    出版時間:2019-08-01
    用紙:膠版紙

    頁數:172
    字數:254000

    作者:張雨萌

        
        
    "

    產品特色

    編輯推薦

    傳統教材的不足:傳統教材的風格偏重理論定義和運算技巧,想以此高效地打下機器學習的數學基礎,針對性和可讀性並不佳。
    《機器學習線性代數基礎:Python語言描述》的優勢:本書以機器學習涉及的線性代數核心知識為重點,進行新的嘗試和突破:從坐標與變換、空間與映射、近似與擬合、相似與特征、降維與壓縮這5個維度,環環相扣地展開線性代數與機器學習算法緊密結合的核心內容。

    內容簡介

    數學是機器學習繞不開的基礎知識,傳統教材的風格偏重理論定義和運算技巧,想以此高效地打下機器學習的數學基礎,針對性和可讀性並不佳。本書以機器學習涉及的線性代數核心知識為重點,進行新的嘗試和突破:從坐標與變換、空間與映射、近似與擬合、相似與特征、降維與壓縮這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 np
    a = np.array([1, 2, 3, 4])
    print(a)
    運行結果:
    [1 2 3 4]
    在Python語言中,一般使用工具庫numpy來生成一個向量,但其默認生成的是行向量。但正如前面內容中所介紹的,一般情況下,通常使用列向量的形式,因此還需要對其做一些處理工作。
    也許有些讀者會想,用轉置這個概念(後面會詳細講解)是不是就可以了,也就是把向量的行索引和列索引交換位置。但是numpy中的轉置方法對於一維數組是無效的,代碼如下。
    import numpy as np
    a = np.array([1, 2, 3, 4])
    print(a.transpose())
    運行結果:
    [1 2 3 4]
    從程序的運行結果來看,這段代碼確實沒有出現預期的效果。那應該如何表示一個列向量呢?具體的做法我們來演示一下。
    代碼如下:
    import numpy as np
    A = 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 np
    A = 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 np
    u = np.array([[1,2,3]]).T
    v = np.array([[5,6,7]]).T
    print(u + v)
    運行結果:
    [[ 6]
    [ 8]
    [10]]
    1.1.6向量的數量乘法
    向量的數量乘法就是將參與乘法運算的標量同向量素分別相乘,以此得到最終的結果向量。很顯然,得到的結果向量的維數依然保持不變。向量的數量乘法從幾何意義上來看,就是將向量沿著所在直線的方向拉伸相應的倍數,拉伸方向和參與運算的標量符號一致。
    例如,一個標量c和一個n維向量u的乘法運算規則可以表示為
    同樣地,舉一個例子,看一看如何求解向量與數字3的數量乘法運算結果。
    代碼如下:
    import numpy as np
    u = np.array([[1, 2, 3]]).T
    print(3*u)
    運行結果:
    [[3]
    [6]
    [9]]
    ……
    查看全部↓



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部