首頁>科技>

本系列圖書將向讀者介紹人工智慧領域的各種熱門主題。由於人工智慧是一個龐大而繁雜的領域,並且其涵蓋的內容與日俱增,任何一本書都只可能專注於特定領域,因此本書也無意成為一本鉅細靡遺的人工智慧教程。

本系列圖書以一種數學上易於理解的方式講授人工智慧相關概念,這也是本系列圖書英文書名中“for Human”的含義。此外:

本系列圖書假定讀者精通至少一門程式語言;本系列圖書假定讀者對大學代數課程有基本的瞭解;本系列圖書將使用微積分、線性代數、微分方程與統計學中的相關概念和公式;但是在解釋上述第3點的相關內容時,本系列圖書並不會假定讀者對上述內容十分熟練;所有概念都不僅有數學公式,還附有程式設計例項和虛擬碼。

本系列圖書的目標讀者是精通至少一門程式語言的程式設計師,且書中示例均已改寫為多種程式語言的形式。

前兩卷已經由人民郵電出版社非同步社群出版,還有一卷預計明年第一季度可以與大家見面。

卷1:《人工智慧演算法 卷1 基礎演算法》

第1章“AI入門”,介紹了本書或系列圖書其他各卷中會用到的部分人工智慧相關的基本概念。大多數人工智慧演算法是接受一個輸入陣列,從而產生一個輸出陣列——人工智慧所能解決的問題通常被歸為此類模型。而在演算法模型內部,還需要有額外的陣列來儲存長短期記憶。演算法的訓練實際上就是透過調整長期記憶的值來產生對應於給定輸入的預期輸出的一個過程。

第2章“資料歸一化”,描述了大多數人工智慧演算法對原始資料的預處理流程。資料需要以一個輸入陣列的形式傳遞給演算法,但實踐中獲取到的資料並不一定都是數值型的,也有一些是類別資訊,比如顏色、形狀、性別、物種抑或其他一些非數值型的描述性特徵。此外,就算是現成的數值型資料,也必須在一定範圍內歸一化,並且通常是歸一化到 (-1, 1) 區間。

第3章“距離度量”,展示了我們比較資料的方法,說起來這種比較方法其實跟在地圖上標識出兩點間的距離十分相像。人工智慧通常以數值陣列的形式處理資料,包括輸入資料、輸出資料、長期記憶、短期記憶和其他很多資料都是如此,這些陣列很多時候也被稱作“向量”。我們可以像計算兩點間距離一樣,計算出兩個資料之間的差異(二維和三維的點可以分別看作長度為二和三的向量)。當然,在人工智慧領域,我們經常要處理的是更高維空間中的資料。

第5章“K均值聚類演算法”,詳述了將資料按相似度分類的方法。K均值演算法本身可以用來將資料按共性分組,同時也可以被用於組成更復雜的演算法——比如遺傳演算法就利用K均值演算法對種群按特徵歸類,各路網商也利用聚類演算法劃分顧客,依照同類型顧客的消費習慣調整銷售策略。

第6章“誤差計算”,演示了評估人工智慧演算法效果的方法。誤差計算的過程由一個用以評估演算法最終效果的評分函式執行,其結果決定了演算法的效果。一類常用的評分函式只需要給定輸入向量和預期輸出向量,也就是所謂的“訓練資料”,演算法的效果則是由實際輸出與預期輸出間的差異決定的。

第7章“邁向機器學習”,概述了可以從資料中學習特徵來最佳化結果的簡單機器學習演算法。大多數人工智慧演算法是用權值向量將輸入向量轉化為期望的輸出向量,這些權值向量構成了演算法的長期記憶,“訓練”就是一個調整長期記憶以產生預期輸出的過程。本章會演示幾個具有學習能力的簡單模型的構建方法,也會介紹一些簡單但卻行之有效的訓練演算法,能夠調整這種長期記憶(權重向量)並最佳化輸出結果,簡單隨機漫步和爬山演算法正是其中之二。

第8章“最佳化訓練”,在前面章節的基礎上進行了一定的拓展,介紹了像模擬退火演算法和Nelder-Mead法[2]這樣用來快速最佳化人工智慧模型權重的演算法。本章還說明了如何透過一定的調整,將這些最佳化演算法應用於之前提到過的部分模型。

第9章“離散最佳化”,解釋瞭如何最佳化非數值型的類別型資料。並非所有最佳化問題都是數值型的,還有離散型和類別型問題,比如揹包問題和旅行商問題。本章將說明模擬退火演算法可以用於處理這兩個問題,並且該演算法既適用於連續的數值型問題,也適用於離散的類別型問題。

第10章“線性迴歸”,講解了如何用線性和非線性方程來學習趨勢並做出預測。本章將介紹簡單線性迴歸,並演示如何用它來擬合數據為線性模型。此外還將介紹可以擬合非線性資料的廣義線性模型(General Linear Model,GLM)。

卷2:《人工智慧演算法 卷1 基礎演算法》

第1章 “種群、計分和選擇”引入本書其餘部分將要使用的概念。受大自然啟發 的演算法透過形成解的種群來解決問題。評分允許演算法評估種群成員的有效性。

第2章 “交叉和突變”介紹幾種交叉和突變的方法,種群成員可以為下一代建立潛在的更好的解。交叉允許兩個或多個潛在解結合其特徵,產生下一代的解。突變讓個體可以為下一代建立其自奐的稍有變化的版本。

第3章 “遺傳演算法”將第1章和第2章的思想組合成一個具體的演算法。遺傳演算法透過演化來最佳化定長陣列,以提供更好的結果。本章將展示如何使用定長陣列找到旅行商問題的解決方案,以及如何使用花朵的測量值來預測鳶尾花種類。

第4章 “遺傳程式設計”展示了演化演算法的解陣列不一定總是固定長度的。實際上,利用這些想法,可以將計算機程式表示為樹,這些樹可以演化並生成其他程式,以更好地執行其預期任務。

第6章“ 粒子群最佳化”使用粒子組搜尋最優解。計算機軟體中的這種分組本能是根據自然建模的。“牛群”“昆蟲群”“鳥群”和“魚群”等例子表明,有機體自然傾向成群出行,將成群出行作為對付捕食者的最佳解決方案。

第8章“ 細胞自動機”利用簡單的規則來產生非常複雜的結果和模式。建立有趣的細胞自動機的關鍵,是找到一些可以利用基於遺傳演算法進行演化的簡單規則。

第9章“ 人工生命”旨在反映出真實生命的特徵,其中包含本書的一個重點專案。本章將建立一個模擬植物生長的程式。為了幫助讀者檢視進度,本章將該程式劃分為3個里程碑,並提供程式碼。

卷3 人工智慧演算法(卷3):深度學習和神經網路(2021年上半年出版)

本書中,我們將演示各種現實世界任務中的神經網路,例如影象識別和資料科學。我們研究了當前的神經網路技術,包括 ReLU 啟用、隨機梯度下降、交叉熵、正則化,Dropout 和視覺化。

8
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 越來越多營銷號鼓吹機器學習,這真的靠譜嗎?