機器之心報導
編輯:蛋醬
對於機器學習領域的初學者來說,這會是很好的入門課程。目前,課程的筆記、PPT 和視頻正在陸續發布中。
2020 年就這麼悄無聲息地走完了,想必大多數人,尤其是在校學生唯一的感覺就是:「又是毫無學術進展的一年。」
別慌,只要馬上開始學習,什麼時候都不算晚。
近日,威斯康辛大學麥迪遜分校助理教授 Sebastian Raschka 在推特上宣布了威斯康辛大學《機器學習導論》2020 秋季課程的完結:「教授兩個班級和 230 個學生是相當不錯的體驗,對於那些感興趣的人,我整理了一頁記錄以供參考。」
課程筆記主頁:https://sebastianraschka.com/resources/ml-lectures-1.html(持續更新中)
Sebastian Raschka 是威斯康星大學麥迪遜分校的統計學助理教授,致力於機器學習和深度學習研究。他最近的一些研究方法已應用於生物識別領域,解決面部圖像隱私問題,其他的研究重點包括開發與機器學習中的模型評估、對抗攻擊和 AutoML 有關方法和應用程式。他也是《Python 機器學習》一書的作者,曾被科技博客 Analytics Vidhya 評為 GitHub 上具影響力的數據科學家之一。
對想要學習這門課程的學生,Sebastian Raschka 教授的建議是:你至少要熟悉基本編程知識並完成了編程入門課程。
課程總共由七個部分組成:
第一部分:簡介
L01:什麼是機器學習
1.1 課程概述:「Stat 451:機器學習導論(FS 2020)」的簡介
1.2 什麼是機器學習:機器學習的定義,以及機器學習與編程的關係
1.3 機器學習的類別:討論了機器學習的三大類,監督學習、無監督學習和強化學習
1.4 符號:介紹了將在本課程中使用的機器學習形式和符號
1.5 ML 應用:走向機器學習程序的主要步驟,以及機器學習組件的分類
1.6 ML 動力:關於學習機器學習的不同觀點和動力
L02:最近鄰算法
2.1 最近鄰算法:介紹最近鄰算法,概覽最近鄰算法的應用和最新進展
2.2 最近鄰決策邊界:包括 1 - 最近鄰決策邊界背後的概念,此外還列出了一些常見的距離度量
2.3 K - 最近鄰算法:將 1 - 最近鄰概念擴展到 k - 最近鄰算法,進行分類和回歸
2.4 K - 最近鄰的 Big O:K - 最近鄰簡單實現的 Big O 運行時間複雜度
2.5 K - 最近鄰的提升:總結一些提升 K - 最近鄰計算性能和預測效率的常見技巧
2.6 Python 中的 K - 最近鄰:利用 scikit-learn,在 Python 中使用 K - 最近鄰。這節課中使用的 Jupyter 筆記本從這裡獲取:https://github.com/rasbt/stat451-machine-learning-fs20/blob/master/L02/code/02_knn_demo.ipynb
第二部分:計算基礎
L03: (可選)Python 編程
3.1 Python 概述:這節課將討論 Python 的用法,進行 C 和 Python 的快速演示(也許並不是很有吸引力)
3.2 Python 設置:演示如何在 MacOS 上使用 Miniconda 安裝 Python,另外提供了有關 conda 軟體包管理器的簡短演示
3.3 運行 Python 代碼:演示運行 Python 代碼的不同方式,包括 REPL、IPython、.py 腳本和 Visual Studio Code
L04: Python 中的科學計算
4.1 NumPy 基礎知識介紹
4.2 NumPy 數組的創建及索引
4.3 NumPy 數組的數學運算和通用函數
4.4 NumPy 的廣播機制
4.5 NumPy 高級索引–內存視圖和副本
4.6 NumPy 隨機數生成器
4.7 重塑 NumPy 數組
4.8 NumPy 比較運算符和掩碼
4.9 NumPy 線性代數基礎
4.10 Matplotlib
L05: 使用 Scikit-Learn 進行機器學習
5.1 從表格文本文件讀取數據集
5.2 基本數據處理
5.3 面向對象的編程和 Python 類
5.4 Scikit-Learn 簡介
5.5 Scikit-Learn Transformer API
5.6 Scikit-Learn 管道
第三部分:基於樹的方法
L06:決策樹
6.1 決策樹簡介
6.2 遞歸算法和 Big-O
6.3 決策樹的類型
6.4 分割標準
6.5 基尼係數 & 熵與誤分類誤差:闡釋在 CART 決策樹的信息增益方程式中,為什麼要使用熵(或基尼)代替誤分類誤差作為雜質度量
6.6 改進和處理過擬合:將決策樹的一些問題(例如過擬合)融合在一起並討論改進方法,例如增益比、預剪枝和後剪枝
6.7 代碼示例:如何使用 scikit-learn 訓練和可視化決策樹的快速演示
L07: 集成方法
7.1 集成方法簡介:討論了包括絕對多數投票法(majority voting)、套袋法(bagging)、隨機森林(random forests)、堆棧(stacking)、梯度提升(gradient boosting)等最受歡迎、使用最廣泛的機器學習方法。
7.2 絕對多數投票法:討論最基本的模型集成之一「絕對多數投票」,通過示例解釋為什麼它比使用單個分類器更好
7.3 套袋法:介紹了偏差 - 方差權衡和分解,以了解套袋法的用途
7.4Boosting 和 AdaBoost:討論 boosting 的概念,然後介紹了 AdaBoost,該方法將弱分類器(比如決策樹樁)提升為強分類器
7.5 梯度提升:在 AdaBoost 使用權重作為訓練示例來提升下一輪樹的情況下,梯度提升使用損失的梯度來計算殘差以適應序列中的下一棵樹,視頻中提到的論文地址:https://dl.acm.org/doi/pdf/10.1145/2939672.2939785
7.6 隨機森林:講解隨機森林及其與套袋法之間的關係,以及為什麼隨機森林在實踐中的效果優於套袋法
7.7 堆棧:介紹 Wolpert 堆棧算法,並展示如何在 mlxtend 和 scikit-learn 中使用堆棧分類器
第四部分:模型評估
模型評估分為五個小節:
L08:基礎部分,欠擬合和過擬合
L09:重採樣方法
L10:交叉驗證
L11:統計測試和算法選擇
L12:評估指標
在後續即將更新的課程中,Sebastian Raschka 將對「降維和無監督學習」、「貝葉斯學習」內容進一步介紹,課程資料也會更新,包括講座視頻、PPT 連結等。
待更新的內容包括:
第五章:降維和無監督學習
L13 - 功能選擇
L14 - 特徵提取
L15 - 聚類
第六章:貝葉斯學習
L16 - 貝葉斯方法簡介
L17 - 貝葉斯最佳分類器
L18 - 樸素貝葉斯分類器
L19 - 貝葉斯網絡
這些課程資料在 GitHub 平臺也會同步更新,項目地址:https://github.com/rasbt/stat451-machine-learning-fs20
本周六,WAIC開發者·2020上海臨港人工智慧開發者大會將震撼來襲。
全球頂尖AI專家齊聚主論壇,解讀智能化轉型的技術之道。4場技術工作坊分享智慧城市、智能出行、華為開源生態與邊緣智能引擎等話題,2場黑客松等你來戰。