有什麼網站介紹數據挖掘演算法的實現過程的?

有沒有什麼網站、博客或者書籍是講數據挖掘的各種演算法(像是神經網路啊,回歸分析啊,樹)是怎麼通過手工去計算的過程,或者像是r軟體或者python軟體裡面命令的講解,可以通過一個例子,一步步講解每一步計算的方式的。


你看看這位的博客是否符合你的需要? 結構之法 演算法之道


廣義綫性模型基本上就是凸優化相關的東西,補充 @Tang Boyun 的答案,還有一本《最優化方法與程序設計》,有理論的證明及matlab代碼,甚至不需要用他的代碼,自己用numpy對著理論實現一遍也不大難,可以直接基於這些優化演算法實現logistic回歸、svm等等(親測可用,綫搜索、梯度下降、共軛梯度、DFP或BFGS、內點法及乘子法,實現了這些基本夠用);

其他模型零零散散,或者有理論相關的文獻或博客,或者有純編碼實現,但是兼顧兩者的似乎還沒發現;

另外可以參考scikit-learn的源碼及《scikit-learn_user_guide_x.xx.x》,非常詳細的文檔;

————————

另外,總覺得july的博客運營味道很重。。


題主說的這些,其實本質是如何求解最優化方程。我推薦一本, 大部分帶matlab示例,可以根據需要去翻成其他語言:

目錄:

前言

第1章 緒論

1.1 最優化方法的發展歷史

1.2 最優化問題舉例

1.3 最優化問題的數學模型及相關概念

1.3.1 最優化問題的數學模型及三要素

1.3.2 可行點、非可行點、可行域

1.3.3 其他形式優化問題的轉化

1.4 最優化方法的分類

1.5 最優化方法的演算法基本結構

1.6 最優化演算法的評價指標

第2章 無約束優化問題的基本概念與理論

2.1 梯度信息

2.1.1 梯度向量

2.1.2 Hesse矩陣

2.1.3 Hesse矩陣的正定、半正定、負定、半負定、不定性質及判定

2.1.4 梯度向量與Hesse矩陣的關係

2.2 Taylor展開式與函數逼近

2.2.1 一維函數的Taylor展開式

2.2.2 多維函數的Taylor展開式

2.2.3 多維函數的一階與二階Taylor展開式

2.3 極值點與穩定點

2.3.1 極值點

2.3.2 穩定點

2.4 凸集、凸函數與凸優化

2.4.1 凸集

2.4.2 凸函數和凹函數

2.4.3 凸函數的相關性質

2.4.4 函數凹凸性的判定

2.4.5 凸優化問題的定義

2.4.6 凸優化問題的判定準則

2.5 無約束優化問題的最優性條件

2.5.1 一階必要條件

2.5.2 二階必要條件

2.5.3 二階充分條件

2.6 下降方向

習題

第3章 精確一維搜索方法

3.1 精確一維搜索介紹

3.1.1 一維搜索在最優化方法中的地位

3.1.2 精確一維搜索的問題描述與基本原理

3.1.3 區間消去思想

3.1.4 精確一維搜索方法的分類

3.2 對分搜索法

3.2.1 對分搜索法的原理

3.2.2 對分搜索法的實現難點

3.2.3 對分搜索法的計算步驟

3.2.4 對分搜索法的流程圖

3.2.5 對分搜索法的MATLAB程序

3.2.6 實例測試

3.3 三點等間隔搜索法

3.3.1 等間隔搜索原理

3.3.2 三點等間隔搜索法的原理

3.3.3 三點等間隔搜索法的計算步驟

3.3.4 三點等間隔搜索法的流程圖

3.3.5 三點等間隔搜索法的MATLAB程序

3.3.6 實例測試

3.4 Fibonacci搜索法

3.4.1 對稱區間消去原理

3.4.2 對稱區間消去法的縮減率特點

3.4.3 Fibonacci搜索法的原理

3.4.4 Fibonacci搜索法的實現難點

3.4.5 Fibonacci搜索法的計算步驟

3.4.6 Fibonacci搜索法的流程圖

3.4.7 Fibonacci搜索法的MATLAB程序

3.4.8 實例測試

3.5 黃金分割法

3.5.1 黃金分割法的基本原理

3.5.2 黃金分割法與Fibonacci搜索法的關係

3.5.3 黃金分割法的計算步驟

3.5.4 黃金分割法的流程圖

