描述
內容簡介
◎ 用最淺顯的例子說明最重要的公式 ◎ 以初學者的角度出發,不再被數學擊敗 本書特色 機器學習都是數學,多項式、矩陣、向量、高維空間、機率、統計,本書幫你複習高中、大學工程數學,打下最紮實的基礎,看懂機器學習到底在做什麼。 作者本身是和電腦完全無關的醫學背景出身,也是無師自通,從頭開始學起,深知學習的完整路徑,用最淺顯的例子來說明最重要的公式。從初學到高手,研究機器學習的過程,完整記錄在本書中。 本書內容 全書分為「線性代數」、「機率」和「最佳化」等3篇,共21章,涵蓋了人工智慧領域中重要的數學知識點。 本書寫作風格通俗有趣,讀者可在潛移默化中掌握這些數學知識以及相關的程式設計操作,並能從專案的角度深刻理解數學在其中的扮演角色和魅力。 第1篇 線性代數 介紹向量、矩陣的概念和運算,並透過向量空間模型、多項式回歸、嶺回歸、Lasso回歸、矩陣分解等實用技術。 第2篇 機率 介紹機率的基本概念,重點介紹頻率學派的最大似然估計和貝氏學派的最大後驗機率這兩種建模,尤其是貝氏定理可說是機器學習最重要的理論。 第3篇 最佳化 介紹凸最佳化的理論知識,並介紹梯度下降演算法、隨機梯度下降演算法以及邏輯回歸演算法的程式實現。 讀者讀完本書再進一步學習人工智慧時,會發現原來這麼前端的技術,竟然也是來自於你我生活中的數學。 適合讀者群 希望投身人工智慧領域、對人工智慧領域背後的邏輯感興趣者,或作為大專院校人工智慧課程的參考用書。 |
作者簡介
張曉明 網名大聖
自由業者、獨立諮詢顧問、獨立講師。 早期擔任競價搜索工程師,在雅虎、阿里、移動等大型互聯網公司,擔任過資料專家、技術總監等職務,有15年以上的資料採擷、機器學習一線工程經驗。 |
目錄
前言
第一篇 線性代數 01 論線性代數的重要性 1.1 小白的苦惱 1.2 找朋友 1.3 找推薦 1.4 賺大錢 02 從相似到向量 2.1 問題:如何比較相似 2.2 程式範例 2.3 專家解讀 03 向量和向量運算 3.1 程式範例:在Python 中使用向量 3.2 專家解讀 04 最難的事情—向量化 4.1 問題:如何對文字向量化 4.2 One-Hot Encoding 方式 4.3 專家解讀 05 從線性方程組到矩陣 5.1 回歸預測 5.2 從方程組到矩陣 5.3 工程中的方程組 06 空間、子空間、方程組的解 6.1 空間和子空間 6.2 子空間有什麼用 6.3 所謂最佳解指什麼 07 矩陣和矩陣運算 7.1 認識矩陣 7.2 建立矩陣 7.3 矩陣運算 08 解方程組和最小平方解 8.1 程式實戰:解線性方程組 8.2 程式實戰:用最小平方法解方程組 8.3 專家解讀:最小平方解 09 帶有正規項的最小平方解 9.1 程式實戰:多項式回歸 9.2 程式實戰:嶺回歸 9.3 程式實戰:Lasso 回歸 10 矩陣分解的用途 10.1 問題1:消除資料間的資訊容錯 10.2 問題2:模型複雜度 10.3 程式實戰:PCA 降維 10.4 專家解讀 10.5 從PCA 到SVD 11 降維技術哪家強 11.1 問題:高維資料視覺化 11.2 程式實戰:多種資料降維 11.3 專家解讀:從線性降維到流形學習 12 矩陣分解和隱因數模型 12.1 矩陣分解和隱因數模型概述 12.2 程式實戰:SVD 和文件主題 12.3 小結 第二篇 機率 13 機率建模 13.1 機率 13.2 隨機變數和分佈 13.3 程式實戰:檢查資料是否服從正態分佈 13.4 專家解讀:為什麼正態分佈這麼厲害 13.5 小結 14 最大似然估計 14.1 最大似然原理 14.2 程式實戰:最大似然舉例 14.3 專家解讀:最大似然和正態分佈 14.4 最大似然和回歸建模 14.5 小結 15 貝氏建模 15.1 什麼是隨機向量 15.2 隨機向量的分佈 15.3 獨立VS 不獨立 15.4 貝氏公式 15.5 小結 16 單純貝氏及其擴充應用 16.1 程式實戰:情感分析 16.2 專家解讀 16.3 程式實戰:優選健身計畫 16.4 小結 17 進一步體會貝氏 17.1 案例:這個機器壞了嗎 17.2 專家解讀:從貝氏到線上學習 18 取樣 18.1 貝氏模型的困難 18.2 程式實戰:拒絕取樣 18.3 程式實戰:MH取樣 18.4 專家解讀:拒絕取樣演算法 18.5 專家解讀:從MH 到Gibbs 18.6 小結 第三篇 最佳化 19 梯度下降演算法 19.1 程式實戰:梯度下降演算法 19.2 專家解讀:梯度下降演算法 19.3 程式實戰:隨機梯度下降演算法 19.4 專家解讀:隨機梯度下降演算法 19.5 小結 20 邏輯回歸 20.1 程式實戰:邏輯回歸 20.2 專家解讀:邏輯回歸的原理 20.3 程式實戰:邏輯回歸梯度下降演算法 21 凸最佳化 21.1 凸最佳化掃盲 21.2 正規化和凸最佳化 21.3 小結 A 工作環境架設說明 A.1 什麼是Python A.2 本書所需的工作環境 |
序
前言
✤ 本撰寫作目的 「大聖」老師所有的IT 知識均靠自學習得,從程式設計開發到Linux 和網路運行維護,從Oracle 資料庫開發到資料採擷,均是如此。一路走來,「大聖」老師對IT 技術自學者的痛點和真實需求洞若觀火。 「大聖」老師在自學人工智慧時,由於當時該學科尚屬冷門,完全沒有現在便利的學習環境和隨處可見的學習資料(無論是圖書還是視訊課程),因此自學之路相當痛苦。「大聖」老師就是在這種艱苦的環境下,學完了線性代數、高等數學、機率統計等機器學習的入門課程。眾所皆知,這些課程通篇都是數學定理與公式,仿佛它們就是為考研、考博而生,至於它們能在工程中做些什麼,這些課程從來沒有講到。這無形之中在打算入門人工智慧行業的學習人員面前建立起了一道鴻溝,不可逾越。 如今,「大聖」老師想做一個擺渡人,願意將自己在坎坷的學習之路中學到的知識和經驗融合在本書中,幫助有心的讀者跨過這條鴻溝,縮短學習路徑與時間,為入門人工智慧行業打下良好的數學基礎。故寫作本書! ✤ 本書組織結構 本書採用「提出問題、定義問題、解決問題、專家說明」的組織方式,對人工智慧領域中經常用到的一些數學知識進行了介紹。本書分為3 篇:「線性代數」、「機率」和「最佳化」,共21 章。每篇的內容如下。 ■ 線性代數(第 1 ∼ 12 章),介紹向量、矩陣的概念和運算,並透過向量空間模型、多項式回歸、嶺回歸、Lasso 回歸、矩陣分解等實用場景和程式幫助讀者深刻了解其意義。 ■ 機率(第 13 ∼ 18 章)介紹機率的基本概念,重點介紹頻率學派的最大似然估計和貝氏學派的最大後驗機率這兩種建模方法,並透過真實的案例幫助讀者了解機率建模方法並實現建模。 ■ 最佳化(第 19 ∼ 21 章),介紹凸最佳化的理論知識,並介紹梯度下降演算法、隨機梯度下降演算法以及邏輯回歸演算法的程式實現。 本書採用「邊做邊學」的想法來幫助讀者了解所學內容,希望讀者能夠動手敲下書中的每一行程式,在形成最基本的肌肉記憶的同時,也能感受數學的價值。 本書內容非常通俗容易。「大聖」老師寫作本書的目的就是希望能將抽象枯燥的數學知識拉下「神壇」,因此在寫作時用了很多生活化的語言來解釋這些數學內容,而且還採用了一些插畫直觀展示。讀者在閱讀本書時,如果發現有些基礎知識不夠嚴謹,不夠「數學」,還請理解。 ✤ 本書適合讀者群 本書適合那些對人工智慧領域有興趣,卻又被其中的數學知識「嚇倒」的讀者閱讀。本書的原始程式碼,可至本公司官網ttps://deepmind.com.tw/ 搜尋本書書名之後下載。另本書之原作者為中國大陸人士,因此程式碼為簡體中文,讀者可對照書中內容執行。 ✤ 讀者回饋 如果讀者能夠在許多人工智慧領域的圖書中選擇並購買了本書,而且覺得它對自己很有幫助,這就是對「大聖」老師最大的褒獎與肯定。如果還能在豆瓣上寫個圖書評論,或在社交媒體上寫幾句閱讀收穫與感言,則會進一步激勵「大聖」老師將教學與寫書堅持下去。 由於「大聖」老師水準有限,雖然對本書做過多次審讀與修改,但難免會有不足和疏漏之處,懇請讀者批評指正。讀者可到「大聖」老師的個人網站www.atdasheng.com 留言並檢視本書的勘誤表。 |