《深度學習,統計學習,數學基礎》人工智能算法工程師手冊

本文約

3400字,建議閱讀10+分鐘

免費開源人工智能手冊,帶你快速上手寫代碼!

[ 導讀 ]市面上很多人工智能相關的書籍。大部分的書,面向小白,內容深度不夠;小部分教材書或者科研書,內容艱深,又過於複雜。那麼有沒有,面向算法工程師(程序員)人群的,面向有一定數學基礎、算法基礎,能夠快速上手寫代碼的人群的人工智能手冊呢?有的!而且免費開源,非常有程序員範!《AI算法工程師手冊》你值得擁有!

作者Github:

https://github.com/huaxz1986

手冊地址:

http://www.huaxiaozhuan.com/


華校專,清華航天學院工程力學本科,國防科大計算機專業碩士。清華四年每年成績都是本系頭名,曾任阿里巴巴資深算法工程師,現任智易科技首席算法研究員,《Python 大戰機器學習》的作者

手冊目錄:

數學基礎

1. 線性代數基礎

一、基本知識二、向量操作三、矩陣運算四、特殊函數

2. 概率論基礎

一、概率與分佈二、期望和方差三、大數定律及中心極限定理五、常見概率分佈六、先驗分佈與後驗分佈七、信息論八、其它

3. 數值計算基礎

一、數值穩定性二、梯度下降法三、二階導數與海森矩陣四、牛頓法五、擬牛頓法六、 約束優化

4. 蒙特卡洛方法與 MCMC 採樣

一、蒙特卡洛方法二、馬爾可夫鏈三、MCMC 採樣

統計學習

0. 機器學習簡介

一、基本概念二、監督學習三、機器學習三要素

機器學習的對象是:具有一定的統計規律的數據。

機器學習根據任務類型,可以劃分為:

監督學習任務:從已標記的訓練數據來訓練模型。主要分為:分類任務、迴歸任務、序列標註任務。無監督學習任務:從未標記的訓練數據來訓練模型。主要分為:聚類任務、降維任務。半監督學習任務:用大量的未標記訓練數據和少量的已標記數據來訓練模型。強化學習任務:從系統與環境的大量交互知識中訓練模型。

機器學習根據算法類型,可以劃分為:

傳統統計學習:基於數學模型的機器學習方法。包括SVM、邏輯迴歸、決策樹等。這一類算法基於嚴格的數學推理,具有可解釋性強、運行速度快、可應用於小規模數據集的特點。深度學習:
基於神經網絡的機器學習方法。包括前饋神經網絡、卷積神經網絡、遞歸神經網絡等。這一類算法基於神經網絡,可解釋性較差,強烈依賴於數據集規模。但是這類算法在語音、視覺、自然語言等領域非常成功。

沒有免費的午餐定理(No Free Lunch Theorem:NFL):對於一個學習算法A,如果在某些問題上它比算法B好,那麼必然存在另一些問題,在那些問題中B比A更好。

因此不存在這樣的算法:它在所有的問題上都取得最佳的性能。因此要談論算法的優劣必須基於具體的學習問題。

1. 線性代數基礎

一、線性迴歸二、廣義線性模型三、對數幾率迴歸四、線性判別分析五、感知機

2. 支持向量機

一、 線性可分支持向量機二、線性支持向量機三、非線性支持向量機四、支持向量迴歸五、SVDD六、序列最小最優化方法七、其它討論

3. 樸素貝葉斯

一、貝葉斯定理二、樸素貝葉斯法三、半樸素貝葉斯分類器四、其它討論

4. 決策樹

一、 原理二、 特徵選擇三、生成算法四、剪枝算法五、CART 樹六、連續值、缺失值處理七、多變量決策樹

5. knn

一、k 近鄰算法二、kd樹

6. 集成學習

一、集成學習誤差二、 Boosting三、Bagging四、集成策略五、多樣性分析

7. 梯度提升樹

一、提升樹二、xgboost三、LightGBM

8. 特徵工程

一、缺失值處理二、特徵編碼三、數據標準化、正則化四、特徵選擇五、稀疏表示和字典學習六、多類分類問題七、類別不平衡問題

9. 模型評估

一、泛化能力二、過擬合、欠擬合三、偏差方差分解四、參數估計準則五、泛化能力評估六、訓練集、驗證集、測試集七、性能度量七、超參數調節八、傳統機器學習的挑戰

10. 降維

一、維度災難二、主成分分析 PCA三、核化線性降維 KPCA四、流形學習五、度量學習六、概率PCA七、獨立成分分析八、t-SNE九、LargeVis

11. 聚類

一、性能度量二、原型聚類三、密度聚類四、層次聚類五、譜聚類

12. 半監督學習

一、生成式半監督學習方法二、半監督 SVM三、圖半監督學習四、基於分歧的方法五、半監督聚類六、 總結

13. EM算法

一、示例二、EM算法原理三、EM算法與高斯混合模型四、EM 算法與 kmeans 模型五、EM 算法的推廣

14. 最大熵算法

一、最大熵模型MEM二、分類任務最大熵模型三、最大熵的學習

15. 隱馬爾可夫模型

一、隱馬爾可夫模型HMM二、HMM 基本問題三、最大熵馬爾科夫模型MEMM

16. 概率圖與條件隨機場

一、概率圖模型二、貝葉斯網絡三、馬爾可夫隨機場四、條件隨機場 CRF

17. 邊際概率推斷

一、精確推斷二、近似推斷

18. 主題模型

一、Unigram Model二、pLSA Model三、LDA Model四、LDA優化五、sentence-LDA六、模型討論

