商品簡介
本書致力於利用算法求解實際問題,分為三部分。第一部分介紹算法的核心內容,探討什麼是算法、如何設計算法,同時學習在算法中使用的數據結構,還深入講解排序算法、查找算法和求解圖問題的算法。第二部分討論各種機器學習算法,包括無監督機器學習算法和傳統監督學習算法,詳細討論一些自然語言處理算法,以及推薦引擎。第三部分討論更高級的算法,重點討論密碼算法和大規模算法,還探討在算法實現時應該考慮的實際因素。此外,本書還包含一些案例分析(如天氣預測、推文聚類和電影推薦引擎),用來說明如何才能最佳地應用這些算法。
作者簡介
伊姆蘭·艾哈邁德(Imran Ahmad) 是一名經過認證的谷歌講師,多年來一直在谷歌和學習樹(Learning Tree)任教,主要教授Python、機器學習、算法、大數據和深度學習。他在攻讀博士學位期間基於線性規劃方法提出了名為ATSRA的新算法,用於云計算環境中資源的優化分配。近4年來,他一直在加拿大聯邦政府的高級分析實驗室參與一個備受關注的機器學習項目。該項目旨在開發機器學習算法,使移民過程自動化。他目前正致力於開發最*地使用GPU來訓練復雜的機器學習模型的算法。
名人/編輯推薦
算法一直在計算科學和計算實踐中發揮著重要作用。除了傳統計算之外,使用算法解決現實問題的能力是開發人員和程序員必須具備的一項重要技能。
本書帶你了解各種算法設計技術,通過實例探索如何實現不同類型的算法。知識點眾多但簡單易學,專為初學者準備——忽略對算法細節的討論,僅給出每個算法的思想和原理,將重點放在如何用Python進行算法實現和算法性能的比較與分析上。讀者通過學習本書,可以迅速了解算法的概念,掌握如何用開源包實現各種算法,並理解它們的性能、應用領域和局限性,進而對算法在計算機科學和各種應用領域中的作用有整體了解。
序
讀者物件
本書為程序員而寫!無論你是希望深刻理解算法背後的數學知識的經驗豐富的程序員,還是希望了解如何利用經過實踐檢驗的算法來改進代碼設計和編寫方式的經驗不足的程序員,閱讀本書都大有裨益。在閱讀本書前必須具有Python編程經驗,數據科學知識對閱讀本書有幫助,但不是必需的。
本書內容
第1章概述算法基礎。11節介紹理解不同算法如何工作所需的基本概念,概述人們最初如何用算法以數學的形式表達特定類型的問題,還提到不同算法的局限性。12節講述描述算法邏輯的各種方法。由於本書用 Python編寫算法,13節說明如何設置環境以運行書中給出的例子。14節介紹算法設計技術。15節討論如何用不同方法量化算法性能,並與其他算法進行比較。16節討論驗證算法的特定實現的各種方法。
第2章著重講述算法中用於存儲臨時數據的內存數據結構。算法可能是數據密集型的,也可能是計算密集型的,或者既是數據密集型的又是計算密集型的。對於所有不同類型的算法,選擇恰當的數據結構對其最佳實現而言至關重要。許多算法具有遞歸和迭代邏輯,因而需要面向這種本征邏輯的專用數據結構。由於本書用 Python編寫算法,這一章主要關注實現書中算法所需的 Python 數據結構。
第3章給出用於排序和查找的核心算法。這些算法在後面將作為其他更復雜算法的基礎。本章先講述不同類型的排序算法,包括各種算法的性能比較。然後,講述各種查找算法,量化這些算法的性能和復雜度,並進行比較。最後,講述這些算法的實際應用。
第4章講述設計各種算法所需的核心概念,闡述各種算法並討論它們的優缺點。理解這些概念對設計最優的復雜算法而言至關重要。這一章先討論不同類型的算法設計,然後求解著名的旅行商問題。之後討論線性規劃及其局限性。最後,用實例展示如何用線性規劃進行產量規劃。
第5章著重講述常見於計算機科學中的圖算法。圖是許多計算問題的最佳模型。本章講述表示和搜索圖的各種方法。搜索圖意味著用系統化的方法沿圖中的邊訪問圖中的頂點。圖搜索算法可以發現圖的很多結構。很多算法都通過在輸入圖上執行搜索算法來獲得結構信息。其他幾個圖算法都是基本圖搜索算法的細化。圖的搜索技術是圖算法領域的核心。該章首先討論圖的兩種常見的計算表示:鄰接表和鄰接矩陣。接下來,講述廣度優先搜索這種簡單的圖搜索算法,並說明如何創建廣度優先搜索樹。然後講述深度優先搜索,並給出深度優先搜索算法訪問頂點順序的標準結論。
第6章討論無監督機器學習算法。之所以被歸類為無監督方法,是由於這些模型或算法在無監督條件下從給定數據中學習固有的結構、模式和關係。我們先討論聚類方法,這種機器學習方法基於固有的屬性或特征,試圖從數據集的數據樣本中找出相似性模式和關係模式,然後把數據樣本劃分為集群,使得各個集群內的數據樣本具有相似性。接下來,討論降維算法,該算法用於處理特征較多的問題。之後,討論關聯規則挖掘算法,它們屬於數據挖掘方法,用於檢查和分析大規模交易數據集,以發現有意義的模式和規則,而這些模式表示了跨交易的各種商品之間有意義的關係和關聯。最後,討論處理異常檢測的算法。
第7章描述與一組機器學習問題相關的傳統監督機器學習算法。這些問題中的標記數據集具有輸入屬性和相應的輸出標簽或類別。這些輸入和其相應的輸出用於學習一個一般性系統,該系統用於預測不在數據集中的其他數據點的結果。我們先從機器學習的角度概述分類的相關概念。接下來,討論重要的算法之一—決策樹,給出決策樹算法的局限性和優勢。接著介紹支持向量機和XGBoost這兩種重要的算法。最後,討論線性回歸這種最簡單的機器學習算法。
第8章首先介紹典型神經網絡這種最重要的機器學習技術的主要概念和組成部分。然後介紹各種神經網絡,並闡述用於實現這些神經網絡的激活函數。之後,詳細討論反向傳播算法,這是目前應用最廣泛的訓練神經網絡的收斂算法。接下來,介紹遷移學習技術,它可以大大簡化模型訓練並部分地使其自動化。最後,給出一個學習實例,討論如何在現實世界中利用深度學習進行欺詐檢測。
第9章介紹自然語言處理算法,從理論到實踐循序漸進地展開。首先介紹基礎知識,然後討論背後的數學知識。接下來,介紹一種流行的神經網絡,它廣泛應用於設計和實現文本數據上的重要用例。此外,還介紹自然語言處理算法的局限性。最後,給出一個案例,討論如何在自然語言處理領域訓練機器學習模型,以進行電影評論情感分析。
第10章重點討論推薦引擎,它先用與用戶偏好相關的信息建立模型,然後基於模型和信息向
目次
譯者序
前言
關於作者
關於審校者
第一部分 基礎與核心算法
第1章 算法概述2
11 什麼是算法2
12 描述算法邏輯4
121 理解偽代碼4
122 使用代碼片段6
123 制定執行計劃6
13 Python包簡介7
131 Python包8
132 通過Jupyter Notebook執行Python9
14 算法設計技術10
141 數據維度11
142 計算維度12
15 性能分析13
151 空間復雜度分析13
152 時間復雜度分析14
153 性能評估14
154 選擇算法15
155 大O記號15
16 驗證算法19
161 精確算法、近似算法和隨機算法19
162 可解釋性20
17 小結20
第2章 算法中的數據結構21
21 Python中的數據結構21
211 列表22
212 元組26
213 字典27
214 集合28
215 數據幀30
216 矩陣32
22 抽象數據類型33
221 向量33
222 棧34
223 隊列36
224 棧和隊列背後的基本思想37
225 樹38
23 小結40
第3章 排序算法和查找算法41
31 排序算法簡介41
311 在Python中交換變量42
312 冒泡排序42
313 插入排序44
314 歸並排序46
315 希爾排序48
316 選擇排序50
32 查找算法簡介51
321 線性查找52
322 二分查找52
323 插值查找53
33 實際應用54
34 小結56
第4章 算法設計57
41 算法設計基本概念57
411 第一點—所設計算法是否能產生預期的結果58
412 第二點—所設計算法是否是獲取結果的最佳方法58
413 第三點—所設計算法在更大的數據集上表現如何61
42 理解算法策略61
421 分治策略62
422 動態規劃策略64
423 貪心算法64
43 實際應用—求解TSP65
431 使用蠻力策略66
432 使用貪心算法68
44 PageRank算法70
441 問題定義70
442 實現PageRank算法70
45 了解線性規劃73
46 實例—用線性規劃實現產量規劃73
47 小結76
第5章 圖算法77
51 圖的表示77
511 圖的類型79
512 特殊類型的邊81
513 自我中心網絡82
514 社交網絡分析82
52 網絡分析理論簡介83
521 理解最短路徑83
522 創建鄰域84
523 理解中心性度量85
524 用Python計算中心性指標87
53 理解圖的遍歷88
531 廣度優先搜索89
532 深度優先搜索92
54 實例—欺詐分析93
541 進行簡單的欺詐分析96
542 瞭望塔欺詐分析法97
55 小結99
第二部分 機器學習算法
第6章 無監督機器學習算法102
61 無監督學習簡介102
611 數據挖掘生命周期中的無監督學習103
612 無監督學習的當前研究趨勢105
613 實例106
62 理解聚類算法107
621 量化相似性107
622 分層聚類113
623 評估聚類效果115
624 聚類算法的應用115
63 降維116
631 主成分分析116
632 主成分分析的局限性118
64 關聯規則挖掘119
641 實例119
642 市場購物籃分析119
643 關聯規則120
644 排序規則122
645 關聯分析算法123
65 實例—聚類相似推文127
651 主題建模128
652 聚類128
66 異常檢測算法129
661 基於聚類的異常檢測129
662 基於密度的異常檢測129
663 基於支持向量機的異常檢測129
67 小結130
第7章 傳統監督學習算法131
71 理解監督機器學習131
711 描述監督機器學習132
712 理解使能條件134
713 區分分類器和回歸器134
72 理解分類算法135
721 分類器挑戰性問題135
722 評估分類器139
723 分類器的各個階段142
724 決策樹分類算法143
725 理解集成方法146
726 邏輯回歸149
727 支持向量機算法151
728 理解樸素貝葉斯算法153
729 各種分類算法的勝者156
73 理解回歸算法156
731 回歸器挑戰性問題156
732 線性回歸158
733 回歸樹算法162
734 梯度提升回歸算法163
735 各種回歸算法的勝者163
74 實例—預測天氣164
75 小結166
第8章 神經網絡算法167
81 理解人工神經網絡168
82 人工神經網絡的演化169
83 訓練神經網絡171
831 解析神經網絡結構171
832 定義梯度下降172
833 激活函數173
84 工具和框架178
841 Keras178
842 理解TensorFlow181
843 理解神經網絡的類型183
85 遷移學習185
86 實例—用深度學習實現欺詐檢測186
87 小結189
第9章 自然語言處理算法190
91 自然語言處理簡介190
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。