使用圖形分析您的數據的實用方法,揭示隱藏的聯系和新見解。 圖是表示和理解連接數據的自然方式。本書探討了數據科學中最重要的圖算法和技術,提供了關于實施和部署的具體建議。即使您沒有圖形經驗,也可以開始從這本富有洞察力的指南中受益。這些強大的圖算法以清晰、無行話的文本和插圖解釋,使它們易于應用于您自己的項目。 在《數據科學中的圖算法》中,您將學到: 標記屬性圖建模 從結構化數據(如CSV或SQL)構建圖 從非結構化數據構建圖的自然語言處理(NLP)技術 Cypher查詢語言語法,用于操作數據和提取見解 社交網絡分析算法,如PageRank和社區檢測 如何將圖結構翻譯為具有節點嵌入模型的ML模型輸入 在節點分類和鏈接預測工作流中使用圖特征 《數據科學中的圖算法》是一本實用指南,用于處理機器學習、欺詐檢測和商業數據分析等應用中的基于圖的數據。它充滿了有趣和有趣的項目,展示了圖的內部和外部。通過分析Twitter、使用NLP技術構建圖表等,您將獲得實用技能。 作者:Michael Hunger。 購買印刷書包括Manning Publications提供的PDF、Kindle和ePub格式的免費電子書。 關于技術 簡單地說,圖是連接數據的網絡。圖是識別和探索數據集內自然發生的重要關系的有效方式。本書介紹了圖數據科學中最重要的算法,并結合了機器學習、商業應用、自然語言處理等領域的示例。 關于這本書 《數據科學中的圖算法》向您展示如何從結構化和非結構化數據構建和分析圖表。在其中,您將學習如何應用PageRank、社區檢測/聚類和知識圖模型等圖算法,通過在手頭的數據項目中運用每種新算法來實踐它們。這本前沿書籍還展示了如何創建使用節點嵌入來優化AI模型輸入的圖。 書中內容 創建知識圖表 節點分類和鏈接預測工作流 用于圖表構建的NLP技術 關于讀者 適用于了解機器學習基礎知識的數據科學家。示例使用Cypher查詢語言,書中有解釋。 關于作者 Toma? Bratanic在圖和機器學習的交叉點工作。 Arturo Geigel是這本書的技術編輯。 目錄 第一部分 圖的介紹 1 圖和網絡科學:簡介 2 表示網絡結構:設計您的第一個圖模型 第二部分 社交網絡分析 3 使用Cypher查詢語言的第一步 4 探索性圖分析 5 社交網絡分析簡介 6 投影單部分網絡 7 基于二部網絡推斷共生網絡 8 構建最近鄰相似性網絡 第三部分 圖機器學習 9 節點嵌入和分類 10 鏈接預測 11 知識圖完成 12 使用自然語言處理技術構建圖表 Amazon頁面
《分布式機器學習模式》是一本關于將機器學習從個人電腦擴展到大規模分布式集群的實用指南。分布式機器學習系統允許開發人員處理非常大的數據集,跨多個集群進行操作,利用自動化工具,以及獲得硬件加速的好處。本書揭示了應對擴展機器學習系統的挑戰的最佳實踐技巧和內部竅門。 在《分布式機器學習模式》中,您將學到如何: * 應用分布式系統模式來構建可擴展和可靠的機器學習項目 * 構建具有數據攝取、分布式訓練、模型服務等的ML流水線 * 使用Kubernetes、TensorFlow、Kubeflow和Argo Workflows自動化ML任務 * 在不同模式和方法之間進行權衡 * 管理和監控大規模機器學習工作負載
本書旨在將已建立的分布式系統模式應用于機器學習項目,同時探討專門為機器學習創建的新的前沿模式。這本書堅實地扎根于現實世界,演示了如何使用基于TensorFlow、Kubernetes、Kubeflow和Argo Workflows的示例來應用這些模式。通過實際項目和清晰的DevOps技術,您可以輕松啟動、管理和監控云原生的分布式機器學習流水線。 作者Yuan Tang是Argo和Kubeflow的項目負責人,也是TensorFlow和XGBoost的維護者,以及眾多開源項目的作者。 本書適合熟悉機器學習基礎、Bash、Python和Docker的數據分析師和工程師。 《分布式機器學習模式》包括以下內容: * 基本概念和背景 * 分布式機器學習系統的模式 * 構建分布式機器學習工作流程 * 項目概述和系統架構 * 相關技術概述 * 完整實現
這本書被評論為對處理分布式環境中的機器學習問題的深入指南,對分布式機器學習從業者來說是一本非常有價值的書籍。它提供了關于分布式訓練思想、問題和解決方案的詳細介紹,以及在TensorFlow、Kubernetes、Kubeflow和Argo Workflows基礎上實現分布式模型訓練和推理的全面項目。
隨著技術的進步、市場的快速發展和系統的復雜性增加,軟件工程師往往會忽略軟件效率這一令人不悅的話題。然而,策略性的、可觀測性驅動的性能優化對于每一個產品來說都至關重要,不僅可以節省資金,還可以確保業務成功。
通過這本書,任何工程師都可以學會如何有效、專業且無壓力地處理軟件效率問題。作者Bart?omiej P?otka為您提供了使系統運行更快、資源消耗更少所需的工具和知識。《高效Go》指導你如何利用Go來提高日常工作的效率。此外,大部分內容與特定編程語言無關,使你能夠將小而有效的習慣帶入編程或產品管理周期中。
這本書將向你展示如何: * 明確并協商效率目標 * 在各種層次上優化效率 * 有效利用常見資源如CPU和內存 * 使用像Prometheus、Jaeger和Parca這樣的開源項目中的可觀測性信號(如指標、日志、追蹤和(持續的)分析)來評估效率 * 應用像go test、pprof、benchstat和k6這樣的工具來創建可靠的微觀和宏觀基準 * 高效使用Go及其功能,如切片、泛型、goroutines、分配語義、垃圾收集等!
本書設計為學生進入計算機科學與工程領域的墊腳石。本書是為了已經具有C語言知識并即將開啟數據結構領域之旅的學生所寫。因此,本書的預期讀者主要是主修計算機科學或計算機工程的大學生。在這本書中,作者以他們自己的方式解釋了數據結構的不同觀念。他們構思了創新的方法來解釋數據結構的不同方面,將舊的概念以一種新的、以學生為中心的方式呈現。本書旨在為學生們進入計算機科學和工程世界打下基礎。所有學生,無論技術領域如何,如果想在計算機科學和工程領域建立職業生涯,都必須對數據結構有足夠的了解。數據結構是一門幫助學生積累有關如何在任何計算設備的內存中存儲和操作數據的知識的課程。本書適合具有C語言知識并即將進入數據結構領域的學生閱讀。因此,本書的預期讀者主要是主修計算機科學或計算機工程的大二和大三學生。本書的第一章設計得很好,使得對數據結構一無所知的學生可以大膽進入數據結構領域。本章詳細概述了數據結構,包括數據結構的定義和分類。本章還包括了對不同數據結構的操作。本章以數據結構的應用作為結束。第二章可以被定義為本書的靈魂。本章包括算法的細節。算法的定義,算法的生命周期。本章解釋了時間復雜度和空間復雜度的測量。學生們將在本章學習到漸近符號和漸近符號的操作。算法的分類也是本章的重要組成部分。在第三章中,數組的定義非常寬泛。本章包括一維數組的細節。這里也解釋了多維數組。本章展示了一維和二維數組的地址計算。這里給出了稀疏矩陣的表示。字符串的操作是本章的重要組成部分。第四章可以被定義為本章的核心。這包括指針和指針數組的分類。動態內存分配(DMA)是本章的主要貢獻之一。學生們將學習關于用于DMA的不同的預定義函數。他們還將建立對DMA的需求和DMA的缺點的了解。這里還解釋了如何去分配動態分配的空間。本章解釋了使用動態內存分配創建一維和二維數組。在第五章中,另一種線性數據結構的細節被描述。這個數據結構的名字是“鏈表”。本章開始于線性鏈表,并最終得出雙鏈表的結論。本章以廣泛的方式解釋了對單鏈表、循環鏈表和雙鏈表的創建、遍歷、插入、刪除、反轉操作。為了使本章更適合學生,每個操作都給出了算法和程序。本章是DMA的應用。第六章涉及堆棧和隊列的不同方面。本章的第一部分解釋了堆棧的定義和堆棧上的基本操作。然后是POSTFIX、PREFIX表達式中堆棧的應用。本章還包括了使用鏈表和數組實現堆棧。本章的第二部分完全是關于隊列。這里規定了隊列的定義和隊列上的基本操作。然后這里也給出了隊列的分類。不同類型的隊列,如循環隊列、雙端隊列和優先隊列,都通過例子來解釋。堆棧和隊列上的每個操作都配有算法和程序。
數百萬的公開Twitter信息流中蘊含著豐富的數據,一旦你開始挖掘它們,你就可以獲得一些有價值的見解。這本簡潔的小書提供了一系列的配方,幫助你使用易學的Python工具提取Twitter的信息金塊。每個配方都提供了關于解決方案是如何以及為什么工作的討論,所以你可以快速地調整它以適應你特定的需求。配方包括以下技術: 使用OAuth訪問Twitter數據 創建并分析轉推關系圖 使用流API實時收集推文 收集和分析朋友和關注者 發現友誼小組 從短URL匯總網頁 這本書是O’Reilly的《挖掘社交網絡》的完美伴侶。
這本通俗易懂且有趣的書通過數據結構的視角深入介紹了計算思維——數據結構是任何編程工作的關鍵組成部分。通過圖表、偽代碼和幽默的類比,你將了解數據結構如何驅動算法操作,不僅可以了解如何構建數據結構,還可以了解如何以及何時使用它們。 本書將為你提供15種以上關鍵數據結構的實現和使用的強大背景知識,從棧、隊列、緩存到布隆過濾器、跳躍表和圖。通過在咖啡館排隊來掌握鏈表,通過編目夏季奧運會的歷史來掌握散列表,通過整齊地整理廚房的櫥柜來掌握四叉樹。隨著基本的計算機科學概念,如遞歸和迭代,您將學習:
《有趣的數據結構》展示了如何有效地將這些思想應用到現實世界的問題中——現實世界中有很多問題都是為了買一杯合適的咖啡。在任何層次上,充分理解數據結構都將教會你跨多種編程語言應用的核心技能,使你的職業生涯更上一層樓。 這是一本通過數據結構、組織和存儲數據的構造來進行計算思維的書。它不僅僅是一本方便的數據結構的教程。相反,它探索了這些結構背后的思考和它們對解決復雜問題的基本影響,使用現實世界的類比使抽象的計算概念直觀。本書的目標是為如何利用數據中已有的結構或創建新的結構來有效地解決問題提供新的見解。 理解數據結構如何起作用對于有效地使用它們至關重要。就像一個有經驗的木匠不會用錘子把螺絲敲進木頭里,也不會用砂紙把木頭切成兩半一樣,一個有經驗的程序員需要為每一項工作選擇合適的工具。正如我們將在接下來的章節中反復看到的,每一種數據結構都伴隨著權衡。鋸子切割木頭比砂紙更有效,但會產生粗糙的邊緣。沒有一種數據結構能夠完美地適用于所有可能的用例,但這正是計算機科學和算法發展如此有趣的原因。一個優秀的計算機科學家必須了解不同的數據結構是如何表現的,以便決定在哪里可以最好地使用它們。
這本書集中在一些規范的數據結構,并使用它們來探索計算思維的基本主題。這些數據結構中的每一個都是更一般的數據結構和概念方法的有用示例。例如,B-樹展示了保持搜索樹平衡和優化昂貴內存訪問的一種方法。我討論內存使用和布隆過濾器的準確性之間的權衡;跳躍表隨機化的使用;以及如何用網格、四叉樹或K-D樹來捕獲多維結構。因此,這本書既不是編程的入門,也不是數據結構的綜合選集,也不是煮咖啡的全面分析(盡管我們將反復觸及這個重要的話題)。我們的目標是不同的——開發可以應用于一系列特定問題和編程語言的思維工具。
簡介 第一章:記憶中信息 第二章:二分查找 第三章:動態數據結構 第四章:堆棧和隊列 第五章:二叉搜索樹 第六章:嘗試和調整數據結構 第七章:優先級隊列和堆 第八章:網格 第九章:空間樹 第十章:哈希表 第十一章:緩存 第十二章:B樹 第十三章:Bloom Filters 第十四章:跳躍表 第十五章:圖 結論
杰里米·庫比卡(Jeremy Kubica)是一名專攻人工智能和機器學習的工程師總監。他在卡內基梅隆大學獲得機器人博士學位,在康奈爾大學獲得計算機科學學士學位。他在研究生院的幾年時間里都在開發探測殺手小行星的算法(當然,真正阻止它們是“未來的工作”)。他是多本書的作者,旨在向人們介紹計算機科學,包括計算童話和CS偵探,以及計算童話博客。
本書中的設計模式捕捉了機器學習中反復出現的問題的最佳實踐和解決方案。作者是三位谷歌工程師,他們列出了經過驗證的方法,以幫助數據科學家解決ML過程中的常見問題。這些設計模式將數百位專家的經驗整理成簡單、可接近的建議。
在這本書中,你會發現關于數據和問題表示、操作化、可重復性、可再現性、靈活性、可解釋性和公平性的30種模式的詳細解釋。每個模式都包含對問題的描述、各種可能的解決方案,以及針對您的情況選擇最佳技術的建議。
您將學習如何: 在訓練、評估和部署ML模型時,確定并減輕常見的挑戰 表示不同ML模型類型的數據,包括嵌入、特征交叉等 針對具體問題選擇合適的模型類型 構建一個魯棒的訓練循環,使用檢查點、分布策略和超參數調優 部署可擴展的ML系統,您可以重新訓練和更新這些系統,以反映新的數據 為利益相關者解釋模型預測,并確保模型公平地對待用戶
//www.oreilly.com/library/view/machine-learning-design/9781098115777/
Preface
The Need for Machine Learning Design Patterns
Data Representation Design Patterns
Problem Representation Design Patterns
Model Training Patterns
Design Patterns for Resilient Serving
Reproducibility Design Patterns
Responsible AI
Connected Patterns
Index
線性模型是統計方法論的基石。統計學、生物統計學、機器學習、數據科學、計量經濟學等學科的高級學生可能比其他任何工具都更應該花時間學習這門學科的細節。
在這本書中,我們對高級線性模型作了簡短而嚴格的處理。它是先進的,在某種意義上,它是一個初級的博士生在統計學或生物統計學會看到的水平。這本書中的材料是任何統計學或生物統計學博士的標準知識。
在嘗試學習這門課程之前,學生將需要相當數量的數學先決條件。首先是多元微積分和線性代數。特別是線性代數,因為線性模型的許多早期部分是線性代數結果在統計背景下的直接應用。此外,一些基于數學的基本證明是遵循證明所必需的。此外,還需要一些回歸模型和數理統計。
這本書將理論計算機科學和機器學習連接起來,探索雙方可以相互教授什么。它強調需要靈活、易于處理的模型,以便更好地捕捉機器學習的難點,而不是難點。
理論計算機科學家將介紹機器學習的重要模型和該領域的主要問題。機器學習研究人員將以一種可訪問的格式介紹前沿研究,并熟悉現代算法工具包,包括矩的方法,張量分解和凸規劃松弛。
此外是建立對實踐中使用的方法的嚴格理解,并促進發現令人興奮的新方法來解決重要的長期問題。
現代機器學習系統通常建立在沒有可證明的保證的算法之上,它們何時以及為何有效是一個爭論的主題。在這門課中,我們將重點設計算法,讓我們可以嚴格分析其性能,以解決基本的機器學習問題。我們將涵蓋的主題包括:非負矩陣分解、張量分解、稀疏編碼、學習混合模型、圖模型中的矩陣補全和推理。幾乎所有這些糟糕的計算困難的問題, 所以開發一個算法理論是關于(1)選擇合適的模型來研究這些問題,(2)開發適宜的數學工具(通常從概率,幾何或代數)為了嚴格分析現有的啟發式,或設計全新的算法。
內容簡介
要想在數據科學、機器學習、計算機圖形學和密碼學方面工作,需要強大的數學技能。
本書教授這些熱門職業所需的數學,專注于您作為開發人員需要了解的內容。這本書充滿了大量有用的圖形和200多個練習及迷你項目,為當今一些最熱門的編程領域中的有趣且有利可圖的職業開啟了大門。
關于技術
大多數企業意識到他們需要應用數據科學和有效的機器學習來獲得并保持競爭優勢。要構建這些應用程序,他們需要開發人員輕松編寫代碼并使用沉浸在統計,線性代數和微積分中的工具。
數學在其他現代應用中也扮演著不可或缺的角色,如游戲開發,計算機圖形和動畫,圖像和信號處理,定價引擎和股票市場分析。無論你是一個沒有核心大學數學基礎的自學成才的程序員,還是你只需要重新點燃數學余燼,這本書就是激發你技能的好方法。
關于本書
Math for Programmers教你解決代碼中的數學問題。由于作者的幽默和引人入勝的風格,你會喜歡像程序員一樣思考數學。通過可訪問的示例,場景和練習,非常適合工作開發人員,您將首先探索2D和3D中的函數和幾何。
有了這些基本構建模塊,您將進入機器學習和游戲編程的面包和黃油數學,包括矩陣和線性變換,導數和積分,微分方程,概率,分類算法等。不要擔心它聽起來令人生畏,或者更糟糕的是,無聊!編碼和數學家保羅奧蘭德會讓學習這些重要概念變得相關和有趣!
本實踐教程中的實際示例包括構建和渲染3D模型,使用矩陣變換的動畫,操縱圖像和聲波,以及為視頻游戲構建物理引擎。在此過程中,你將通過大量練習來測試自己,以確保牢牢掌握這些概念。當你完成后,你將擁有當今最流行的技術趨勢所必需的數學技能的堅實基礎。
你將學到