.NET平台機器學習資源匯總,有你想要的么?


   接觸機器學習1年多了,由於只會用C#堆代碼,所以只關注.NET平台的資源,一邊積累,一邊收集,一邊學習,所以在本站第101篇博客到來之際,分享給大家。部分用過的 ,會有稍微詳細點的說明,其他沒用過的,也是我關注的,說不定以后會用上。機器學習並不等於大數據或者數據挖掘,還有有些區別,有些東西可以用來處理大數據的問題或者數據挖掘的問題,他們之間也是有部分想通的,所以這些組件不僅僅可以用於機器學習,也可以用於數據挖掘相關的。

  按照功能把資源分為3個部分,開源綜合與非綜合類,以及其他網站博客等資料。都是能夠在.NET平台使用的。謝謝大家支持,這些組件我日后肯定也會研究其使用,到時候有心得再分享上來。如果有興趣,可以關注本博客。

本文原文地址:http://www.cnblogs.com/asxinyu/p/4422050.html

1.開源綜合類

1.1 AForge.NET

  AForge.NET是一個專門為開發者和研究者基於C#框架設計的,他包括計算機視覺與人工智能,圖像處理,神經網絡,遺傳算法,機器學習,模糊系統,機器人控制等領域。這個框架由一系列的類庫組成。主要包括有:

AForge.Imaging —— 一些日常的圖像處理和過濾器
AForge.Vision —— 計算機視覺應用類庫
AForge.Neuro —— 神經網絡計算庫AForge.Genetic -進化算法編程庫
AForge.MachineLearning —— 機器學習類庫
AForge.Robotics —— 提供一些機器學習的工具類庫
AForge.Video —— 一系列的視頻處理類庫
AForge.Fuzzy —— 模糊推理系統類庫
AForge.Controls—— 圖像,三維,圖表顯示控件

來自:http://baike.haosou.com/doc/1786119-1888850.html

官方網站http://www.aforgenet.com/

  我個人認為這個是.NET平台機器學習和數據挖掘發展時間最長,最好,最全面的開源.NET組件之一。博客園有很多園友寫過專門的使用文章。我本人也只是關注,還沒有使用,因為方向和處理的問題不一樣,暫時還沒有實際應用。源代碼,案例等都非常全面。

1.2 Accord.NET Framework

    Accord.NET Framework是在AForge.NET基礎上封裝和進一步開發來的。功能也很強大,因為AForge.NET更注重與一些底層和廣度,而Accord.NET Framework更注重與機器學習這個專業,在其基礎上提供了更多統計分析和處理函數,包括圖像處理和計算機視覺算法,所以側重點不同,但都非常有用。    

官方網站http://accord-framework.net/

1.3 Math.NET

  不管是機器學習還是數據挖掘,都與數學離不開關系,既然是在.NET平台,那么這個組件以后你也許用得上。Math.NET是.NET平台下最全面的數學計算組件之一,基礎功能非常完善。我的博客有對這個組件的詳細研究:http://www.cnblogs.com/asxinyu/p/4329737.html 。當然更多的功能還得大家自己使用中發掘,畢竟提供了源代碼。Math.NET初衷是開源建立一個穩定並持續維護的先進的基礎數學工具箱,以滿足.NET開發者的日常需求。目前該組件主要分為以下幾個子項目,該組件同時也支持Mono,而且支持的平台也非常廣泛。Math.NET Numerics是核心功能是數值計算。主要是提供日常科學工程計算相關的算法,包括一些特殊函數,線性代數,概率論,隨機函數,微積分,插值,最優化等相關計算功能。詳細的介紹和使用可以參考本站的菜單“Math.NET”,查看目錄。

官方網站http://www.mathdotnet.com/

