每個程式設計師都應該要知道的50個演算法 | 誠品線上

40 Algorithms Every Programmer Should Know: Hone Your Problem-Solving Skills by Learning Different Algorithms and Their Implementation in Python

作者 Imran Ahmad
出版社 聯合發行股份有限公司
商品描述 每個程式設計師都應該要知道的50個演算法:本書特色☛學習現存於Python程式庫中的資料結構及演算法☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測☛學會使用機器學

內容簡介

內容簡介 本書特色 ☛學習現存於Python程式庫中的資料結構及演算法 ☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測 ☛學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料 ☛學會使用監督式學習演算法預測天氣 ☛學會使用Siamese Neural Networks執行單張影像的辨識 ☛建立一個推薦引擎,向訂閱者建議相關的電影 ☛部署機器學習模型時,使用對稱及非對稱加密,實作萬無一失的安全機制 不管是在計算的科學與實務上,演算法總是扮演重要的角色。除了傳統的計算之外,對任何一個開發者或程式設計師而言,使用演算法解決實務問題的能力是非常重要且必須具備的技巧。本書不只會幫助你發展選用的技術以及使用演算法以解決實務問題,同時也能理解這些演算法是如何運作的。 本書從演算法的介紹開始,並說明各種演算法的設計技巧,再佐以實際範例來協助探討如何實作不同類型的演算法,諸如搜尋與排序。當你要進階更複雜的演算法集合時,你將會學到線性規劃、頁面排名以及各種圖(graph),甚至跨入AI領域學習如何使用機器學習演算法,並瞭解它們背後的數學與邏輯。隨後將更進一步探討一些案例研究,像是天氣預測、推文分群以及電影推薦引擎等等,瞭解如何應用這些演算法以達到最佳化。最終,你將精通平行處理技術的運用,讓你有能力可以使用這些演算法在計算密集的任務上。 讀完本書,你將精通各式各樣的演算法來解決職場上的電腦運算問題。 本書範例檔: https: github.com packtpublishing 40-algorithms-every-programmer-should-know

作者介紹

作者介紹 Imran AhmadImran Ahmad Imran Ahmad是Google的合格講師,他在Google和Learning Tree有許多年的教學經驗。Imran教授的主題包括Python、機器學習、演算法、大數據以及深度學習。在他的博士學位中,他提出了一個基於線性規劃的演算法,稱之為ATSRA,此演算法應用在雲端環境的最佳化資源指派上。過去四年裡,Imran在加拿大聯邦政府先進分析實驗室進行高規格機器學習專案工作,此專案主要是為了開發機器學習演算法,讓移民程序可以自動化。Imran目前的工作是在開發使用GPU最佳化的演算法,以訓練複雜的機器學習模型。

產品目錄

產品目錄 Section 1:基礎與核心演算法 Chapter 1_ 演算法概述 什麼是演算法? 精準描述演算法的邏輯 Python套件介紹 演算法的設計技巧 效能分析 演算法的驗證 本章摘要 Chapter 2_演算法裡的資料結構 Python的資料結構 探索抽象資料型態 本章摘要 Chapter 3_排序與搜尋演算法 排序演算法的介紹 搜尋演算法的介紹 實際應用 本章摘要 Chapter 4_設計演算法 設計演算法的基本概念介紹 瞭解演算法策略 實際的應用:解決TSP 介紹PageRank演算法 瞭解線性規劃(Linear programming) 實際的應用—使用線性規劃進行產能規劃 本章摘要 Chapter 5_圖演算法 圖的表示 網路分析理論介紹 瞭解圖的遍歷 案例研究:詐欺分析 本章摘要 Section 2:機器學習演算法 Chapter 6_非監督式機器學習演算法 認識非監督式學習 瞭解分群演算法 降維 關聯規則探勘 實際應用:分群相似的推文 Anomaly-detection異常偵測演算法 本章摘要 Chapter 7_傳統監督式學習演算法 瞭解監督式機器學習 瞭解分類演算法 瞭解迴歸演算法 實用範例:如何預測天氣 本章摘要 Chapter 8_類神經網路演算法 瞭解ANN ANN的演進 訓練類神經網路 工具和框架 遷移學習(Transfer learning) 案例研究:使用深度學習進行詐欺偵測 本章摘要 Chapter 9_自然語言處理演算法 介紹NLP BoW-based NLP 字詞嵌入簡介 在NLP中使用RNN 使用NLP進行情緒分析 案例研究:電影評論的情感分析 本章摘要 Chapter 10_推薦引擎 推薦系統介紹 推薦引擎的類型 瞭解推薦系統的限制 實際應用領域 實際的例子:建立一個推薦引擎 本章摘要 Section 3:進階主題 Chapter 11_資料演算法 資料演算法簡介 資料儲存演算法介紹 串流資料演算法介紹 介紹資料壓縮演算法 一個實際的例子:Twitter即時情感分析 本章摘要 Chapter 12_密碼學 密碼學簡介 瞭解加密技術的類型 範例:在部署機器學習模型時的安全考量 本章摘要 Chapter 13_大規模演算法 大規模演算法簡介 平行演算法的設計 多資源程序的策略 本章摘要 Chapter 14_實務上的考量 實務上的考量簡介 演算法的可解釋性 瞭解倫理和演算法之間的關係 在模型中減少偏差 解決NP-hard問題 使用演算法的時機 本章摘要

商品規格

書名 / 每個程式設計師都應該要知道的50個演算法
作者 / Imran Ahmad
簡介 / 每個程式設計師都應該要知道的50個演算法:本書特色☛學習現存於Python程式庫中的資料結構及演算法☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測☛學會使用機器學
出版社 / 聯合發行股份有限公司
ISBN13 / 9786263331778
ISBN10 / 6263331771
EAN / 9786263331778
誠品26碼 / 2682200695002
頁數 / 384
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 23X17X2CM
級別 / N:無

最佳賣點

最佳賣點 : 本書特色
☛學習現存於Python程式庫中的資料結構及演算法
☛了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測
☛學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料
☛學會使用監督式學習演算法預測天氣

活動