隨著技術的進步、市場的快速發展和系統的復雜性增加,軟件工程師往往會忽略軟件效率這一令人不悅的話題。然而,策略性的、可觀測性驅動的性能優化對于每一個產品來說都至關重要,不僅可以節省資金,還可以確保業務成功。
通過這本書,任何工程師都可以學會如何有效、專業且無壓力地處理軟件效率問題。作者Bart?omiej P?otka為您提供了使系統運行更快、資源消耗更少所需的工具和知識。《高效Go》指導你如何利用Go來提高日常工作的效率。此外,大部分內容與特定編程語言無關,使你能夠將小而有效的習慣帶入編程或產品管理周期中。
這本書將向你展示如何: * 明確并協商效率目標 * 在各種層次上優化效率 * 有效利用常見資源如CPU和內存 * 使用像Prometheus、Jaeger和Parca這樣的開源項目中的可觀測性信號(如指標、日志、追蹤和(持續的)分析)來評估效率 * 應用像go test、pprof、benchstat和k6這樣的工具來創建可靠的微觀和宏觀基準 * 高效使用Go及其功能,如切片、泛型、goroutines、分配語義、垃圾收集等!
以數據優先和用例驅動的方法,用低代碼AI理解機器學習和深度學習概念。這本實踐指南介紹了三種學習無代碼ML的問題焦點方法,使用AutoML、低代碼使用BigQuery ML,和使用scikit-learn和Keras的定制代碼。在每個案例中,您將通過使用具有實際問題的真實世界數據集來學習關鍵的ML概念。
商業和數據分析師通過詳細、數據驅動的方法得到了一個基于項目的ML/AI介紹:加載和分析數據;將數據饋送到ML模型中;建立、訓練、和測試;并將模型部署到生產中。作者Michael Abel和Gwendolyn Stripling向您展示如何為零售、醫療保健、金融服務、能源和電信建立機器學習模型。
您將學會如何:
區分結構化和非結構化數據以及它們所呈現的挑戰 可視化和分析數據 預處理數據以輸入到機器學習模型中 區分回歸和分類監督學習模型 比較不同的ML模型類型和架構,從無代碼到低代碼到定制訓練 設計、實施和調整ML模型 將數據導出到GitHub倉庫進行數據管理和治理。
數百萬的公開Twitter信息流中蘊含著豐富的數據,一旦你開始挖掘它們,你就可以獲得一些有價值的見解。這本簡潔的小書提供了一系列的配方,幫助你使用易學的Python工具提取Twitter的信息金塊。每個配方都提供了關于解決方案是如何以及為什么工作的討論,所以你可以快速地調整它以適應你特定的需求。配方包括以下技術: 使用OAuth訪問Twitter數據 創建并分析轉推關系圖 使用流API實時收集推文 收集和分析朋友和關注者 發現友誼小組 從短URL匯總網頁 這本書是O’Reilly的《挖掘社交網絡》的完美伴侶。
TinyML,也就是微型機器學習,用于在資源受限的設備上實現機器學習,例如微控制器和嵌入式系統。如果你想利用這些低成本、低功耗但奇異強大的設備,那么這本書就是為你準備的。 這本書旨在增加TinyML應用程序的可用性,特別是對于缺乏資源或專業知識來開發和部署它們在基于微控制器的板上的專業人士。書中首先簡要介紹人工智能,包括解決復雜問題的經典方法。它還將幫助你熟悉適用于嵌入式設備和微控制器的不同ML模型開發和部署工具、庫和框架。書中將幫助你使用Arduino Nano RP2040板和Syntiant TinyML板構建一個空氣手勢數字識別系統和一個用于識別關鍵詞的AI項目。最后,書中總結了所涵蓋的概念,并簡要介紹了零樣本學習、單樣本學習、聯邦學習和MLOps等主題。 通過閱讀這本書,你將能夠輕松開發和部署端到端的Tiny ML解決方案。 你將學到什么 ● 學習如何使用Syntiant TinyML板構建關鍵詞識別系統。 ● 學習如何使用Arduino Nano RP2040構建空氣手勢數字識別系統。 ● 學習如何在Edge Impulse和Arduino IDE上測試和部署模型。 ● 獲取提高系統級性能的技巧。 ● 探索TinyML在各個行業中的不同實際用例。 這本書適合誰 本書適合物聯網開發者、系統工程師、軟件工程師、硬件工程師以及對將AI集成到他們的工作中感興趣的專業人士。這本書是對工程本科生的寶貴資源,他們對微控制器和物聯網設備感興趣,但可能不知道從何開始。
目錄
AI簡介
傳統ML生命周期
TinyML硬件和軟件平臺
實際應用案例
用TinyML進行的實驗
使用TinyML板的高級實現
持續改進
結論
這本開放存取的書提供了大量的實踐示例,說明了如何在實踐中應用超參數調優,并對機器學習(ML)和深度學習(DL)方法的工作機制提供了深入的見解。本書的目的是讓讀者能夠使用這里描述的方法,以更少的時間、成本、精力和資源取得更好的結果。本書中的案例可以在普通的臺式電腦或筆記本電腦上運行。不需要高性能計算設施。 編寫這本書的想法源于Bartz & Bartz GmbH為德國聯邦統計局(Destatis)進行的一項研究。在該研究的基礎上,這本書是針對行業從業者以及研究人員,教師和學生在學術界。內容集中在ML和DL算法的超參數調整,并分為兩個主要部分:理論(第一部分)和應用(第二部分)。涉及的基本主題包括:重要模型參數的調查;四項參數調優研究和一項廣泛的全局參數調優研究;基于嚴重性的ML和DL方法性能統計分析以及一種新的、基于共識排序的方法來匯總和分析來自多個算法的結果。本書對6種相關的ML和DL方法的30多個超參數進行了分析,并提供了源代碼,以便用戶可以重現結果。因此,它可以作為一本手冊和教科書。
隨著技術的進步、快速的市場和系統的更高復雜性,軟件工程師往往會跳過軟件效率這個令人不舒服的話題。然而,戰術的、可觀察性驅動的性能優化對于每個產品來說都是至關重要的,可以節省資金并確保業務成功。 有了這本書,任何工程師都可以學習如何有效、專業、無壓力地提高軟件效率。作者bartzuomiej potka提供了使您的系統更快、減少資源消耗所需的工具和知識。高效Go引導您使用Go實現更好的日常效率。此外,大多數內容與語言無關,允許您在編程或產品管理周期中引入小而有效的習慣。 這本書告訴你如何:
明確和協商效率目標 * 優化各個層次的效率 * 有效利用CPU和內存等公共資源 * 通過Prometheus、Jaeger和Parca等開源項目,使用可觀察性信號(如度量、日志記錄、跟蹤和(持續的)分析)來評估效率 * 應用go test、pprof、benchstat和k6等工具來創建可靠的微觀和宏觀基準 * 高效地使用Go和它的特性,如切片、泛型、goroutine、分配語義、垃圾收集等等!
這本書的目的是提供一個從零開始全面的貝葉斯優化介紹,并細致闡述所有關鍵的想法。目標受眾是機器學習、統計和相關領域的研究生和研究人員。然而,我也希望來自其他領域的從業者和研究人員能在這里找到一些用處。
本書分為三個主要部分,包括:
還包括一些其他的主題:
目錄內容: Introduction Gaussian Processes Modeling with Gaussian Processes Model Assessment, Selection, and Averaging Decision Theory for Optimization Utility Functions for Optimization Common Bayesian Optimization Policies Computing Policies with Gaussian Processes Implementation Theoretical Analysis Extensions and Related Settings A Brief History of Bayesian Optimization
引言概述
在機器學習的背景下,貝葉斯優化是一個古老的想法。盡管貝葉斯優化的歷史已經很長,但在過去的十年里,它經歷了一段復興和快速發展的時期。這種復興的主要驅動力是計算方面的進步,這使得貝葉斯建模和推理的工具越來越復雜。
這本書的目的是提供一個從零開始的全面的貝葉斯優化介紹,并細致闡述所有的關鍵思想。這種自下而上的方法允許我們在貝葉斯優化算法中確定統一的主題,這些主題可能在以往的調研文獻時丟失。
這本書分為三個主要部分。第2-4章涵蓋了高斯過程建模的理論和實踐方面。這類模型是貝葉斯優化文獻中最受歡迎的,其中包含的材料對接下來的幾章至關重要。
第5-7章介紹了序列決策理論及其在優化中的應用。雖然這個理論需要一個目標函數的模型和我們對它的觀察,介紹是不可知的模型的選擇,可以獨立地閱讀前幾章的高斯過程。這些內容是在第8-10章中介紹的,討論了使用高斯過程模型的貝葉斯優化的細節。第8-9章討論了計算和實現的細節,第10章討論了貝葉斯優化算法的理論性能界限,其中大多數結果密切依賴于目標函數的高斯過程模型或相關的重新生成核希爾伯特空間。
一些應用的細微差別需要修改基本序列優化方案(這是前幾章的重點),第11章介紹了對這一基本設置的幾個值得注意的擴展。每一個都是通過貝葉斯決策理論的統一視角系統地呈現出來的,以說明一個人在面對新情況時應該如何處理。最后,第12章提供了一個簡單和獨立的貝葉斯歷史介紹。
通過這個循序漸進、詳細的指南,快速開始使用Python 3進行數據可視化編程。本書使用了leather、NumPy、Matplotlib和panda等庫,采用了編程友好的方法,將作為商業和科學可視化的模板。
您將從安裝Python 3開始,了解如何在jupiter筆記本中工作,并探索Python流行的數據可視化圖表庫Leather。還將介紹科學Python 3生態系統,并使用NumPy的基礎知識,NumPy是該生態系統的一個組成部分。后面的章節將重點介紹各種NumPy例程,并使用matplotlib開始科學數據可視化。您將回顧使用圖形和網絡進行3D數據可視化的過程,最后使用Pandas進行數據可視化,包括COVID-19數據集的可視化。
這些代碼示例是在Ubuntu、Windows和樹莓派操作系統等流行平臺上測試的。通過實用Python數據可視化,您將掌握數據可視化的核心概念與Pandas和jupiter筆記本界面。
你會:
回顧Python數據可視化與編程友好的抽象的實際方面
在多個平臺上安裝Python 3和Jupyter,包括Windows, Raspberry Pi和Ubuntu
用Pandas可視化COVID-19數據集
內容簡介
要想在數據科學、機器學習、計算機圖形學和密碼學方面工作,需要強大的數學技能。
本書教授這些熱門職業所需的數學,專注于您作為開發人員需要了解的內容。這本書充滿了大量有用的圖形和200多個練習及迷你項目,為當今一些最熱門的編程領域中的有趣且有利可圖的職業開啟了大門。
關于技術
大多數企業意識到他們需要應用數據科學和有效的機器學習來獲得并保持競爭優勢。要構建這些應用程序,他們需要開發人員輕松編寫代碼并使用沉浸在統計,線性代數和微積分中的工具。
數學在其他現代應用中也扮演著不可或缺的角色,如游戲開發,計算機圖形和動畫,圖像和信號處理,定價引擎和股票市場分析。無論你是一個沒有核心大學數學基礎的自學成才的程序員,還是你只需要重新點燃數學余燼,這本書就是激發你技能的好方法。
關于本書
Math for Programmers教你解決代碼中的數學問題。由于作者的幽默和引人入勝的風格,你會喜歡像程序員一樣思考數學。通過可訪問的示例,場景和練習,非常適合工作開發人員,您將首先探索2D和3D中的函數和幾何。
有了這些基本構建模塊,您將進入機器學習和游戲編程的面包和黃油數學,包括矩陣和線性變換,導數和積分,微分方程,概率,分類算法等。不要擔心它聽起來令人生畏,或者更糟糕的是,無聊!編碼和數學家保羅奧蘭德會讓學習這些重要概念變得相關和有趣!
本實踐教程中的實際示例包括構建和渲染3D模型,使用矩陣變換的動畫,操縱圖像和聲波,以及為視頻游戲構建物理引擎。在此過程中,你將通過大量練習來測試自己,以確保牢牢掌握這些概念。當你完成后,你將擁有當今最流行的技術趨勢所必需的數學技能的堅實基礎。
你將學到