深度學習

0. 深度學習簡介

一、介紹二、歷史

深度學習:計算機從經驗中學習,以層次化的概念(concept)來理解世界。

從經驗中學習:避免了人工指定計算機學習所需的所有知識。

層次化的概念:計算機通過從簡單的概念來構建、學習更復雜的概念。

如果繪製一張圖來展示這些概念的關係,那麼這張圖是一個深度的層次結構,因此稱這種方法為深度學習。

1. 深度前饋神經網絡

深度前饋網絡(deep feedfoward network)也稱作前饋神經網絡(feedforward neural network)或者多層感知機(multilayer perceptron:MLP),它是最典型的深度學習模型。卷積神經網絡就是一種特殊的深度前饋網絡。深度前饋網絡也是循環神經網絡的基礎。

一、基礎二、損失函數三、輸出單元四、隱單元五、結構設計六、歷史小記

2. 反向傳播算法

一、鏈式法則二、反向傳播三、算法實現四、自動微分

3. 正則化

一、參數範數正則化二、顯式約束正則化三、數據集增強四、噪聲魯棒性五、早停六、參數相對約束七、dropout八、對抗訓練九、正切傳播算法十、其它相關

4. 最優化基礎

一、代價函數二、神經網絡最優化挑戰三、 mini-batch四、基本優化算法五、自適應學習率算法六、二階近似方法七、共軛梯度法八、優化策略和元算法九、參數初始化策略十、Normalization十一、Online Learning

5. 卷積神經網絡

卷積神經網絡convolutional neural network:CNN:是指那些至少在網絡的某一層中使用了卷積運算來代替一般的矩陣乘法運算的神經網絡。卷積神經網絡專門處理具有類似網格結構的數據的神經網絡。如:時間序列是一維網格,圖像數據是二維網格。

一、卷積運算二、卷積層、池化層三、基本卷積的變體四、應用五、 歷史和現狀

5.1.CNN之圖片分類

一、LeNet二、AlexNet三、VGG-Net四、Inception五、ResNet六、ResNet 變種七、SENet八、 DenseNet九、小型網絡

6. 循環神經網絡

一、RNN計算圖二、訓練算法三、長期依賴四、常見 RNN 變種

7. Transformer

一、Transformer二、Universal Transformer三、Transformer XL四、GPT五、BERT六、ERNIE七、XLNet八、MT-DNN九、BERT 擴展

8. 詞向量

一、向量空間模型 VSM二、LSA三、Word2Vec四、GloVe五、FastText六、ELMo七、變種

9. 傳統 CTR 預估模型

一、LR 模型二、POLY2 模型三、FM模型四、FFM模型五、GBDT-LR 模型六、FTRL模型七、LS-PLM 模型

10. 工程實踐指導原則

一、性能度量二、默認的基準模型三、決定是否收集更多數據四、選擇超參數五、調試策略六、示例:數字識別系統七、數據預處理八、變量初始化九、結構設計

工具

CRF:

CRF++

一、安裝二、使用三、Python接口四、常見錯誤

lightgbm:

lightgbm使用指南

一、安裝二、調參三、進階四、API五、Docker

xgboost:

xgboost使用指南

一、安裝二、調參三、外存計算四、 GPU計算五、單調約束六、 DART booster七、Python API

scikit-learn

1. 預處理

一、特徵處理二、特徵選擇三、字典學習四、PipeLine

2. 降維

一、PCA二、MDS三、Isomap四、LocallyLinearEmbedding五、FA六、FastICA七、t-SNE

3. 監督學習模型

一、線性模型二、支持向量機三、貝葉斯模型四、決策樹五、KNN六 、AdaBoost七、梯度提升樹八、Random Forest

4. 模型評估

一、數據集切分二、性能度量三、驗證曲線 && 學習曲線四、超參數優化

5. 聚類模型

一、KMeans二、DBSCAN三、MeanShift四、AgglomerativeClustering五、BIRCH六、GaussianMixture七、SpectralClustering

6. 半監督學習模型

一、標籤傳播算法

7. 隱馬爾可夫模型

一、Hmmlearn二、seqlearn

spark

1. 基礎概念

一、核心概念二、安裝和使用三、 pyspark shell四、獨立應用

2. rdd使用

一、概述二、創建 RDD三、轉換操作四、行動操作五、其他方法和屬性六、持久化七、分區八、混洗

3. dataframe使用

一、概述二、SparkSession三、DataFrame 創建四、 DataFrame 保存五、DataFrame六、Row七、Column八、GroupedData九、functions

4. 累加器和廣播變量

一、累加器

二、廣播變量

numpy:

numpy 使用指南

一、 ndarray二、 ufunc 函數三、 函數庫四、數組的存儲和加載

scipy:

scipy 使用指南

一、 常數和特殊函數二、 擬合與優化三、線性代數四、 統計五、數值積分六、 稀疏矩陣

matplotlib:

matplotlib 使用指南

一、matplotlib配置二、 matplotlib Artist三、基本概念四、佈局五、 Path六、 path effect七、座標變換八、 3D 繪圖九、技巧

pandas:

pandas 使用指南

一、基本數據結構二、 內部數據結構三、 下標存取四、 運算五、變換六、數據清洗七、 字符串操作八、 聚合與分組九、時間序列十、 DataFrame 繪圖十一、 移動窗口函數十二、 數據加載和保存

完整版看手冊地址:

http://www.huaxiaozhuan.com/

部分章節節選:

— 完 —

關注清華-青島數據科學研究院官方微信公眾平臺“THU數據派”及姊妹號“數據派THU”獲取更多講座福利及優質內容。