《算法》基于伊利諾伊大學厄巴納 - 香檳分校的計算機科學教授 Jeff Erickson 為多個算法課程寫的講義集合,這本教科書已經在伊利諾伊大學厄巴納 - 香檳分校出版,自 1999 年 1 月以來 Jeff Erickson 每年都會使用這本書教授一次算法課程。由于本科理論課程的變化,Jeff Erickson 在 2016 年對講義進行了重大修訂;本書是 Erickson 教授修訂的最基礎課程材料的一部分,主要反映了新的初級理論課程的算法內容。
書籍開源主頁://jeffe.cs.illinois.edu/teaching/algorithms/
Erickson 教授在伊利諾伊州教授的算法課程有兩個重要的先決條件:離散數學課程和基礎數據結構課程。因此,這本教科書可能不適合大多數學生作為數據結構和算法的第一門課程。特別是,Erickson 教授假設至少熟悉以下特定主題:離散數學、證明技巧、迭代編程概念、基礎抽象數據類型、基礎數據結構、基礎算法、基本算法分析、數學能力成熟度。
關于此書的其它信息:
Erickson 教授打算在近期將這本書自印出版,但不用擔心,出版后這個資源也仍然是免費的。 Erickson 教授有一個維護多年的 GitHub 項目,專門為這本書做 Bug 追蹤。 Erickson 教授明確表示,歡迎任何人下載電子版或紙質打印,使用、復制和/或分發此頁面上的任何內容都是允許的。 這本書基于兩門課程,分別是 CS 374 (Spring 2018) 和 CS 473 (Spring 2017),Erickson 還在另一個頁面上提供了課程作業和測試。
GitHub 地址: 作業地址:
Jeff 提供了很多課程資料,包括 CS374 的 PPT、本書沒有涉及的 CS 473 主題以及形式化語言的一些課件。這些資源有的有獨到的見解,但筆記仍然不會有教科書那么精煉,讀者可在教程主頁找到這些額外的課程資源。
近日,本科畢業于哈佛大學統計學與經濟學專業、現任哈佛助教的 Daniel Friedman 開放了他撰寫的一本免費在線書籍《Machine Learning from Scratch》,該書從理論和數學上介紹了 ML 最常見算法(OLS、邏輯回歸、樸素貝葉斯、決策樹、boosts 和神經網絡等)的完整推論。
地址://dafriedman97.github.io/mlbook/content/introduction.html
該書是為讀者學習新的機器學習算法或了解更深層次的算法。具體地說,它是為那些有興趣學習機器學習算法的讀者準備的。這些推導可能有助于讀者,特別是對基礎算法不熟悉的讀者,可以更直觀地理解它們是如何工作的。或者,這些推導可以幫助有建模經驗的讀者理解不同算法是如何創建模型,以及每種算法的優缺點。
書籍概述
這本書涵蓋了機器學習中最常見的方法。這些方法就像一個工具箱,為那些進入機器學習領域的人提供了便利,從而可以很快地找到所需工具。該書由 7 個章節以及 1 個附錄組成。書的每一章節都對應一種機器學習方法或一組方法。
通過學習,你將學得:普通線性回歸、線性回歸擴展、判別分類器(Logistic 回歸)、生成分類器(樸素貝葉斯)以及決策樹等算法的完整推論。
每個章節均由這 3 部分組成。
其中,概念部分從概念上介紹這些方法,并從數學上推導結果;構建部分展示了如何使用 Python 從頭開始構建方法;實現部分介紹了如何使用 Python 中的工具包(如 scikit-learn、statsmodels 和 tensorflow)應用這些方法。
為什么選擇這本書?
現在關于機器學習的書籍數不勝數,在網上就可以免費獲得。像《An Introduction to Statistical Learning》、《Elements of Statistical Learning》 和 《Pattern Recognition and Machine Learning》,這些機器學習書籍的作者掌握的知識更豐富,書籍內容涵蓋的范圍也更廣。但值得注意的一點是:這些書籍只提供了概念上的機器學習以及方法背后的理論。
但是,本書重點介紹了機器學習算法的基本框架,旨在為讀者提供獨立構建這些算法的能力。作為一種「工具箱」而言,本書旨在成為用戶指南,它不是用來指導用戶關于該領域的廣泛實踐,而是在微觀層面上講述如何使用每種工具。
這本書需要讀者掌握哪些知識?
需要注意的是,這本書的「概念」部分需要讀者了解微積分知識,有些還需要了解概率(如最大似然和貝葉斯規則)和基本線性代數知識(如矩陣運算和點積)。
不過,該書附錄部分回顧了所需的數學和概率知識。「概念」部分還參考了一些常見的機器學習方法,這些方法在附錄中也有介紹。所以,「概念」部分不需要任何編程知識。
該書的「構建」和「代碼」部分使用了一些基礎的 Python 知識。「構建」部分需要了解相應的內容,并且需要熟悉用 Python 創建函數和類。「代碼」部分則不需要這些知識。
參考鏈接:
這本書來自統計學習課程,這是一門統計機器學習的入門課程,面向具有一些微積分、線性代數和統計學背景的學生。這門課程的重點是監督學習:分類和回歸。本課程將涵蓋機器學習和數據科學中使用的一系列方法,包括:
這些方法將在整個課程中被研究并應用于來自各種應用的真實數據。課程還涵蓋了一些重要的實際問題,如交叉驗證、模型選擇和偏方差權衡。課程包括理論(例如,推導和證明)以及實踐(特別是實驗室和小型項目)。實際部分將使用Python實現。
在復雜的以人為中心的系統中,每天的決策都具有決策相關信息不完全的特點。現有決策理論的主要問題是,它們沒有能力處理概率和事件不精確的情況。在這本書中,我們描述了一個新的理論的決策與不完全的信息。其目的是將決策分析和經濟行為的基礎從領域二價邏輯轉向領域模糊邏輯和Z約束,從行為決策的外部建模轉向組合狀態的框架。
這本書將有助于在模糊邏輯,決策科學,人工智能,數學經濟學,和計算經濟學的專業人員,學者,經理和研究生。
讀者:專業人士,學者,管理者和研究生在模糊邏輯,決策科學,人工智能,數學經濟學,和計算經濟學。
【導讀】紐約大學開設的離散數學課程,這是一門運用于計算機科學的離散數學課程。這只是一門一學期的課程,所以有很多話題是它沒有涉及到的,或者沒有深入討論。但我們希望這能給你一個技能的基礎,你可以在你需要的時候建立,特別是給你一點數學的成熟——對數學是什么和數學定義和證明如何工作的基本理解。
林軒田機器學習基石這門課有一個配套教材:《Learning From Data》,林軒田也是編者之一。這本書的主頁為:Learning From Data,豆瓣上關于這本書的評分高達9.4,還是很不錯的,值得推薦!可以配套視頻一起學習。
機器學習允許計算系統根據從觀測數據中積累的經驗自適應地改進性能。其技術廣泛應用于工程、科學、金融、商業等領域。這本書是為機器學習的短期課程設計的。這是一門短期課程,不是倉促的課程。經過十多年的教材教學,我們提煉出了我們認為每個學生都應該知道的核心主題。我們選擇了“從數據中學習”這個標題,它忠實地描述了這個主題是關于什么的,并且以一種類似故事的方式覆蓋了這些主題。我們希望讀者能通過從頭到尾閱讀這本書來學習這門學科的所有基礎知識。
數據學習具有明顯的理論和實踐軌跡。在這本書中,我們平衡了理論和實踐,數學和啟發式。我們的納入標準是相關性。包括建立學習概念框架的理論,以及影響實際學習系統性能的啟發法。
從數據中學習是一個動態的領域。一些熱門的技術和理論有時只是一時的流行,而另一些獲得了牽引,成為該領域的一部分。我們在本書中強調的是必要的基礎知識,這些基礎知識使任何從數據中學習的學生有了堅實的基礎,并使他們能夠冒險去探索更多的技術和理論,或者貢獻自己的知識。
作者是加州理工學院(Caltech)、倫斯勒理工學院(RPI)和國立臺灣大學(NTU)的教授,這本書是他們廣受歡迎的機器學習課程的主要教材。作者還廣泛咨詢了金融和商業公司關于機器學習的應用,并在機器學習競賽中帶領獲勝團隊。