機器學習資源大全

jopen 9年前發布 | 76K 次閱讀 機器學習

本文匯編了一些機器學習領域的框架、庫以及軟件(按編程語言排序)。

C++

計算機視覺

  • CCV —基于C語言/提供緩存/核心的機器視覺庫,新穎的機器視覺庫
  • OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系統。
  • </ul>

    通用機器學習

    • MLPack
    • DLib
    • ecogg
    • shark
    • </ul>

      Closure

      通用機器學習

      • Closure Toolbox—Clojure語言庫與工具的分類目錄
      • </ul>

        Go

        自然語言處理

        • go-porterstemmer—一個Porter詞干提取算法的原生Go語言凈室實現
        • paicehusk—Paice/Husk詞干提取算法的Go語言實現
        • snowball—Go語言版的Snowball詞干提取器
        • </ul>

          通用機器學習

          • Go Learn— Go語言機器學習庫
          • go-pr —Go語言機器學習包.
          • bayesian—Go語言樸素貝葉斯分類庫。
          • go-galib—Go語言遺傳算法庫。
          • </ul>


            數據分析/數據可視化

            • go-graph—Go語言圖形庫。
            • SVGo—Go語言的SVG生成庫。
            • </ul>

              Java

              自然語言處理

              • CoreNLP—斯坦福大學的CoreNLP提供一系列的自然語言處理工具,輸入原始英語文本,可以給出單詞的基本形式(下面Stanford開頭的幾個工具都包含其中)。
              • Stanford Parser—一個自然語言解析器。
              • Stanford POS Tagger —一個詞性分類器。
              • Stanford Name Entity Recognizer—Java實現的名稱識別器
              • Stanford Word Segmenter—分詞器,很多NLP工作中都要用到的標準預處理步驟。
              • Tregex, Tsurgeon and Semgrex —用來在樹狀數據結構中進行模式匹配,基于樹關系以及節點匹配的正則表達式(名字是“tree regular expressions”的縮寫)。
              • Stanford Phrasal:最新的基于統計短語的機器翻譯系統,java編寫
              • Stanford Tokens Regex—用以定義文本模式的框架。
              • Stanford Temporal Tagger—SUTime是一個識別并標準化時間表達式的庫。
              • Stanford SPIED—在種子集上使用模式,以迭代方式從無標簽文本中學習字符實體
              • Stanford Topic Modeling Toolbox —為社會科學家及其他希望分析數據集的人員提供的主題建模工具。
              • 推ter Text Java—Java實現的推特文本處理庫
              • MALLET -—基于Java的統計自然語言處理、文檔分類、聚類、主題建模、信息提取以及其他機器學習文本應用包。
              • OpenNLP—處理自然語言文本的機器學習工具包。
              • LingPipe —使用計算機語言學處理文本的工具包。
              • </ul>


                通用機器學習

                • MLlib in Apache Spark—Spark中的分布式機器學習程序庫
                • Mahout —分布式的機器學習庫
                • Stanford Classifier —斯坦福大學的分類器
                • Weka—Weka是數據挖掘方面的機器學習算法集。
                • ORYX—提供一個簡單的大規模實時機器學習/預測分析基礎架構。
                • </ul>

                  數據分析/數據可視化

                  • Hadoop—大數據分析平臺
                  • Spark—快速通用的大規模數據處理引擎。
                  • Impala —為Hadoop實現實時查詢
                  • </ul>

                    Javascript

                    自然語言處理

                    • 推ter-text-js —JavaScript實現的推特文本處理庫
                    • NLP.js —javascript及coffeescript編寫的NLP工具
                    • natural—Node下的通用NLP工具
                    • Knwl.js—JS編寫的自然語言處理器
                    • </ul>

                      數據分析/數據可視化

                      • D3.js
                      • High Charts
                      • NVD3.js
                      • dc.js
                      • chartjs
                      • dimple
                      • amCharts
                      • </ul>


                        通用機器學習

                        • Convnet.js—訓練深度學習模型的JavaScript庫。
                        • Clustering.js—用JavaScript實現的聚類算法,供Node.js及瀏覽器使用。
                        • Decision Trees—Node.js實現的決策樹,使用ID3算法。
                        • Node-fann —Node.js下的快速人工神經網絡庫。
                        • Kmeans.js—k-means算法的簡單Javascript實現,供Node.js及瀏覽器使用。
                        • LDA.js —供Node.js用的LDA主題建模工具。
                        • Learning.js—邏輯回歸/c4.5決策樹的JavaScript實現
                        • Machine Learning—Node.js的機器學習庫。
                        • Node-SVM—Node.js的支持向量機
                        • Brain —JavaScript實現的神經網絡
                        • Bayesian-Bandit —貝葉斯強盜算法的實現,供Node.js及瀏覽器使用。
                        • </ul>

                          Julia

                          通用機器學習

                          • PGM—Julia實現的概率圖模型框架。
                          • DA—Julia實現的正則化判別分析包。
                          • Regression—回歸分析算法包(如線性回歸和邏輯回歸)。
                          • Local Regression —局部回歸,非常平滑!
                          • Naive Bayes —樸素貝葉斯的簡單Julia實現
                          • Mixed Models —(統計)混合效應模型的Julia包
                          • Simple MCMC —Julia實現的基本mcmc采樣器
                          • Distance—Julia實現的距離評估模塊
                          • Decision Tree —決策樹分類器及回歸分析器
                          • Neural —Julia實現的神經網絡
                          • MCMC —Julia下的MCMC工具
                          • GLM —Julia寫的廣義線性模型包
                          • Online Learning
                          • GLMNet —GMLNet的Julia包裝版,適合套索/彈性網模型。
                          • Clustering—數據聚類的基本函數:k-means, dp-means等。
                          • SVM—Julia下的支持向量機。
                          • Kernal Density—Julia下的核密度估計器
                          • Dimensionality Reduction—降維算法
                          • NMF —Julia下的非負矩陣分解包
                          • ANN—Julia實現的神經網絡
                          • </ul>

                            自然語言處理

                            • Topic Models —Julia下的主題建模
                            • Text Analysis—Julia下的文本分析包
                            • </ul>

                              數據分析/數據可視化

                              • Graph Layout —純Julia實現的圖布局算法。
                              • Data Frames Meta —DataFrames的元編程工具。
                              • Julia Data—處理表格數據的Julia庫
                              • Data Read—從Stata、SAS、SPSS讀取文件
                              • Hypothesis Tests—Julia中的假設檢驗包
                              • Gladfly —Julia編寫的靈巧的統計繪圖系統。
                              • Stats—Julia編寫的統計測試函數包
                              • RDataSets —讀取R語言中眾多可用的數據集的Julia函數包。
                              • DataFrames —處理表格數據的Julia庫。
                              • Distributions—概率分布及相關函數的Julia包。
                              • Data Arrays —元素值可以為空的數據結構。
                              • Time Series—Julia的時間序列數據工具包。
                              • Sampling—Julia的基本采樣算法包
                              • </ul>

                                雜項/演示文稿

                                • DSP —數字信號處理
                                • JuliaCon Presentations—Julia大會上的演示文稿
                                • SignalProcessing—Julia的信號處理工具
                                • Images—Julia的圖片庫
                                • </ul>

                                  Lua


                                  通用機器學習

                                  • Torch7

                                    • cephes —Cephes數學函數庫,包裝成Torch可用形式。提供并包裝了超過180個特殊的數學函數,由Stephen L. Moshier開發,是SciPy的核心,應用于很多場合。
                                    • graph —供Torch使用的圖形包。
                                    • randomkit—從Numpy提取的隨機數生成包,包裝成Torch可用形式。
                                    • signal —Torch-7可用的信號處理工具包,可進行FFT, DCT, Hilbert, cepstrums, stft等變換。
                                    • nn —Torch可用的神經網絡包。
                                    • nngraph —為nn庫提供圖形計算能力。
                                    • nnx—一個不穩定實驗性的包,擴展Torch內置的nn庫。
                                    • optim—Torch可用的優化算法庫,包括 SGD, Adagrad, 共軛梯度算法, LBFGS, RProp等算法。
                                    • unsup—Torch下的非監督學習包。提供的模塊與nn(LinearPsd, ConvPsd, AutoEncoder, …)及獨立算法 (k-means, PCA)等兼容。
                                    • manifold—操作流形的包。
                                    • svm—Torch的支持向量機庫。
                                    • lbfgs—將liblbfgs包裝為FFI接口。
                                    • vowpalwabbit —老版的vowpalwabbit對torch的接口。
                                    • OpenGM—OpenGM是C++編寫的圖形建模及推斷庫,該binding可以用Lua以簡單的方式描述圖形,然后用OpenGM優化。
                                    • sphagetti —MichaelMathieu為torch7編寫的稀疏線性模塊。
                                    • LuaSHKit —將局部敏感哈希庫SHKit包裝成lua可用形式。
                                    • kernel smoothing —KNN、核權平均以及局部線性回歸平滑器
                                    • cutorch—torch的CUDA后端實現
                                    • cunn —torch的CUDA神經網絡實現。
                                    • imgraph—torch的圖像/圖形庫,提供從圖像創建圖形、分割、建立樹、又轉化回圖像的例程
                                    • videograph—torch的視頻/圖形庫,提供從視頻創建圖形、分割、建立樹、又轉化回視頻的例程
                                    • saliency —積分圖像的代碼和工具,用來從快速積分直方圖中尋找興趣點。
                                    • stitch —使用hugin拼合圖像并將其生成視頻序列。
                                    • sfm—運動場景束調整/結構包
                                    • fex —torch的特征提取包,提供SIFT和dSIFT模塊。
                                    • OverFeat—當前最高水準的通用密度特征提取器。
                                    • </ul> </li>

                                    • Numeric Lua
                                    • Lunatic Python
                                    • SciLua
                                    • Lua – Numerical Algorithms
                                    • Lunum
                                    • </ul>

                                      演示及腳本

                                      • Core torch7 demos repository.核心torch7演示程序庫

                                        • 線性回歸、邏輯回歸
                                        • 人臉檢測(訓練和檢測是獨立的演示)
                                        • 基于mst的斷詞器
                                        • train-a-digit-classifier
                                        • train-autoencoder
                                        • optical flow demo
                                        • train-on-housenumbers
                                        • train-on-cifar
                                        • tracking with deep nets
                                        • kinect demo
                                        • 濾波可視化
                                        • saliency-networks
                                        • </ul> </li>

                                        • Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)
                                        • Music Tagging—torch7下的音樂標簽腳本
                                        • torch-datasets 讀取幾個流行的數據集的腳本,包括:

                                          • BSR 500
                                          • CIFAR-10
                                          • COIL
                                          • Street View House Numbers
                                          • MNIST
                                          • NORB
                                          • </ul> </li>

                                          • Atari2600 —在Arcade Learning Environment模擬器中用靜態幀生成數據集的腳本。
                                          • </ul>

                                            Matlab

                                            計算機視覺

                                            • Contourlets —實現輪廓波變換及其使用函數的MATLAB源代碼
                                            • Shearlets—剪切波變換的MATLAB源碼
                                            • Curvelets—Curvelet變換的MATLAB源碼(Curvelet變換是對小波變換向更高維的推廣,用來在不同尺度角度表示圖像。)
                                            • Bandlets—Bandlets變換的MATLAB源碼
                                            • </ul>

                                              自然語言處理

                                              • NLP —一個Matlab的NLP庫
                                              • </ul>

                                                通用機器學習

                                                • Training a deep autoencoder or a classifier on MNIST digits—在MNIST字符數據集上訓練一個深度的autoencoder或分類器[深度學習]。
                                                • t-Distributed Stochastic Neighbor Embedding —獲獎的降維技術,特別適合于高維數據集的可視化
                                                • Spider—Matlab機器學習的完整面向對象環境。
                                                • LibSVM —支持向量機程序庫
                                                • LibLinear —大型線性分類程序庫
                                                • Machine Learning Module —M. A .Girolami教授的機器學習課程,包括PDF,講義及代碼。
                                                • Caffe—考慮了代碼清潔、可讀性及速度的深度學習框架
                                                • Pattern Recognition Toolbox —Matlab中的模式識別工具包,完全面向對象
                                                • </ul>

                                                  數據分析/數據可視化

                                                  • matlab_gbl—處理圖像的Matlab包
                                                  • gamic—圖像算法純Matlab高效實現,對MatlabBGL的mex函數是個補充。
                                                  • </ul>

                                                    .NET

                                                    計算機視覺

                                                    • OpenCVDotNet —包裝器,使.NET程序能使用OpenCV代碼
                                                    • Emgu CV—跨平臺的包裝器,能在Windows, Linus, Mac OS X, iOS, 和Android上編譯。
                                                    • </ul>

                                                      自然語言處理

                                                      • Stanford.NLP for .NET —斯坦福大學NLP包在.NET上的完全移植,還可作為NuGet包進行預編譯。
                                                      • </ul>

                                                        通用機器學習

                                                        • Accord.MachineLearning —支持向量機、決策樹、樸素貝葉斯模型、K-means、高斯混合模型和機器學習應用的通用算法,例如:隨機抽樣一致性算法、交叉驗證、網格搜索。這個包是Accord.NET框架的一部分。
                                                        • Vulpes—F#語言實現的Deep belief和深度學習包,它在Alea.cuBase下利用CUDA GPU來執行。
                                                        • Encog —先進的神經網絡和機器學習框架,包括用來創建多種網絡的類,也支持神經網絡需要的數據規則化及處理的類。它的訓練采用多線程彈性傳播。它也能使用GPU加快處理時間。提供了圖形化界面來幫助建模和訓練神經網絡。
                                                        • Neural Network Designer —這是一個數據庫管理系統和神經網絡設計器。設計器用WPF開發,也是一個UI,你可以設計你的神經網絡、查詢網絡、創建并配置聊天機器人,它能問問題,并從你的反饋中學習。這些機器人甚至可以從網絡搜集信息用來輸出,或是用來學習。
                                                        • </ul>

                                                          數據分析/數據可視化

                                                          • numl —numl這個機器學習庫,目標就是簡化預測和聚類的標準建模技術。
                                                          • Math.NET Numerics— Math.NET項目的數值計算基礎,著眼提供科學、工程以及日常數值計算的方法和算法。支持 Windows, Linux 和 Mac上的 .Net 4.0, .Net 3.5 和 Mono ,Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 以及裝有 PCL Portable Profiles 47 及 344的Windows 8, 裝有 Xamarin的Android/iOS 。
                                                          • Sho —Sho是數據分析和科學計算的交互式環境,可以讓你將腳本(IronPython語言)和編譯的代碼(.NET)無縫連接,以快速靈活的建立原型。這個環境包括強大高效的庫,如線性代數、數據可視化,可供任何.NET語言使用,還為快速開發提供了功能豐富的交互式shell。
                                                          • </ul>

                                                            Python

                                                            計算機視覺

                                                            • SimpleCV—開源的計算機視覺框架,可以訪問如OpenCV等高性能計算機視覺庫。使用Python編寫,可以在Mac、Windows以及Ubuntu上運行。
                                                            • </ul>

                                                              自然語言處理

                                                              • NLTK —一個領先的平臺,用來編寫處理人類語言數據的Python程序
                                                              • Pattern—Python可用的web挖掘模塊,包括自然語言處理、機器學習等工具。
                                                              • TextBlob—為普通自然語言處理任務提供一致的API,以NLTK和Pattern為基礎,并和兩者都能很好兼容。
                                                              • jieba—中文斷詞工具。
                                                              • SnowNLP —中文文本處理庫。
                                                              • loso—另一個中文斷詞庫。
                                                              • genius —基于條件隨機域的中文斷詞庫。
                                                              • nut —自然語言理解工具包。
                                                              • </ul>

                                                                通用機器學習

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!