1. 程式人生 > >GitHub上超過2900星!這份有原理、有程式碼、有Demo的演算法資源火了

GitHub上超過2900星!這份有原理、有程式碼、有Demo的演算法資源火了

最近,有一份很全面的演算法資源在GitHub上火了,不僅有相應的原理介紹和實現程式碼,還提供了Demo,目前GitHub上標星已經突破2900星。
在這裡插入圖片描述
這份資源中,一共有5個演算法,分別是:線性迴歸、邏輯迴歸、K均值演算法、基於高斯分佈的異常檢測、多層感知器(MLP)。

每一個演算法,都會有數學原理解釋、Python實現的示例和互動式的Jupyter Notebook Demo。大多數情況下,這些演算法的解釋,都是基於吳恩達的機器學習課程。

基於這些資源,你可以進行相應的資料訓練、演算法配置,並立即在瀏覽器中檢視結果、圖表和預測。

資源裡都有什麼?

5個演算法, 一共分為了監督學習、無監督學習和神經網路3個類別。每個大的類別,都有相應的介紹,並給出了相應的應用範圍。然後就是相應演算法的資源。

以神經網路為例,這個類別之下的演算法是多層感知器,一共有4個資源。
在這裡插入圖片描述
第一個資源是文件,介紹了神經網路和多層感知器背後的原理與實現邏輯,並提供了相應的參考資料,可以進一步學習。

第二個資源是程式碼,呈現瞭如何用Python實現多層感知器。基本上每一塊程式碼前,都有相應的註釋,標明瞭程式碼的功能和注意事項。

後兩個資源是基於Jupyter Notebook的Demo,用演算法和資料集訓練模型,來進一步的熟悉多層感知器演算法的運用。

一個使用MNIST資料集訓練一個識別手寫數字(0-9)的分類器。另一個使用是Fashion-MNIST資料集,訓練一個衣服分類器。

需要什麼先決條件?
資源的上手門檻不高,最基本的要求就是安裝Python。因為專案中的所有Demo都可以在瀏覽器中執行,所以不需要在本地安裝Jupyter。

所有用於Jupyter Notebook的資料集都可以在data資料夾中找到。

在這裡插入圖片描述
誰幹的好事?
製作這份資源的,是一位名叫Oleksii Trekhleb的烏克蘭工程師,目前正在一家軟體技術諮詢公司EPAM Systems擔任首席軟體工程師。
在這裡插入圖片描述
他說,建立這個儲存庫的目的,不是通過使用第三方庫的“一行程式”來實現機器學習演算法,而是從頭開始實踐這些演算法,從而讓大家能夠更好地理解每個演算法背後的原理。

傳送門
https://github.com/trekhleb/homemade-machine-learning

“我自己是一名從事了5年前端的老程式設計師,辭職目前在做講師,今年年初我花了一個月整理了一份最適合2019年學習的web前端乾貨,從最基礎的HTML+CSS+JS到移動端HTML5到各種框架都有整理,送給每一位前端小夥伴,web前端學習群957389100,這裡是小白聚集地,歡迎初學和進階中的小夥伴。"