1.4 Infer.NET

  好吧,上面說的那些很強大,強大一方面是說包括的面廣,一方面是代碼,注釋,資源,案例也很完善。如果說上面那些是大炮,那么我認為這個Infer.NET就是戰斗機,零零散散接觸和研究,以及翻譯它的文檔代碼已經有5個月了,時間越久,越感覺到它的火力之強大。我博客已經發表了2篇翻譯的文檔:http://www.cnblogs.com/asxinyu/p/4329742.html,請關注。

  Infer.NET是微軟劍橋研究院基於.NET平台開發的一款機器推理組件,該組件的采用的是Microsoft Research License Agreement 授權,Non-Commercial Use Only.Infer.NET是一個概率圖模型中(graphical models)用於運行貝葉斯推理機(Bayesian inference)的框架。如果對概率圖模型或者貝葉斯推理的意義不了解,你可以參考一下相關資源文件,在Resources and References page頁面。Infer.NET為各種應用程序所需要推理提供了先進的消息傳遞算法和統計程序。Infer.NET更關注與概率圖編程或者貝葉斯理論的相關應用。這個隨機因素和不確定世界中的很多問題,都可以適用,所以他的強大一方面是專注,另一方面是提供的建模語言。與其他的組件不同,其他組件是算法級,而Infer.NET是建模級別,附帶了各種通用和常見的推理算法。可以通過簡單的代碼來創建模型,按照微軟的話說是MSL建模語言,這也是這個組件讓我肅然起敬的地方,估計也只有微軟的研究人員才會想到這么干一勞永逸的事情。

官方網站http://research.microsoft.com/en-us/um/cambridge/projects/infernet/default.aspx

1.5 numl

  另外一個小巧的,包含比較多的機器學習算法類庫,支持監督式和非監督式學習。支持很多常見的機器學習算法,文檔資源還不錯。包括Cluster,KMeans,PCA,DecisionTree,KNN,NaiveBayes,NeuralNetwork等學習算法,內容也非常豐富,功能強大,同時也包括一些數值計算的實現。這個組件個人認為沒有以上的那么復雜,結構小巧合理,代碼也很優雅。看看下面這段代碼,很快就可以構建一個決策樹學習器進行預測:

 1 var generator = new DecisionTreeGenerator();
 2 generator.Descriptor = Descriptor.Create<Tennis>();
 3 generator.SetHint(false);
 4 
 5 Tennis[] tennis = TennisData.GetData();
 6 
 7 var learned = Learner.Learn(tennis, 0.80, 1000, generator);
 8 
 9 IModel model = learned.Model;
10 double accuracy = learned.Accuracy;
11 
12 Tennis t = new Tennis
13 {
14     Outlook = Outlook.Sunny,
15     Temperature = Temperature.High,
16     Windy = false
17 };
18 
19 Tennis predictedVal = model.Predict(t);

  numl的入門案例和文檔比較全面,如果本身對算法比較了解,熟悉C#,那入門應該不是問題。並且可以通過組件本身構建和解決更加復雜的問題。

官方網站http://numl.net/

1.6 Alglib

  ALGLIB是一個跨平台的數值分析和數據處理函數庫,該函數庫包括開源版本和商業版本。它支持多種編程語言,如C++,C#,Pascal,VBA等,可以在多個操作系統平台上運行,如:Windows,Linux和Solaris。ALGLIB有以下特點:

(1)線性代數(包括矩陣分析);
(2)方程求解(線性和非線性);
(3)插值;
(4)最優化;
(5)快速傅里葉變換;
(6)數值積分;
(7)線性和非線性最小二乘擬合;
(8)常微分方程求解;
(9)特殊函數;
(10)統計(描述統計、假設檢驗);
(11)數據分析(分類、回歸、神經網絡);

官方網站http://www.alglib.net/

2.開源.NET平台非綜合類

2.1 Adaboost算法

1.https://github.com/bgorven/Classifier

2.https://github.com/ElmerNing/Adaboost

2.2 Apriori算法

1.https://github.com/Omar-Salem/Apriori-Algorithm

