每個程式設計師都應該要知道的50個演算法 40 Algorithms Every Programmer Should Know

Imran Ahmad 著 何敏煌 譯

  • 每個程式設計師都應該要知道的50個演算法-preview-1
  • 每個程式設計師都應該要知道的50個演算法-preview-2
  • 每個程式設計師都應該要知道的50個演算法-preview-3
  • 每個程式設計師都應該要知道的50個演算法-preview-4
  • 每個程式設計師都應該要知道的50個演算法-preview-5
  • 每個程式設計師都應該要知道的50個演算法-preview-6
  • 每個程式設計師都應該要知道的50個演算法-preview-7
  • 每個程式設計師都應該要知道的50個演算法-preview-8
  • 每個程式設計師都應該要知道的50個演算法-preview-9
  • 每個程式設計師都應該要知道的50個演算法-preview-10
  • 每個程式設計師都應該要知道的50個演算法-preview-11
  • 每個程式設計師都應該要知道的50個演算法-preview-12
  • 每個程式設計師都應該要知道的50個演算法-preview-13
  • 每個程式設計師都應該要知道的50個演算法-preview-14
  • 每個程式設計師都應該要知道的50個演算法-preview-15
  • 每個程式設計師都應該要知道的50個演算法-preview-16
  • 每個程式設計師都應該要知道的50個演算法-preview-17
每個程式設計師都應該要知道的50個演算法-preview-1

買這商品的人也買了...

商品描述

本書特色
學習現存於Python程式庫中的資料結構及演算法
了解如何實作圖形演算法,並藉由網路分析進行詐欺偵測
學會使用機器學習演算法,即時進行相似推文的分群並處理Twitter資料
學會使用監督式學習演算法預測天氣
學會使用Siamese Neural Networks執行單張影像的辨識
建立一個推薦引擎,向訂閱者建議相關的電影
部署機器學習模型時,使用對稱及非對稱加密,實作萬無一失的安全機制

不管是在計算的科學與實務上,演算法總是扮演重要的角色。除了傳統的計算之外,對任何一個開發者或程式設計師而言,使用演算法解決實務問題的能力是非常重要且必須具備的技巧。本書不只會幫助你發展選用的技術以及使用演算法以解決實務問題,同時也能理解這些演算法是如何運作的。

本書從演算法的介紹開始,並說明各種演算法的設計技巧,再佐以實際範例來協助探討如何實作不同類型的演算法,諸如搜尋與排序。當你要進階更複雜的演算法集合時,你將會學到線性規劃、頁面排名以及各種圖(graph),甚至跨入AI領域學習如何使用機器學習演算法並瞭解它們背後的數學與邏輯。隨後將更進一步探討一些案例研究,像是天氣預測、推文分群以及電影推薦引擎等等,瞭解如何應用這些演算法以達到最佳化。最終,你將精通平行處理技術的運用,讓你有能力可以使用這些演算法在計算密集的任務上。

讀完本書,你將精通各式各樣的演算法來解決職場上的電腦運算問題。

本書範例檔:
https://github.com/packtpublishing/40-algorithms-every-programmer-should-know

作者簡介

Imran Ahmad
Imran AhmadGoogle的合格講師,他在GoogleLearning 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問題
使用演算法的時機
本章摘要