原文javascript
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,從新組織已有的知識結構使之不斷改善自身的性能。機器學習牽涉的編程語言十分之廣,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。php
爲了讓開發者更加普遍、深刻地瞭解機器學習,雲棲社區組織翻譯了GitHub Awesome Machine Learning 資源,涵蓋24種編程語言的機器學習的框架、庫以及其餘相關資料。html
目錄
C前端
通用機器學習java
- Recommender – 一個C語言庫,利用協同過濾(CF)進行產品推薦/建議;
- Darknet -是一個用C和CUDA編寫的開源神經網絡框架,它速度快,易於安裝,並支持CPU和GPU計算。
計算機視覺node
- CCV -基於C語言、高速緩存的核計算機視覺庫,是一個現代化的計算機視覺庫;
- VLFeat -開放、可便攜的計算機視覺算法庫,內有matlab工具箱。
語音識別python
- HTK -隱馬爾可夫模型工具包(HTK)是一個便攜式工具包,用於構建和操做隱馬爾可夫模型。
C++ios
計算機視覺git
- OpenCV -OpenCV自帶C ++、C、Python、Java和MATLAB接口,並支持Windows、Linux、Android版和Mac OS等系統;
- DLib -DLib有C ++和Python接口,用於人臉檢測和訓練通用的目標探測器;
- EBLearn -Eblearn是一種面向對象的C++庫,可以實現各類機器學習模型;
- VIGRA -VIGRA是通用跨平臺的C++計算機視覺和機器學習庫,可以用Python綁定任意維度的體積。
通用機器學習github
天然語言處理
語音識別
- Kaldi -Kaldi是用於語音識別的工具包,用C++編寫,由Apache許可證V2.0協議受權,專門給語音識別的研究人員使用。
序列分析
- ToPS -這是一種面向對象的框架,便於在用戶定義的字母序列中整合機率模型。
手勢檢測
- grt -手勢識別工具包(GRT)是一個跨平臺、開源的C++機器學習庫,用於實時的手勢識別。
Common Lisp
通用機器學習
Clojure
天然語言處理
通用機器學習
- Touchstone – Clojure A/B 測試庫;
- Clojush – Clojure中的Push程序語言和PushGP遺傳編程系統;
- Infer – Clojure中分析和機器學習的工具;
- Clj-ML – Clojure中基於Weka及其相關環境的深度學習庫;
- Encog – 在Clojure中封裝成Encog (v3) (專門研究神經網絡的機器學習框架);
- Fungp – Clojure中的遺傳編程實例庫;
- Statistiker – Clojure中基礎機器學習算法;
- clortex -採用Numenta’s Cortical 學習算法的通用機器學習庫;
- comportex – 採用Numenta’s Cortical 學習算法的功能組合的機器學習庫。
數據分析/數據可視化
- Incanter – Incanter是基於 Clojure,相似R的統計計算與製圖平臺;
- PigPen – Clojure中的Map-Reduce;
- Envision – 基於Statistiker和D3Clojure 數據可視化庫。
Erlang
通用機器學習
- Disco– Erlang中的Map Reduce模型。
Go
天然語言處理
通用機器學習
- Go Learn – Go語言中的機器學習庫;
- go-pr – Go語言中的模式識別包;
- go-ml – 線性/邏輯迴歸、神經網絡、協同過濾和多元高斯分佈;
- bayesian – Go語言中樸素貝葉斯分類庫;
- go-galib – Go語言版的遺傳算法庫;
- Cloudforest – GO語言中的決策樹集合;
- gobrain – GO語言版的神經網絡;
- GoNN – GoNN 是用Go語言實現的神經網絡,它包括BPNN、RBF、PCN ;
- MXNet – 輕量級、便攜式、靈活的分佈式/深度學習系統,可對動態的、突變數據流調度部署,同時也支持Python、R、Julia、Go、Javascript 等編程語言。
數據分析/數據可視化
Haskell
通用機器學習
Java
天然語言處理
通用機器學習
- aerosolve – 是由Airbnb設計的訂價建議系統的機器學習庫;
- Datumbox -應對機器學習和統計應用快速發展的機器學習框架;
- ELKI – 用於數據挖掘的Java工具包(無監督:聚類、異常檢測等等);
- Encog – 一種先進的神經網絡和機器學習框架。 Encog包含用於建立各種網絡的類,同時也支持爲神經網絡規範和處理數據的類。它的訓練採用多線程彈性傳播。它也能使用GPU加快處理時間。提供了圖形化界面來幫助建模和訓練神經網絡。
- EvA2 – 包含遺傳算法、差分進化、協方差自適應進化策略等等的進化算法框架;
- FlinkML in Apache Flink – Flink中的分佈式機器學習庫;
- H2O – 深度學習引擎,支持在Hadoop、Spark 或者經過R、Python、Scala 、REST/JSONML 的APIs連到的筆記本上進行分佈式學習;
- htm.java – 採用Numenta Cortical 學習算法的通用機器學習庫 ;
- java-deeplearning – Java、Clojure、Scala的分佈式深度學習平臺;
- JAVA-ML – 包含全部Java算法的通用接口的通用深度學習庫;
- JSAT – 用於分類、迴歸、聚類的機器學習算法集合;
- Mahout – 分佈式的機器學習庫;
- Meka – MEKA提供了一個面向多標籤學習和評價方法的開源實現(擴展成Weka);
- MLlib in Apache Spark – Spark中的分佈式機器學習程序庫;
- Neuroph – Neuroph 是輕量級的Java神經網絡框架;
- ORYX – 採用Apache Spark和Apache Kafka的Lambda 結構框架,專門用於實時大規模機器學習;
- Samoa – SAMOA 是一個包含用於分佈式機器學習數據流的框架,同時爲數據流流入不一樣的流處理平臺提供了接口;
- RankLib – RankLib是一個排序學習算法庫;
- rapaio – Java中用於統計、數據挖掘和機器學習的工具箱;
- RapidMiner – RapidMiner integration into Java code
- Stanford Classifier – 斯坦福大學分類器是一種機器學習工具,它能夠將數據項歸置不一樣的類別中;
- SmileMiner – 統計機器智能與學習引擎;
- SystemML – 靈活、可擴展的機器學習語言;
- WalnutiQ – 人腦部分面向對象模型;
- Weka – Weka是數據挖掘方面的機器學習算法集 。
語音識別
- CMU Sphinx – CMU Sphinx 是基於Java 語音識別庫,用於純語音識別開源工具包。
數據分析/數據可視化
深度學習
數 Javascript
天然語言處理
數據分析/數據可視化
通用機器學習
其它
Julia
通用機器學習
天然語言處理
數據分析/數據可視化
其餘項/展現
機器學習(Machine Learning, ML)是一門多領域交叉學科,涉及機率論、統計學、逼近論、凸分析、算法複雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,從新組織已有的知識結構使之不斷改善自身的性能。機器學習牽涉的編程語言十分之廣,包括了MATLAB、Julia、R、Perl、Python、Clojure、Ruby等等。
爲了讓開發者更加普遍、深刻地瞭解機器學習,雲棲社區組織翻譯了GitHub Awesome Machine Learning 資源,涵蓋24種編程語言的機器學習的框架、庫以及其餘相關資料。
Lua
通用機器學習
Torch7
- cephes – 由Torch包裝的Cephes數學函數庫,由Stephen L. Moshier開發,庫中提供幷包裝了從Cephes數學庫中的180多個特殊的數學函數,是SciPy的核心,做用普遍;
- autograd – Autograd自動區分本機Torch代碼,受原始的Python版本的啓發;
- graph – Torch的圖形包;
- randomkit – 從Numpy提取的隨機數生成包,包裝成Torch可用形式;
- signal – 適用Torch-7的信號處理工具箱,包括FFT、DCT、Hilbert、cepstrums、stft等變換;
- nn – Torch的神經網絡包;
- nngraph – 此軟件包爲Torch7 nn庫提供圖形計算;
- nnx – 一個不穩定的實驗包,可以擴展Torch的內置nn庫;
- rnn – 可以擴展Torch nn庫的遞推神經網絡庫,包括RNNs、LSTMs、GRUs、BRNNs、BLSTMs等等;
- dpnn – 許多有用的功能,並非主要的神經網絡包的一部分;
- dp – 深度學習庫,專門使用Torch7分配進行合理化的研究和開發,它強調經過優雅地使用面向對象的設計模式,從而實現靈活性;
- optim – 針對Torch的優化庫,包括Adagrad、共軛梯度、LBFGS, RProp等算法;
- unsup – Torch中的無監督學習包,提供了與nn相兼容的模塊((LinearPsd、ConvPsd、AutoEncoder等),以及獨立的算法(k-均值、PCA);
- manifold – 操做流形的包;
- svm – Torch的支持向量機庫;
- lbfgs – 針對liblbfgs的FFT包;
- vowpalwabbit – torch的舊式vowpalwabbit接口;
- OpenGM – OpenGM是一個用於圖形化建模和推斷的C++庫, Lua binding提供了一種簡單的描繪圖形的方法,用Lua描繪,再用OpenGM優化;
- sphagetti – @MichaelMathieu開發的用於torch7的Spaghetti(稀疏線型)模塊;
- 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 – 當前最早進的通用密集特徵提取方式。
Numeric Lua
Lunatic Python
SciLua
Lua – Numerical Algorithms
Lunum
演示與腳本
torch7核心演示資源庫
- 線性迴歸,邏輯迴歸;
- 面部檢測器(訓練和檢測做爲獨立的演示);
- 基於mst的分段器;
- train-a-digit-classifier
- train-autoencoder
- optical flow demo
- train-on-housenumbers
- train-on-cifar
- 深層網絡追蹤;
- Kinect 演示;
- 濾波組件可視化;
- 網絡卓越度;
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
Atari2600 – 從Arcade學習環境的靜態幀中生成數據集的腳本。
Matlab
計算機視覺
天然語言處理
通用機器學習
數據分析/數據可視化
- matlab_gbl – 處理圖形問題的MATLAB程序包;
- gamic – 圖形算法用純Matlab高效實現,以補充MatlabBGL的MEX函數;
.NET
計算機視覺
- OpenCVDotNet – OpenCV工程封裝器,用於.NET應用程序;
- Emgu CV – OpenCV的跨平臺封裝器,可在Mono中編譯,並運行於Windows、Linus、Mac OS X、 iOS、Android等系統;
- AForge.NET – 開放源碼C#框架,用於計算機視覺和人工智能領域的開發和研究人員,目前已轉移到GitHub發展;
- Accord.NET -連同AForge.NET,可爲Windows、Windows RT和Windows Phone提供圖像處理和計算機視覺算法,一些組件適用於Java和Android;
天然語言處理
通用機器學習
- Accord-Framework – 完整的Accord.NET框架,用於機器學習,計算機視覺,計算機試聽,信號處理和統計應用;
- Accord.MachineLearning –該軟件包是Accord.NET框架的一部分,包括支持向量機、決策樹、樸素貝葉斯模型、K均值、高斯混合模型和一些通用算法,例如適用於機器學習應用的RANSAC、交叉驗證和網格搜索;
- DiffSharp – 一個自動微分(AD)庫,可以提供精確高效,用於機器學習和優化應用的導數(梯度、Hessians、雅可比行列式、方向導數、無矩陣Hessian-和雅可比矢量積),操做能夠嵌套到任何級別,這意味着你能夠經過利用內部微分,來計算精確的高階導數,如超參數優化函數的應用;
- Vulpes – F#寫的Deep belief與深度學習的實現,並在Alea.cuBase下用CUDA GPU執行;
- Encog –一種先進的神經網絡和機器學習框架。 Encog包含用於建立各種網絡的類,同時也支持爲神經網絡規範和處理數據的類。它的訓練採用多線程彈性傳播。同時使用GPU加快處理時間,此外還提供了圖形化界面來幫助建模和訓練神經網絡;
- Neural Network Designer – DBMS管理系統和神經網絡的設計平臺,該設計應用程序使用WPF開發,是一個用戶界面,容許用戶設計本身的神經網絡,查詢網絡,建立和配置可以提出問題、並能從反饋中學習的聊天機器人,聊天機器人甚至能夠蒐集Internet上的信息,以便在返回時輸出,或者用於學習;
數據分析/數據可視化
- 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 – 用於數據分析和科學計算的交互環境,可使用編譯代碼(.NET)無縫鏈接腳本(用IronPython),以實現快速、靈活的原型設計;該環境包括線性代數、數據可視化等強大高效的庫,可供任何.NET語言使用,還爲快速開發提供了功能豐富的交互式shell。
Objective
通用機器學習
OCaml
通用機器學習
- Oml – 通用的統計學和機器學習庫;
- GPR – OCaml中高效的高斯過程迴歸算法;
- Libra-Tk – 用離散機率模型學習和推理的算法。
PHP
天然語言處理
通用機器學習
Python
計算機視覺
天然語言處理
- NLTK -用人類語言數據編寫Python程序的一個領先平臺;
- Pattern – Python編程語言的Web挖掘模塊,有用於天然語言處理、機器學習等的工具;
- Quepy –一個Python框架,將天然語言問題轉換成數據庫查詢語言;
- TextBlob – 給常規的天然語言處理(NLP)任務提供一致的API,以NLTK和Pattern爲基礎,並和二者都能很好兼容;
- YAlign – 語句校準器,較好地用於從比較語料庫中提取並行語句;
- jieba -中文分詞工具;
- SnowNLP –用於處理中文文本的庫;
- spammy – 建在NLTK之上的庫,用於垃圾郵件過濾;
- loso – 另外一箇中文分詞庫;
- genius – 基於條件隨機域的中文斷詞庫;
- KoNLPy – 用於韓語天然語言處理的Python包;
- nut -天然語言理解工具包;
- Rosetta -文本處理工具和包裝器(例如Vowpal Wabbit);
- BLLIP Parser – Python綁定的BLLIP天然語言解析器(也稱爲Charniak-Johnson解析器);
- PyNLPl – Python的天然語言處理庫,Python的通用NLP庫,還包含一些特定模塊,用於常規的NLP格式分析,尤爲是FoLiA和ARPA語言模型,Moses phrasetables,GIZA++ alignments等;
- python-ucto – Python綁定的ucto(包括Unicode,基於規則,各類語言的的標記生成器);
- python-frog – Python綁定的Frog,用於Dutch的NLP套件(詞性標註,詞性還原,依存分析,NER);
- python-zpar – Python綁定的ZPar,統計性的部分詞性標註,constiuency解析器和英語依存句法分析;
- colibri-core – Python綁定的C++庫,用於以快速和存儲器高效的方式提取並使用基本語言結構,例如-grams 和skipgrams;
- spaCy – 使用Python和Cython,NLP的產業優點;
- PyStanfordDependencies –Python接口,用於將Penn Treebank樹轉換成Stanford Dependencies;
通用機器學習
數據分析/數據可視化
雜項腳本/iPython筆記/代碼庫
Kaggle競賽源碼
Ruby
天然語言處理
通用機器學習
數據分析/數據可視化
雜項
Rust
通用機器學習
R
通用機器學習
數據分析/數據可視化
SAS
通用機器學習
數據分析/數據可視化
高性能機器學習
天然語言處理
示例和腳本
Scala
天然語言處理
- ScalaNLP – ScalaNLP一系列機器學習和數值計算庫的集合;
- Breeze – Breeze是Scala中的的數值處理庫;
- Chalk – Chalk是一個天然語言處理庫.
- FACTORIE – FACTORIE是可部署的機率建模工具包,用Scala實現的軟件庫。爲用戶提供簡潔的語言來建立關係因素圖,評估參數並進行推斷 。
數據分析/數據可視化
通用機器學習
Swift
通用機器學習
- Swift AI – Swift語言編寫的高度優化的人工智能和機器學習;
- BrainCore – 支持iOS和 OS X的神經網絡框架;
- DeepLearningKit–支持蘋果iOS OS X和tvOS系統的開源深度學習框架。目前支持在蘋果操做系統上利用Caffe訓練深度卷積網絡模型;
- AIToolbox – A toolbox framework of AI modules written in Swift: Swift語言編寫的人工智能(AI)模型工具框架:圖/樹、線性迴歸、支持向量機、神經網絡、PCA、KMeans、遺傳算法、MDP和 混合高斯模型。
做者:readilen 連接:https://www.jianshu.com/p/d556af7de634 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。