2.https://github.com/simonesalvo/apriori

2.3 PageRank算法

https://github.com/archgold/pagerank

2.4 NativeBayes(朴素貝葉斯)算法

1.https://github.com/Rekin/Naive-Bayes-Classifier
2.https://github.com/ArdaXi/Bayes.NET
3.https://github.com/amrishdeep/Dragon
4.https://github.com/joelmartinez/nBayes

2.5 kmeans算法

http://visualstudiomagazine.com/articles/2013/12/01/k-means-data-clustering-using-c.aspx

3.其他資源與技術博客

【資源】108個大數據文檔PDF開放下載-整理后打包下載,雖然是大數據的相關資料,主要是PPT等,但也有和機器學習有一點關系,需要的看看;

白話貝葉斯理論及在足球比賽結果預測中的應用和C#實現【附資料】 里面有貝葉斯相關的論文資料,文章本身對朴素貝葉斯的原理也介紹得非常清楚;

數據挖掘領域十大經典算法初探 

機器學習10大經典算法

支持向量機通俗導論(理解SVM的三層境界)

從決策樹學習談到貝葉斯分類算法、EM、HMM

自然語言處理博客 ,包含的內容非常多,可能理論性有點強 http://www.52nlp.cn/

西北工業大學博導聶飛平博客:http://www.escience.cn/people/fpnie/index.html

一個機器學習數據挖掘的博客,有不少資源鏈接:http://www.zhizhihu.com/

http://mlg.eng.cam.ac.uk/mlss09/schedule.htm

 一個機器學習資源集中平台  http://www.kernel-machines.org/software  

算法雜貨鋪——分類算法之朴素貝葉斯分類(Naive Bayesian classification)

最大熵模型介紹

概率圖模型

博客園Bobby0322的博客:http://www.cnblogs.com/Bobby0322/p/4052495.html 中的商務智能與數據挖掘應用系列文章:

  1. 《BI那點兒事》數據挖掘初探
  2. 《BI那點兒事》數據挖掘的主要方法
  3. 《BI那點兒事》淺析十三種常用的數據挖掘的技術
  4. 《BI那點兒事》數據挖掘與相關領域的關系
  5. 《BI那點兒事》Microsoft 關聯算法
  6. 《BI那點兒事》Microsoft 聚類分析算法
  7. 《BI那點兒事》Microsoft 聚類分析算法——三國人物身份划分
  8. 《BI那點兒事》Microsoft 決策樹算法
  9. 《BI那點兒事》Microsoft 決策樹算法——找出三國武將特性分布,獻給廣大的三國愛好者們
  10. 《BI那點兒事》Microsoft 線性回歸算法
  11. 《BI那點兒事》Microsoft 邏輯回歸算法
  12. 《BI那點兒事》Microsoft 邏輯回歸算法——預測股票的漲跌
  13. 《BI那點兒事》Microsoft Naive Bayes 算法
  14. 《BI那點兒事》Microsoft Naive Bayes 算法——三國人物身份划分
  15. 《BI那點兒事》Microsoft 神經網絡算法
  16. 《BI那點兒事》Microsoft 順序分析和聚類分析算法
  17. 《BI那點兒事》Microsoft 時序算法
  18. 《BI那點兒事》Microsoft 時序算法——驗證神奇的斐波那契數列
  19. 《BI那點兒事》數據挖掘各類算法——准確性驗證 

4.我的100篇博客之路

  從2009年8月1日注冊博客園開始,已經有5年多的時間了。這是博客的第100篇正式隨筆文章。在2015年元旦的時候,看着自己的博客很久沒有更新,只有40多篇文章,然后列出了一個寫作計划,初期是至少完成高質量的文章50篇左右。而到現在只有4個月,沒想到我幾乎完成了全年的目標。當然發表的50多篇文章中,我認為高質量和有意義的可能只有40篇,但絲毫沒關系,至少還有很多時間。這些文章是對自己經歷和知識的總結,也是一個提高。在這100篇博客里程碑到來的時候,我簡單的回顧了一下這100篇文章。