3.5.5 黃金分割法的MATLAB程序

3.5.6 實例測試

3.6 三點二次插值法

3.6.1 三點二次插值法的原理

3.6.2 四種不同的區間消去情況

3.6.3 三點二次插值法的計算步驟

3.6.4 三點二次插值法的流程圖

3.6.5 三點二次插值法的MATLAB程序

3.6.6 實例測試

習題

第4章 非精確一維搜索方法

4.1 非精確一維搜索介紹

4.1.1 非精確一維搜索方法的優勢

4.1.2 非精確一維搜索的問題描述與基本原理

4.1.3 更新步長區間的兩點拋物線插值方法

4.2 Armijo非精確搜索方法

4.2.1 Armijo條件

4.2.2 Armijo非精確搜索方法的計算步驟

4.2.3 Armijo非精確搜索方法的流程圖

4.2.4 Armijo非精確搜索方法的MATLAB程序

4.2.5 實例測試

4.3 Goldstein非精確搜索方法

4.3.1 Goldstein條件

4.3.2 Goldstein非精確搜索方法的計算步驟

4.3.3 Goldstein非精確搜索方法的流程圖

4.3.4 Goldstein非精確搜索方法的MATLAB程序

4.3.5 實例測試

4.4 Wolfe非精確搜索方法

4.4.1 Wolfe條件

4.4.2 Wolfe非精確搜索方法的計算步驟

4.4.3 Wolfe非精確搜索方法的流程圖

4.4.4 Wolfe非精確搜索方法的MATLAB程序

4.4.5 實例測試

4.5 強Wolfe非精確搜索方法

4.5.1 強Wolfe條件

4.5.2 強Wolfe非精確搜索方法的計算步驟

4.5.3 強Wolfe非精確搜索方法的流程圖

4.5.4 強Wolfe非精確搜索方法的MATLAB程序

4.5.5 實例測試

習題

第5章 基本多維無約束優化方法

5.1 多維無約束優化方法介紹

5.1.1 多維無約束優化方法的地位

5.1.2 多維無約束優化問題的描述

5.1.3 多維無約束優化的方法分類

5.1.4 演算法的收斂準則

5.2 最速下降法

5.2.1 最速下降法的原理

5.2.2 最速下降法的特點

5.2.3 最速下降法的計算步驟

5.2.4 最速下降法的流程圖

5.2.5 最速下降法的MATLAB程序

5.2.6 實例測試

5.3 牛頓法

5.3.1 牛頓法的原理

5.3.2 牛頓方向的特點

5.3.3 牛頓法的實現難點

5.3.4 牛頓法的計算步驟

5.3.5 牛頓法的流程圖

5.3.6 牛頓法的MATLAB程序

5.3.7 實例測試

5.4 高斯牛頓法

5.4.1 高斯牛頓法的原理

5.4.2 高斯牛頓法的實現難點

5.4.3 高斯牛頓法的計算步驟

5.4.4 高斯牛頓法的流程圖

5.4.5 高斯牛頓法的MATLAB程序

5.4.6 實例測試

習題

第6章 高級多維無約束優化方法

6.1 共軛梯度法

6.1.1 向量組共軛的相關概念與定理

6.1.2 共軛方向法的基本原理

6.1.3 共軛梯度法的基本原理

6.1.4 共軛梯度法的性質

6.1.5 共軛梯度法的計算步驟

6.1.6 共軛梯度法的流程圖

6.1.7 Dai-Yuan共軛梯度法的MATLAB程序

6.1.8 Hager-Zhang共軛梯度法的MATLAB程序

6.1.9 實例測試

6.2 擬牛頓法

6.2.1 擬牛頓法的基本思想

6.2.2 校正矩陣的構造方法

6.2.3 DFP校正公式

6.2.4 DFP擬牛頓法的性質

6.2.5 Sherman-Morrison公式及BFGS校正公式

6.2.6 DFP/BFGS擬牛頓法的計算步驟

6.2.7 DFP/BFGS擬牛頓法的流程圖

6.2.8 DFP擬牛頓法的MATLAB程序

6.2.9 BFGS擬牛頓法的MATLAB程序

6.2.10 實例測試

習題

第7章 帶約束優化問題的基本概念與理論

7.1 約束的分類及對求解的影響

7.1.1 帶約束優化問題的定義

7.1.2 約束的分類

7.1.3 約束對可行域的影響

7.1.4 帶不等式約束優化問題的可行方向

7.2 帶約束優化問題的最優性條件

7.2.1 幾個重要概念

7.2.2 一階必要條件

7.2.3 KKT條件的幾何解釋

7.2.4 KKT條件的拉格朗日函數表達形式

7.2.5 二階必要條件

7.2.6 二階充分條件

7.2.7 對比無約束優化問題的最優性條件

7.3 凸優化問題的性質

7.4 凸優化問題的對偶性

7.4.1 凸優化問題的拉格朗日對偶問題

7.4.2 原問題與對偶問題之間的理論聯繫

7.5 帶約束優化問題的演算法思想

7.5.1 代入消去思想

7.5.2 積極集思想

7.5.3 內點逼近思想

7.5.4 序列子問題逼近思想

習題

第8章 線性規劃問題的單純形法

8.1 線性規劃問題的模型及基本理論

8.1.1 線性規劃在優化中的地位

8.1.2 線性規劃問題的標準形式及轉換方法

8.1.3 標準型線性規劃問題解的相關概念

8.1.4 線性規劃問題解的基本定理

8.1.5 線性規劃問題最優解的可能情況

8.1.6 線性規劃問題的圖解法

8.1.7 線性規劃問題的窮舉法

8.1.8 線性規劃問題的單純形法

8.1.9 單純形法的難點

8.2 決策變數非負線性規劃問題的單純形法

8.2.1 問題形式

8.2.2 決策變數非負線性規劃問題單純形法的基本原理

8.2.3 通過兩階段法獲取初始可行基

8.2.4 兩階段改進型單純形法的實現難點

8.2.5 兩階段改進型單純形法的計算步驟

8.2.6 兩階段改進型單純形法的流程圖

8.2.7 兩階段改進型單純形法的MATLAB程序

8.2.8 實例測試

8.3 決策變數有界線性規劃問題的單純形法

8.3.1 決策變數有界的標準型線性規劃問題及轉換方法

8.3.2 決策變數有界問題的解的相關概念

8.3.3 問題形式

8.3.4 決策變數有界問題單純形法針對的基本原理

8.3.5 通過兩階段法獲取初始可行基

8.3.6 兩階段改進型單純形法的計算步驟

8.3.7 兩階段改進型單純形法的流程圖

8.3.8 實例測試

8.4 對單純形法的進一步討論

8.4.1 兩類標準型線性規劃問題的關係

8.4.2 線性規劃問題的退化情況

8.4.3 單純形法的收斂性

8.4.4 從凸優化的角度看線性規劃問題

8.4.5 從積極集思想看單純形法

8.4.6 實現單純形法時的其他注意事項

習題

第9章 線性規劃問題的內點法

9.1 內點法的相關概念與基本原理

9.1.1 內點法與單純形法

9.1.2 線性規劃問題的對偶問題與對偶間隔

9.1.3 內點與中心路徑

9.1.4 內點法的基本原理

9.2 原-對偶可行路徑跟蹤法

9.2.1 問題形式

9.2.2 原-對偶可行路徑跟蹤法的基本原理

9.2.3 原-對偶可行路徑跟蹤法的計算步驟

9.2.4 原-對偶可行路徑跟蹤法的流程圖

9.2.5 原-對偶可行路徑跟蹤法的MATLAB程序

9.2.6 實例測試

9.3 原-對偶非可行路徑跟蹤法

9.3.1 原-對偶非可行路徑跟蹤法的基本原理

9.3.2 原-對偶非可行路徑跟蹤法的計算步驟

9.3.3 原-對偶非可行路徑跟蹤法的流程圖

9.3.4 原-對偶非可行路徑跟蹤法的MATLAB程序

9.3.5 實例測試

9.4 帶預測校正的原-對偶路徑跟蹤法

9.4.1 帶預測校正的原-對偶路徑跟蹤法的基本原理

9.4.2 帶預測校正的原-對偶路徑跟蹤法的計算步驟

9.4.3 帶預測校正的原-對偶路徑跟蹤法的流程圖

9.4.4 實例測試

習題

第10章 二次規劃問題的積極集法

10.1 二次規劃問題介紹

10.1.1 二次規劃問題的標準形式及在優化中的地位

10.1.2 凸二次規劃問題

10.2 等式約束凸二次規劃問題的解法

10.2.1 問題形式

10.2.2 基於SVD分解轉化為無約束問題

10.2.3 基於QR分解轉化為無約束問題

10.2.4 基於KKT條件求解

10.2.5 等式約束凸二次規劃問題的解法比較

10.2.6 等式約束凸二次規劃問題的QR分解法計算步驟

10.2.7 等式約束凸二次規劃問題的QR分解法流程圖

10.2.8 等式約束凸二次規劃問題的QR分解法MATLAB程序

10.2.9 實例測試

10.3 凸二次規劃問題的積極集法

10.3.1 問題形式

10.3.2 凸二次規劃的積極集法原理

10.3.3 利用輔助線性規劃問題尋找初始可行點

10.3.4 「構造問題」與最優解的判斷準則

10.3.5 「構造問題」的「等價問題」

10.3.6 待求問題、「構造問題」、「等價問題」之間的關係

10.3.7 尋找使目標函數值更優的可行點

10.3.8 凸二次規劃問題的積極集法的計算步驟

10.3.9 凸二次規劃問題的積極集法的流程圖

10.3.10 凸二次規劃問題的積極集法MATLAB程序

10.3.11 實例測試

習題

第11章 二次規劃問題的內點法

11.1 原-對偶非可行路徑跟蹤法

11.1.1 凸二次規劃問題的內點法

11.1.2 凸二次規劃問題的對偶問題與對偶間隔

11.1.3 原-對偶非可行路徑跟蹤法的基本原理

11.1.4 原-對偶非可行路徑跟蹤法的計算步驟

11.1.5 原-對偶非可行路徑跟蹤法的流程圖

11.1.6 原-對偶非可行路徑跟蹤法的MATLAB程序

11.1.7 實例測試

11.2 帶預測校正的原-對偶路徑跟蹤法

11.2.1 帶預測校正的原-對偶路徑跟蹤法的基本原理

11.2.2 帶預測校正的原-對偶路徑跟蹤法的計算步驟

11.2.3 帶預測校正的原-對偶路徑跟蹤法的流程圖

11.2.4 實例測試

習題

第12章 序列二次規劃方法

12.1 從序列無約束優化到序列二次規劃

12.2 等式約束非線性優化問題的局部SQP方法

12.2.1 問題形式

12.2.2 拉格朗日函數以及相關記號

12.2.3 用牛頓法解待求問題的KKT條件

12.2.4 KKT條件的線性化

12.2.5 SQP方法的基本思想

12.2.6 二次規划子問題的進一步討論

12.2.7 等式約束非線性優化問題的局部SQP方法計算步驟

12.2.8 等式約束非線性優化問題的局部SQP方法流程圖

12.2.9 等式約束非線性優化問題的局部SQP方法MATLAB程序

12.2.10 實例測試

12.3 一般非線性優化問題的局部SQP方法

12.3.1 問題形式

12.3.2 拉格朗日函數以及相關記號

12.3.3 KKT條件的線性化

12.3.4 二次規划子問題的進一步討論

12.3.5 一般非線性優化問題的局部SQP方法計算步驟

12.3.6 一般非線性優化問題的局部SQP方法流程圖

12.3.7 一般非線性優化問題的局部SQP方法MATLAB程序

12.3.8 實例測試

12.4 擴展為全局SQP方法的難點及對策

12.4.1 擴展局部SQP方法的難點

12.4.2 拉格朗日函數Hesse矩陣的BFGS近似

12.4.3 使二次規划子問題有唯一解

12.4.4 效益函數與全局收斂性

12.4.5 二次規划子問題的可行性保證

12.4.6 Maratos效應的克服

12.5 一般非線性優化問題的全局SQP方法

12.5.1 非線性優化問題的全局SQP方法

12.5.2 非線性優化問題的全局SQP方法計算步驟

12.5.3 非線性優化問題的全局SQP方法流程圖

12.5.4 實例測試


http://deeplearning.net

最近follow了這個教程感覺挺好


《Collective Intelligence Programming》


集體智慧編程,機器學習實戰,裡面有大量的實現。


推薦閱讀:

如何設計權重演算法?
Google 如何管理龐大的搜索結果排序規則集合?
如何設計一個演算法實現商品的展示排序按照用戶的點擊量和發布時間綜合排序?
從損失函數的角度解釋為什麼lr做點擊率預測不如GBDT好???
你同意「數據比演算法重要」這個說法嗎?

TAG:演算法 | 數據挖掘 | 數據分析 |