從星際2深度學習環境到神經機器翻譯,上手機器學習這些開源項目必不可少
機器學習是用數據來學習、概括、預測的研究。近幾年,隨著數據的開發、演算法的改進以及硬體計算能力的提升,機器學習技術得以快速發展,不斷延伸至新的領域。從模式識別到電子遊戲,開發者們通過訓練 AI 演算法實現了各種各樣好玩的應用:
Richard-An / Wechat_AutoJump
GitHub 地址:
https://github.com/Richard-An/Wechat_AutoJump
AI 玩微信跳一跳的正確姿勢。
SethBling / MarI/O
源碼地址:
https://pastebin.com/ZZmSNaHX
一段用神經網路和遺傳演算法寫的程序,可以玩「超級馬里奧世界」。
lllyasviel / style2paints
GitHub 地址:
https://github.com/lllyasviel/style2paints
AI 漫畫線稿自動上色工具。
tensorflow / magenta
GitHub 地址:
https://github.com/tensorflow/magenta
機器智能音樂與藝術生成器。
jbhuang0604 / awesome-computer-vision
GitHub 地址:
https://github.com/jbhuang0604/awesome-computer-vision
很不錯的計算機視覺資源。
雖然研究者們在機器學習領域取得了讓人興奮的成果,不過我們仍然處於機器學習發展的早期階段。
對於剛接觸機器學習的開發者來講,想要理解什麼是機器學習,首先要搞懂三個部分:輸入、演算法、輸出。
輸入:驅動機器學習的數據
輸入指的是演算法和訓練模型需要的數據集,從源代碼到統計數據,數據集可以包括任何東西:
GSA/data
GitHub 地址:
https://github.com/GSA/data
來自美國總務管理局的分類數據。
GoogleTrends / data
GitHub 地址:
https://github.com/GoogleTrends/data
Google 開源數據的索引
nationalparkservice / data
GitHub 地址:
https://github.com/nationalparkservice/data
一個非官方的美國國家公園資料庫。
fivethirtyeight / data
GitHub 地址:
https://github.com/fivethirtyeight/data
新聞網站 FiveThirtyEight 上的一些代碼和數據。
zalandoresearch / fashion-mnist
GitHub 地址:
https://github.com/zalandoresearch/fashion-mnist
一個類似 MINIST 的時尚產品資料庫。
beamandrew / medical-data
GitHub 地址:
https://github.com/beamandrew/medical-data
機器學習醫療數據清單。
src-d / awesome-machine-learning-on-source-code
GitHub 地址:
https://github.com/src-d/awesome-machine-learning-on-source-code
與機器學習相關的鏈接和論文的代碼。
PAIR-code/facets
GitHub 地址:
https://github.com/PAIR-code/facets
機器學習數據集可視化工具。
由於我們需要這些數據來訓練機器學習演算法,所以獲取高質量的數據集是如今機器學習領域的最大挑戰之一。
演算法:如何處理和分析數據
機器學習演算法可利用數據執行特定的任務,最常見的機器學習演算法有如下幾種:
1.監督學習。
監督學習使用以及標註過的和結構化的數據,通過制定一組輸入數據集合所需的輸出,機器可以學習如何識別目標並且映射到其他的學習任務上。
例如,在決策樹的學習中,數值可通過應用一組輸入數據的決策規則來預估:
igrigorik / decisiontree
GitHub 地址:
https://github.com/igrigorik/decisiontree
基於 ID3 的機器學習決策樹演算法的實現。
2.無監督學習
無監督學習是使用非結構化數據來發現模式和結構的過程。監督學習可能會使用電子表格作為數據的輸入,而無監督學習可能會用來理解一本書或者一篇文章。
例如,無監督學習是自然語言處理中非常流行的方法:
keon / awesome-nlp
GitHub 地址:
https://github.com/keon/awesome-nlp
專門用於自然語言處理(NLP)的資源清單列表。
3.增強學習
增強學習可要求演算法實現一個特定的目標,它通過獎懲的方式使 Agent 行為性能達到最大。
例如,增強學習可以用於開發自動駕駛汽車或者教會一個機器人如何生產物件。
openai / gym
GitHub 地址:
https://github.com/openai/gym
一個用於開發和比較增強學習演算法的工具包。
aikorea / awesome-rl
GitHub 地址:
https://github.com/aikorea/awesome-rl
專門用於強化學習的資源清單。
一些可以用於練習的項目:
umutisik / Eigentechno
GitHub 地址:
https://github.com/umutisik/Eigentechno
音樂循環的主成分分析
jpmckinney / tf-idf-similarity
GitHub 地址:
https://github.com/jpmckinney/tf-idf-similarity
在 Ruby gem 上用 tf * idf 來計算文本之間的相似度。
scikit-learn-contrib / lightning
GitHub 地址:
https://github.com/scikit-learn-contrib/lightning
Python 的大規模線性分類、回歸和排名。
gwding / draw_convnet
GitHub 地址:
https://github.com/gwding/draw_convnet
用於說明卷積神經網路(ConvNet)的 Python 腳本。
一些庫和工具:
scikit-learn / scikit-learn
GitHub 地址:
https://github.com/scikit-learn/scikit-learn
用 Python 實現機器學習。
tensorflow / tensorflow
GitHub 地址:
https://github.com/tensorflow/tensorflow
一個採用數據流圖(data flow graphs),用於數值計算的開源軟體庫
Theano / Theano
GitHub 地址:
https://github.com/Theano/Theano
可以高效定義、優化、評估涉及多維數組數學表達式的 Python 庫。
shogun-toolbox/shogun
GitHub 地址:
https://github.com/shogun-toolbox/shogun
高效的開源機器學習工具。
davisking / dlib
GitHub 地址:
https://github.com/davisking/dlib
用 C++ 編寫的機器學習與數據分析應用工具包。
apache / predictionio
GitHub 地址:
https://github.com/apache/predictionio
面向開發者和機器學習工程師的機器學習伺服器,基於Apache Spark,HBase 和 Spray 。
更多的深度學習框架,可查看文章:
輸出:最終的結果
機器學習的輸出結果可以是一種識別顏色的模式,也可以是簡單的網頁色調分析,或者是某個置信區間里的預估值。總之,輸出的結果可以是任何事情。
獲取輸出結果的方式有以下幾種:
分類:為數據集中的每一個項目生成一個輸出值
回歸:給出數據,預測所考慮變數最可能的值
聚類:將相似模式的數據聚集在一起
以下是幾個應用例子:
deepmind / pysc2
GitHub 地址:
https://github.com/deepmind/pysc2
DeepMind 用增強學習玩星際爭霸2。
gokceneraslan / awesome-deepbio
GitHub 地址:
https://github.com/gokceneraslan/awesome-deepbio
一個用於生物計算領域的深度學習應用程序清單。
buriburisuri / ByteNet
GitHub 地址:
https://github.com/buriburisuri/ByteNet
用 DeepMind ByteNet 實現的,基於 Tensorflow 的法語轉英語翻譯器。
OpenNMT/OpenNMT
GitHub 地址:
https://github.com/OpenNMT/OpenNMT
Torch 上的開源神經機器翻譯。
準備好開始上手機器學習了嗎?
好好利用開源項目來掌握機器學習,你也可以像下面的開發者那樣貢獻出你的資源:
機器學習:
josephmisiti / awesome-machine-learning
GitHub 地址:
https://github.com/josephmisiti/awesome-machine-learning
一些機器學習框架、庫和軟體的清單。
ujjwalkarn/Machine-Learning-Tutorials
GitHub 地址:
https://github.com/ujjwalkarn/Machine-Learning-Tutorials
機器學習和深度學習的教程、文章以及其他的一些資源。
深度學習
awesome-deep-learning
GitHub 地址:
https://github.com/ChristosChristofidis/awesome-deep-learning
一些不錯的深度學習教程、項目和社區。
fastai / courses
GitHub 地址:
https://github.com/fastai/courses
Tensorflow:
jtoy / awesome-tensorflow
GitHub 地址:
https://github.com/jtoy/awesome-tensorflow
TensorFlow 資源清單http://tensorflow.org。
nlintz / TensorFlow-Tutorials
GitHub 地址:
https://github.com/nlintz/TensorFlow-Tutorials
TensorFlow 的簡單教程。
pkmital / tensorflow_tutorials
GitHub 地址:
https://github.com/pkmital/tensorflow_tutorials
一些 TensorFlow 的基礎知識和有趣的應用。
最後再附上兩個程序員佛系注釋,願佛祖保佑你們編程無 Bug。
Guicai-Li/OneDay
GitHub 地址:
https://github.com/Guicai-Li/OneDay
YondoL/Buddha
GitHub 地址:
https://github.com/YondoL/Buddha/blob/master/index.html
上海交通大學博士講師團隊
從演算法到實戰應用
涵蓋 CV 領域主要知識點
手把手項目演示
全程提供代碼
深度剖析 CV 研究體系
輕鬆實戰深度學習應用領域!
TAG:AI研習社 |