第1篇首日瀏覽量到1000的文章:

  XCode使用記錄—使用XCode自動向數據庫插入測試數據(2012-04-25 09:11)  

第1篇首日瀏覽量到3000的文章:

  擁有自己的代碼生成器—Newlife.XCode模板編寫教程 (2012-05-11 08:35)   

第1篇 上博客園頭條的文章:

  挑戰ORM性能——Newlife.XCode下500萬sqlite數據庫的分頁(2012-08-22 12:22)  

第1篇 推薦超過60的文章:

  【原創】開源Word讀寫組件DocX介紹與入門 (2013-02-22 10:35)  24

第1篇 推薦超過80的文章:

  【5.1送禮】國內第一部Matlab和C#.Net混合編程視頻教程【免費】 (2014-04-29 08:02)

第1篇 總瀏覽量超1.6萬的文章:

  【吐槽】VS2012的安裝項目只能用InstallShield Limited Edition (2013-09-07 11:20)

  在所有的100篇隨筆中,有13篇是目錄和鏈接匯總,不能算是寫的隨筆,還有9篇文章是剛開始來博客園的時候,還在學習,技術含量不高。但我也沒刪除,畢竟是一段歷史。加上有2篇關於比特幣和源碼的文章,准確的說不是我寫的,大部分是@大石頭的內容,還有2篇資源和百度吐槽是很隨意臨時寫的,根本沒打算發表在首頁,只是做一個記錄。所以實際比較有技術一點的文章或者心得數量是73篇。這73篇文章中:

在個人認為還不錯的文章中有至少15 篇上了博客園頭條(包括“最多推薦”和“最多評論”以及“編輯推薦”)

1.白話貝葉斯理論及在足球比賽結果預測中的應用和C#實現【附資料】

2.你用過這種奇葩的C#注釋嗎?如何看待 (2015-04-17 10:04)

3.【原創】C#玩高頻數字彩快3的一點體會 (2015-04-11 09:03)

4.【踩坑經歷】一次Asp.NET小網站部署踩坑和解決經歷 (2015-04-01 06:10)

5.【分享】博客美化(4)為博客添加一個智能的文章推薦插件 (2015-03-24 07:55)

6.【原創】Newlife.XCode的常見功能使用(一)查詢與數據初始化 (2015-01-26 08:52)

7.【原創】開源Math.NET基礎數學類庫使用(13)C#實現其他隨機數生成器 (2015-03-18 08:32)

8.【反傳銷】傳銷故事總結—如何盡可能保護自身和家人安全 (2015-03-09 07:37)

9.【反傳銷】春節一個短暫誤入傳銷和脫身的真實故事以及對技術的思考 (2015-03-03 06:10)

10.App亂世,3721離我們有多遠 (2015-02-10 09:24)

11.【原創】開源Word讀寫組件DocX介紹與入門 (2013-02-22 10:35)

12.【原創】C#開源輕量級對象數據庫NDatabase介紹 (2013-02-20 09:35)

13.【原創】.NET開源壓縮組件介紹與入門 (2013-03-05 07:59)

14.【5.1送禮】國內第一部Matlab和C#.Net混合編程視頻教程【免費】 (2014-04-29 08:02)

 另外還有一篇文章被博客園作為編輯推薦文章:

15.【原創】Matlab.NET混合編程技巧之直接調用Matlab內置函數  

    總的來說,文章是非常高效和得到大家的認可的,雖然技術含量不是特別高級,但可能基礎的技術更多的能引起共鳴吧。我想說的是,每一篇文章都是經過很用心的編輯和寫出來的,結果也是非常理想的,得到了很多人的支持和理解,所以才有了如此高效的訪問量和推薦以及評論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM