【機器學習基礎】數(shù)學推導+純Python實現(xiàn)機器學習算法30:系列總結(jié)與感悟
Python機器學習算法實現(xiàn)
Author:louwill
Machine Learning Lab
? ? ?
? ? ?終于到了最后的總結(jié)。從第一篇線性回歸的文章開始到現(xiàn)在,已經(jīng)接近有兩年的時間了。當然,也不是純寫這30篇文章用了這么長時間,在第14篇Ridge回歸之后中間斷更了10個多月,好在今年抽出時間把全部補齊了。
一點總結(jié)
? ? ?整個系列對常用的、主流的機器學習模型與算法進行了梳理,主題只有兩個,一個是數(shù)學推導,一個手寫實現(xiàn)。因為機器學習原理大多都是由數(shù)學支撐,基本的機器學習數(shù)學公式推導對于深入掌握機器學習十分重要;另一方面,通過手寫實現(xiàn)機器學習算法,深入理解算法細節(jié),進一步提高算法實現(xiàn)的代碼能力。
? ? ?在完成這項工作的過程中,很多朋友都有問過我,所有的算法是否都是我自己寫的。當然不是,作為一名普通的學習者,不可能獨自閉門造車的完成這項工作,在公式推導和代碼實現(xiàn)過程中,筆者曾大量參考借鑒了各種博客、教材和GitHub相關(guān)倉庫,總體而言也是一項集成性的工作。還有一個問題就是很多朋友也會問,說好的手寫呢,怎么你LightGBM調(diào)了包了呢。其實不光是LightGBM調(diào)了包,筆者在寫支持向量機的時候調(diào)用了cvxopt求解二次規(guī)劃,貝葉斯網(wǎng)絡用了pgmpy,CatBoost調(diào)用了原生的catboost庫,最大熵模型也調(diào)用了maxentropy等。一方面是中間確實偷了懶,一方面也是因為部分算法系統(tǒng)過于復雜,一部分未完成的工作會留到下半年繼續(xù)。
? ? ?全部模型和算法整理成思維導圖如下:

? ? ?按照模型類型分為監(jiān)督學習模型、無監(jiān)督學習模型和概率模型三大類:

監(jiān)督模型

無監(jiān)督模型

概率模型
全部30講如下:
數(shù)學推導+純Python實現(xiàn)機器學習算法1:線性回歸
數(shù)學推導+純Python實現(xiàn)機器學習算法2:邏輯回歸
數(shù)學推導+純Python實現(xiàn)機器學習算法3:k近鄰
數(shù)學推導+純Python實現(xiàn)機器學習算法4:決策樹之ID3算法
數(shù)學推導+純Python實現(xiàn)機器學習算法5:決策樹之CART算法
數(shù)學推導+純Python實現(xiàn)機器學習算法6:感知機
數(shù)學推導+純Python實現(xiàn)機器學習算法7:神經(jīng)網(wǎng)絡
數(shù)學推導+純Python實現(xiàn)機器學習算法8:線性可分支持向量機
數(shù)學推導+純Python實現(xiàn)機器學習算法9:線性支持向量機
數(shù)學推導+純Python實現(xiàn)機器學習算法10:線性不可分支持向量機
數(shù)學推導+純Python實現(xiàn)機器學習算法11:樸素貝葉斯
數(shù)學推導+純Python實現(xiàn)機器學習算法12:貝葉斯網(wǎng)絡
數(shù)學推導+純Python實現(xiàn)機器學習算法13:Lasso回歸
數(shù)學推導+純Python實現(xiàn)機器學習算法14:Ridge嶺回歸
數(shù)學推導+純Python實現(xiàn)機器學習算法15:GBDT
數(shù)學推導+純Python實現(xiàn)機器學習算法16:Adaboost
數(shù)學推導+純Python實現(xiàn)機器學習算法17:XGBoost
數(shù)學推導+純Python實現(xiàn)機器學習算法18:LightGBM
數(shù)學推導+純Python實現(xiàn)機器學習算法19:CatBoost
數(shù)學推導+純Python實現(xiàn)機器學習算法20:隨機森林
數(shù)學推導+純Python實現(xiàn)機器學習算法21:最大熵模型
數(shù)學推導+純Python實現(xiàn)機器學習算法22:EM算法
數(shù)學推導+純Python實現(xiàn)機器學習算法23:CRF條件隨機場
數(shù)學推導+純Python實現(xiàn)機器學習算法24:HMM隱馬爾可夫模型
數(shù)學推導+純Python實現(xiàn)機器學習算法25:kmeans聚類
數(shù)學推導+純Python實現(xiàn)機器學習算法26:PCA降維
數(shù)學推導+純Python實現(xiàn)機器學習算法27:LDA線性判別分析
數(shù)學推導+純Python實現(xiàn)機器學習算法28:奇異值分解SVD
數(shù)學推導+純Python實現(xiàn)機器學習算法29:馬爾可夫鏈蒙特卡洛
數(shù)學推導+純Python實現(xiàn)機器學習算法30:系列總結(jié)與感悟
下一步的工作
? ? ?下一步,筆者將在30講的基礎上繼續(xù)進行完善和梳理,在深度上進行挖掘,并將系列整理改寫為書稿,預計于明年年初成稿。完整版的代碼將繼續(xù)在我的GitHub進行更新完善,感謝各位關(guān)注。GitHub地址如下或者閱讀原文:
https://github.com/luwill/machine-learning-code-writing
? ? ?另外,對本系列接下來的改寫有建議和想法的朋友可以直接加我微信溝通。
往期精彩回顧
獲取一折本站知識星球優(yōu)惠券,復制鏈接直接打開:
https://t.zsxq.com/yFQV7am
本站qq群1003271085。
加入微信群請掃碼進群:
