
於劍
這是一本基於公理研究學習算法的書。共17章,由兩部分組成。第一部分是機器學習公理以及部分理論演繹,包括第1、2、6、8章,論述學習公理以及相應的聚類、分類理論。第二部分關注如何從公理推出經典學習算法,包括單類、多類和多源問題。第3~5章爲單類問題,分別論述密度估計、迴歸和單類數據降維。第7、9~16章爲多類問題,包括聚類、神經網絡、K近鄰、支持向量機、Logistic迴歸、貝葉斯分類、決策樹、多類降維與升維等經典算法。最後第17章研究了多源數據學習問題。本書可以作爲高等院校計算機、自動化、數學、統計學、人工智能及相關專業的研究生教材,也可以供機器學習的愛好者參考。
《機器學習:從公理到算法》拆解 作者:於劍 一、一句話概括 本書試圖從“類怎樣被表示、樣本怎樣被歸入類”這組基本公理出發,統一推導密度估計、迴歸、聚類、分類、降維、核方法和多源學習等經典機器學習算法。 二、核心邏輯 多數機器學習教材按照算法類別逐一介紹,本書則採用“從公理到算法”的理論路線。 全書的核心路徑是: 從數據中尋找知識 → 用公理定義類和歸類 → 根據問題中的類數量與數據來源建立理論 → 從理論推出具體學習算法 內容可以分爲三層: 1. 基礎理論:機器學習框架、類表示公理、歸類公理、聚類理論和分類理論。2. 單類與多類算法:密度估計、迴歸、降維、聚類、神經網絡、KNN、SVM、Logistic迴歸、貝葉斯分類和決策樹。3. 複雜數據:監督式降維、核方法以及多源數據學習。 作者希望說明,看似分散的算法可以從少數共同問題中理解:什麼是類、如何衡量歸屬、怎樣從樣本中恢復類的結構。 三、核心內容 1. 機器學習的目的,是從數據中形成可使用的知識 數據只是對對象和現象的記錄,知識則是能夠用於解釋、預測或決策的規律。 機器學習的一般過程包括: 確定對象與任務;選擇樣本和特徵;建立數據表示;定義目標或損失;從樣本估計模型;在新數據上驗證;將結果用於預測或決策。 如果數據與任務沒有正確對應,算法只能從錯誤表示中提取表面規律。 2. “類”是組織機器學習問題的核心概念 分類和聚類都圍繞“類”展開,但類並非天然存在於數據中。 一個類需要回答: 哪些對象屬於它;類由規則、原型還是分佈表示;類內對象爲什麼相似;不同類之間怎樣區分;對新對象如何判斷歸屬;類的邊界是否確定。 不同的類表示會產生不同算法。例如,以中心爲類表示會導向原型聚類,以概率分佈表示則會導向密度和貝葉斯方法。 3. 公理化方法試圖從少數基本假設組織算法 本書提出類表示與歸類相關公理,希望用更基礎的原則解釋算法爲什麼成立。 公理化思路的價值在於: 明確算法依賴的假設;發現不同算法的共同結構;區分定義、推導和經驗技巧;幫助設計新的學習方法;避免只記憶公式和流程。 但這套公理框架是作者對機器學習的理論組織方式,不是學界唯一公認的基礎體系。其價值還需要通過解釋力、可檢驗性和算法效果判斷。 4. 單類問題關注一個數據集合自身的結構 當數據只來自一個總體或一個類時,常見任務包括: 估計數據分佈;預測連續目標;壓縮維度;學習低維表示;發現潛在因素;判斷新樣本是否符合已有分佈。 密度估計、迴歸和無監督降維都可以放在單類學習框架下理解。 5. 密度估計描述數據怎樣分佈 密度估計希望根據有限樣本,恢復數據出現的概率規律。 參數方法先假設分佈形式,例如高斯分佈,再估計有限參數。其優點是樣本效率高、模型簡潔,缺點是假設錯誤時會產生系統偏差。 非參數方法較少限制分佈形狀,例如核密度估計。它更加靈活,卻通常需要更多數據,並受到帶寬和維度影響。 高維空間中的密度估計尤其困難,因爲數據會變得非常稀疏。 6. 迴歸學習輸入與連續目標之間的函數關係 線性迴歸假設目標是特徵的線性組合,並通過最小化誤差估計參數。 其優勢是計算簡單、解釋清晰,可以作爲重要基線。 當特徵多、樣本少或變量高度相關時,普通迴歸容易不穩定。正則化通過懲罰參數控制複雜度: 嶺迴歸使用L2懲罰;Lasso使用L1懲罰併產生稀疏解。 模型擬合與參數約束之間的平衡,需要通過驗證數據選擇。 7. 降維試圖保留重要結構並減少複雜度 高維數據會增加計算、噪聲和過擬合風險。 主成分分析尋找方差最大的正交方向,把數據投影到較低維空間。 非負矩陣分解在非負約束下學習部件式表示,字典學習與稀疏表示則用少量基向量組合樣本。 局部線性嵌入、MDS和Isomap等方法嘗試保留局部鄰域或幾何距離。 不同降維方法保留的結構不同,沒有統一最優方案。 8. 典型關聯分析尋找兩組變量的相關表示 典型關聯分析處理兩組特徵,尋找各自的線性組合,使組合後的相關性最大。 它適合研究兩種數據視角之間的聯繫,例如圖像與文本、行爲與屬性。 該思想也爲多視圖和多模態學習提供了基礎:不同數據源可能描述同一對象的不同方面,可以通過共享表示建立聯繫。 9. 聚類是在沒有標籤時發現類結構 聚類沒有真實類別作爲直接監督,因此結果高度依賴距離、密度和類表示假設。 聚類需要明確: 相似性如何定義;類是否呈球形、層次或任意形狀;類數量是否已知;是否允許噪聲點;不同密度怎樣處理;結果怎樣評價。 同一數據使用不同算法可能得到不同但都合理的劃分。 10. 層次聚類從樣本關係建立樹狀結構 層次聚類可以從每個樣本單獨成類開始,逐步合併相近的類;也可以從所有樣本開始逐步拆分。 不同鏈接方式決定怎樣計算類之間距離: 單鏈接關注最近樣本;全鏈接關注最遠樣本;平均鏈接關注整體平均;Ward方法關注類內方差增長。 層次結構能夠展示不同粒度的分類,但對距離和異常值比較敏感。 11. 原型聚類用中心或代表點描述類 K-means用類中心表示聚類,通過“分配樣本—更新中心”反覆迭代。 它計算高效,卻隱含類接近球形、尺度相似等假設,並需要預先指定K值。 中心對異常值敏感,因此某些方法使用真實樣本作爲代表點。 原型方法適合結構相對清晰的數據,不適合複雜形狀和密度差異很大的類。 12. 密度聚類從高密度區域發現類 密度聚類把高密度連接區域視爲簇,並把低密度位置視爲邊界或噪聲。 這類方法可以發現非球形結構,也能識別離羣點。 其效果依賴鄰域半徑、最小樣本數等參數。在不同區域密度變化明顯時,同一組參數可能難以兼顧所有簇。 13. 分類理論關注已知類別下的新樣本歸屬 監督分類擁有帶標籤樣本,目標是學習從特徵到類別的映射。 分類模型可以從不同角度建立: 學習每個類的數據分佈;直接學習類別邊界;根據鄰近樣本判斷;用規則逐步切分;把分類轉換爲迴歸;最小化錯誤風險或最大化效用。 算法差異背後,是對類、邊界和損失的不同假設。 14. 神經網絡通過多層非線性學習分類函數 感知機是簡單線性分類器,神經網絡則疊加多個線性變換和激活函數,表達複雜邊界。 訓練過程通過前向傳播計算輸出,再用反向傳播計算梯度並更新參數。 深度學習能夠自動學習表示,減少部分人工特徵工程。 但網絡容量大,訓練依賴數據、初始化、優化、正則化和計算資源。複雜度提高不保證泛化一定改善。 15. 受限玻爾茲曼機代表早期生成式深度學習路線 受限玻爾茲曼機通過可見變量和隱藏變量之間的能量關係建模數據分佈。 它曾被用於無監督預訓練和深度信念網絡。 隨着ReLU、歸一化、更大數據和更好的優化方法發展,RBM在主流實踐中的地位下降。 但它仍有助於理解能量模型、隱變量和生成式學習的歷史演進。 16. K近鄰直接利用局部樣本進行分類 KNN找到距離新樣本最近的K個訓練樣本,再根據類別投票。 距離加權KNN讓更近的樣本擁有更大影響。 該方法簡單,沒有複雜訓練過程,但預測成本較高,並對以下因素敏感: 特徵尺度;距離定義;K值;無關特徵;高維稀疏;類別不平衡。 kd樹等結構可以在適當維度下加快近鄰搜索,但在高維中效果會下降。 17. 線性判別模型直接尋找分類邊界 線性分類器使用超平面劃分類別。 感知機通過誤分類樣本更新參數,對線性可分數據可以收斂。 支持向量機尋找最大間隔邊界,使分類面儘量遠離最近樣本。只有靠近邊界的支持向量直接決定結果。 最大間隔能夠提高穩定性,軟間隔和懲罰參數則允許部分訓練錯誤,以換取更好的泛化。 18. Logistic與Softmax迴歸輸出類別概率 Logistic迴歸把線性函數通過Sigmoid轉換爲二分類概率。 Softmax迴歸將這一思想擴展到多分類,輸出各類別的歸一化概率。 它們屬於判別模型,直接學習輸入和標籤之間的關係。 輸出概率是否可信,還需要檢查校準情況。高置信度不一定等於真實正確率很高。 19. 貝葉斯決策把概率與錯誤代價結合 貝葉斯分類器根據類條件概率和先驗概率計算後驗,並選擇最合適的類別。 樸素貝葉斯假設給定類別後,各特徵條件獨立。這個假設通常不完全真實,卻能在文本等高維稀疏任務中表現良好。 最小風險分類進一步考慮不同錯誤的代價,而不是隻追求最低錯誤率。 效用最大化則把決策結果的收益納入選擇。模型評價因此應與實際損失一致。 20. 決策樹通過規則切分特徵空間 決策樹反覆選擇特徵和切分點,使子節點中的類別更加純淨。 ID3使用信息增益,C4.5使用增益率,CART常使用Gini指數並形成二叉樹。 樹模型易於解釋,能夠表達非線性和特徵交互。 如果樹持續生長,容易過擬合。預剪枝和後剪枝通過限制結構提高泛化能力。 21. 有監督降維利用類別信息 無監督降維只關注數據結構,不一定保留對分類最重要的信息。 有監督特徵選擇根據標籤挑選原始變量,有監督特徵提取則學習新的低維組合,使不同類別更容易區分。 其風險是標籤信息參與變換後容易造成數據泄漏,因此所有選擇和提取步驟都必須在訓練數據內部完成。 22. 核方法把線性算法擴展到非線性空間 核方法不顯式計算高維映射,而是通過核函數計算樣本在隱式特徵空間中的內積。 這樣,線性SVM可以在隱式高維空間中形成非線性邊界。 常見核包括: 線性核;多項式核;高斯徑向基核。 核與參數選擇決定模型的平滑程度和複雜性。 核方法在中小規模數據上強大,但樣本很大時計算和存儲成本可能較高。 23. 多核學習組合不同相似性 不同核函數可以表達數據的不同結構。 多核學習希望自動組合多個核,讓模型利用不同特徵組、尺度或數據源的相似性。 這與集成學習和多視圖學習相似:多個不完全相同的表示如果能夠合理融合,可能優於單一表示。 24. 多源學習處理同一問題的多個數據來源 現實對象常同時具有文本、圖像、傳感器、用戶行爲和結構化屬性。 多源學習需要判斷: 不同來源描述的是同一樣本還是相關樣本;各來源是否共享類結構;信息是否互補;是否存在衝突和缺失;各來源可信度怎樣;怎樣對齊樣本與特徵。 簡單拼接所有數據可能讓噪聲和尺度問題加劇。有效方法需要同時保留共享信息和來源特有信息。 25. 多源學習的關鍵是明確基本假設 融合數據之前,應說明假設: 一致性:不同來源對同一結構有共同認識;互補性:各來源提供不同有效信息;相關性:來源之間存在可學習聯繫;可靠性:不同來源噪聲程度不同;可對齊性:樣本或語義可以建立對應關係。 如果這些假設不成立,融合可能比單一來源表現更差。 26. 公理化框架提供統一視角,但仍需實證支撐 本書最大的特色,是嘗試用類表示和歸類公理組織各種算法。 這種路線有助於讀者從“爲什麼這樣建模”理解算法,而不是停留在公式調用。 但公理選擇本身也包含理論立場。判斷框架是否有效,需要觀察: 是否能統一解釋已有算法;是否能推出新的可用算法;是否能產生可檢驗結論;是否能幫助解決現實問題;與統計學習等其他理論相比有何優勢。 四、本書最值得關注的核心觀點 本書最值得關注的觀點是: 機器學習算法的差異,很多時候來自對“類是什麼、怎樣判斷歸屬”的不同回答。 K-means把類看成中心周圍的樣本,密度聚類把類看成高密度連通區域,貝葉斯方法把類看成概率分佈,SVM關注類之間的最大間隔邊界,決策樹則用一組層次規則表示類別。 一旦理解每種算法背後的類表示和歸類假設,就能判斷它適合什麼數據、會在哪裏失敗,而不必把算法當作互不相關的公式集合。 五、一段話總結 《機器學習:從公理到算法》以“類表示”和“樣本歸類”爲理論核心,試圖從少數公理統一理解機器學習算法。全書從密度估計、線性與正則化迴歸、PCA、矩陣分解、稀疏表示和流形降維,擴展到層次聚類、K-means、密度聚類、神經網絡、KNN、感知機、SVM、Logistic與Softmax迴歸、貝葉斯決策和決策樹,再討論有監督降維、核方法、多核學習和多源數據融合。其最有價值的學習方法,是追問每個算法怎樣表示類、怎樣定義相似或邊界、依賴哪些數據假設,而不是孤立記憶公式。公理化體系屬於作者具有探索性的理論組織方式,並非唯一公認標準,但它爲理解算法之間的共同結構提供了一條獨特路徑。
反對目前最高讚的點評。只是希望喜歡理論的人不要錯過這本書。 目前的最高讚的評論,因爲1% 而否認其餘的99%內容。而且,加一些古文挺好的,開胃小菜,會心一笑。退一萬步講,在The Elements of Statistics Learning 沒上架的情況下(如果有這本書當我放屁),這本書是能找到的,最全面,理論性最強的書。
這本書並不理論性,甚至可以說絕大部分內容太淺顯了。你需要了解的除了基礎數學之外,無非多瞭解點條件概率,積分,鏈式法則,矩陣運算,再加點拉格朗日乘子法的知識。有人說這本書偏理論,我尋思連可學性,VC維,遺憾界,泛化界,這些重要的理論概念都沒講。說起理論性,遠遠趕不上週志華那本《機器學習理論導引》。 這本書也不自成一派,作者自創的公理演繹法則看起來是多餘的,可以去掉。 這本書也並不深入,只是分門別類講述了不同常見學習方式的理論基礎,卻缺乏相應的進一步分析。比如,爲什麼L1迴歸和L2迴歸各有各的特性?這些需要嚴格的數學證明,可惜本書也找不到。 爲什麼很多人說這本書很高深?高深在哪裏?
很不錯的一本書!雖然有一定數學門檻,但是主要是邏輯符號系統,用來表示一般的概念,只是作者可能沒打算把它寫成一本科普讀物,有一些提法不是學數學或者計算機的讀者會覺得晦澀難懂,比如說機器學習可解釋性的提法,說白了就是放棄模擬人腦解決問題的方式,也就是放棄邏輯推理和因果理論,這是第一次人工智能遭遇瓶頸後學界探索的一個重要方向。
不推薦閱讀,理由有兩個: 1.公理化理論並不能增強機器學習技術的應用,這個和幾何原理可以應用完全不是同等範疇的事情; 2.把純技術的內容和古文硬聯繫一下,說淺了是沒法讓一般人get到相應的梗,說深了,就是胡亂聯繫,賣弄知識。
剛開始讀這本書,隨手翻,發現很多數學邏輯表達,初步印象作者是從基礎理論來寫這本書,但是稍微仔細去看,就有牽強附會,故做高深的姿態,甚至還有狗尾續貂,不知所云!真懷疑作者對ML的理解程度。初學者不適合,甚至數學專業的對ML研究,這本書也… 尋找理論支持的可以稍微讀讀做參考,其實還是找國外專著教材比較好。 只是個人觀點(也可能是我理解力有問題)[衰]
南周北於,是爲國內之先行權威,此書略奧深,有數學基礎者讀之爲上。
強烈建議北京某所高校,能不能不要以這本書爲課本,真的有點難懂
感覺不太適合普通學生作爲機器學習入門,晦澀難懂,老師上課也講的讓人昏昏欲睡
作者對機器學習的一些語言說明,非常有價值。至於公里,我看不懂,都忽略了。除了那些公里,其他部分我讀的津津有味。 想問問作者,有沒有PPT啊,如果有,那麼就是雪中送炭,感激涕零。