關(guān)于機(jī)器學(xué)習(xí),這些開源項(xiàng)目必不可少
雷鋒網(wǎng) AI 研習(xí)社按:本文主要編譯于 Github 的文章「Getting started with machine learning」(原文鏈接: https://github.com/collections/machine-learning )。另外,雷鋒網(wǎng) AI 研習(xí)社在原文的基礎(chǔ)上補(bǔ)充了部分開源項(xiàng)目,為 AI 開發(fā)者提供更加詳細(xì)的 AI 項(xiàng)目和資源。
機(jī)器學(xué)習(xí)是用數(shù)據(jù)來學(xué)習(xí)、概括、預(yù)測的研究。近幾年,隨著數(shù)據(jù)的開發(fā)、算法的改進(jìn)以及硬件計(jì)算能力的提升,機(jī)器學(xué)習(xí)技術(shù)得以快速發(fā)展,不斷延伸至新的領(lǐng)域。從模式識別到電子游戲,開發(fā)者們通過訓(xùn)練 AI 算法實(shí)現(xiàn)了各種各樣好玩的應(yīng)用:
MarI/O
源碼地址: https://pastebin.com/ZZmSNaHX
一段用神經(jīng)網(wǎng)絡(luò)和遺傳算法寫的程序,可以玩「超級馬里奧世界」。
Richard-An/Wechat_AutoJump
GitHub 地址: https://github.com/Richard-An/Wechat_AutoJump
AI 玩微信跳一跳的正確姿勢。
lllyasviel/style2paints
GitHub 地址: https://github.com/lllyasviel/style2paints
AI 漫畫線稿自動(dòng)上色工具。
tensorflow/magenta
GitHub 地址: https://github.com/tensorflow/magenta
機(jī)器智能音樂與藝術(shù)生成器。
jbhuang0604 / awesome-computer-vision
GitHub 地址: https://github.com/jbhuang0604/awesome-computer-vision
很不錯(cuò)的計(jì)算機(jī)視覺資源。
雖然研究者們在機(jī)器學(xué)習(xí)領(lǐng)域取得了讓人興奮的成果,不過我們?nèi)匀惶幱跈C(jī)器學(xué)習(xí)發(fā)展的早期階段。
對于剛接觸機(jī)器學(xué)習(xí)的開發(fā)者來講,想要理解什么是機(jī)器學(xué)習(xí),首先要搞懂三個(gè)部分:輸入、算法、輸出。
輸入:驅(qū)動(dòng)機(jī)器學(xué)習(xí)的數(shù)據(jù)
輸入指的是算法和訓(xùn)練模型需要的數(shù)據(jù)集,從源代碼到統(tǒng)計(jì)數(shù)據(jù),數(shù)據(jù)集可以包括任何東西:
GSA/data
GitHub 地址: https://github.com/GSA/data
來自美國總務(wù)管理局的分類數(shù)據(jù)。
GoogleTrends / data
GitHub 地址: https://github.com/GoogleTrends/data
Google 開源數(shù)據(jù)的索引
nationalparkservice / data
GitHub 地址: https://github.com/nationalparkservice/data
一個(gè)非官方的美國國家公園數(shù)據(jù)庫。
fivethirtyeight / data
GitHub 地址: https://github.com/fivethirtyeight/data
新聞網(wǎng)站 FiveThirtyEight 上的一些代碼和數(shù)據(jù)。
zalandoresearch/fashion-mnist
GitHub 地址: https://github.com/zalandoresearch/fashion-mnist
一個(gè)類似 MINIST 的時(shí)尚產(chǎn)品數(shù)據(jù)庫。
beamandrew / medical-data
GitHub 地址: https://github.com/beamandrew/medical-data
機(jī)器學(xué)習(xí)醫(yī)療數(shù)據(jù)清單。
src-d / awesome-machine-learning-on-source-code
GitHub 地址: https://github.com/src-d/awesome-machine-learning-on-source-code
與機(jī)器學(xué)習(xí)相關(guān)的鏈接和論文的代碼。
PAIR-code/facets
GitHub 地址: https://github.com/PAIR-code/facets
機(jī)器學(xué)習(xí)數(shù)據(jù)集可視化工具。
由于我們需要這些數(shù)據(jù)來訓(xùn)練機(jī)器學(xué)習(xí)算法,所以獲取高質(zhì)量的數(shù)據(jù)集是如今機(jī)器學(xué)習(xí)領(lǐng)域的***挑戰(zhàn)之一。
算法:如何處理和分析數(shù)據(jù)
機(jī)器學(xué)習(xí)算法可利用數(shù)據(jù)執(zhí)行特定的任務(wù),最常見的機(jī)器學(xué)習(xí)算法有如下幾種:
1.監(jiān)督學(xué)習(xí)。
監(jiān)督學(xué)習(xí)使用以及標(biāo)注過的和結(jié)構(gòu)化的數(shù)據(jù),通過制定一組輸入數(shù)據(jù)集合所需的輸出,機(jī)器可以學(xué)習(xí)如何識別目標(biāo)并且映射到其他的學(xué)習(xí)任務(wù)上。
例如,在決策樹的學(xué)習(xí)中,數(shù)值可通過應(yīng)用一組輸入數(shù)據(jù)的決策規(guī)則來預(yù)估:
igrigorik / decisiontree
GitHub 地址: https://github.com/igrigorik/decisiontree
基于 ID3 的機(jī)器學(xué)習(xí)決策樹算法的實(shí)現(xiàn)。
2.無監(jiān)督學(xué)習(xí)
無監(jiān)督學(xué)習(xí)是使用非結(jié)構(gòu)化數(shù)據(jù)來發(fā)現(xiàn)模式和結(jié)構(gòu)的過程。監(jiān)督學(xué)習(xí)可能會(huì)使用電子表格作為數(shù)據(jù)的輸入,而無監(jiān)督學(xué)習(xí)可能會(huì)用來理解一本書或者一篇文章。
例如,無監(jiān)督學(xué)習(xí)是自然語言處理中非常流行的方法:
keon / awesome-nlp
GitHub 地址: https://github.com/keon/awesome-nlp
專門用于自然語言處理(NLP)的資源清單列表。
3.增強(qiáng)學(xué)習(xí)
增強(qiáng)學(xué)習(xí)可要求算法實(shí)現(xiàn)一個(gè)特定的目標(biāo),它通過獎(jiǎng)懲的方式使 Agent 行為性能達(dá)到***。
例如,增強(qiáng)學(xué)習(xí)可以用于開發(fā)自動(dòng)駕駛汽車或者教會(huì)一個(gè)機(jī)器人如何生產(chǎn)物件。
openai / gym
GitHub 地址: https://github.com/openai/gym
一個(gè)用于開發(fā)和比較增強(qiáng)學(xué)習(xí)算法的工具包。
aikorea / awesome-rl
GitHub 地址: https://github.com/aikorea/awesome-rl
專門用于強(qiáng)化學(xué)習(xí)的資源清單。
一些可以用于練習(xí)的項(xiàng)目 :
umutisik / Eigentechno
GitHub 地址: https://github.com/umutisik/Eigentechno
音樂循環(huán)的主成分分析
jpmckinney / tf-idf-similarity
GitHub 地址: https://github.com/jpmckinney/tf-idf-similarity
在 Ruby gem 上用 tf * idf 來計(jì)算文本之間的相似度。
scikit-learn-contrib / lightning
GitHub 地址: https://github.com/scikit-learn-contrib/lightning
Python 的大規(guī)模線性分類、回歸和排名。
gwding / draw_convnet
GitHub 地址: https://github.com/gwding/draw_convnet
用于說明卷積神經(jīng)網(wǎng)絡(luò)(ConvNet)的 Python 腳本。
一些庫和工具:
scikit-learn / scikit-learn
GitHub 地址: https://github.com/scikit-learn/scikit-learn
用 Python 實(shí)現(xiàn)機(jī)器學(xué)習(xí)。
tensorflow / tensorflow
GitHub 地址: https://github.com/tensorflow/tensorflow
一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開源軟件庫
Theano / Theano
GitHub 地址: https://github.com/Theano/Theano
可以高效定義、優(yōu)化、評估涉及多維數(shù)組數(shù)學(xué)表達(dá)式的 Python 庫。
shogun-toolbox/shogun
GitHub 地址: https://github.com/shogun-toolbox/shogun
高效的開源機(jī)器學(xué)習(xí)工具。
davisking / dlib
GitHub 地址: https://github.com/davisking/dlib
用 C++ 編寫的機(jī)器學(xué)習(xí)與數(shù)據(jù)分析應(yīng)用工具包。
apache / predictionio
GitHub 地址: https://github.com/apache/predictionio
面向開發(fā)者和機(jī)器學(xué)習(xí)工程師的機(jī)器學(xué)習(xí)服務(wù)器,基于Apache Spark,HBase 和 Spray 。
更多的深度學(xué)習(xí)框架,可查看文章:
迎來 PyTorch,告別 Theano,2017 深度學(xué)習(xí)框架發(fā)展大盤點(diǎn)
輸出:最終的結(jié)果
機(jī)器學(xué)習(xí)的輸出結(jié)果可以是一種識別顏色的模式,也可以是簡單的網(wǎng)頁色調(diào)分析,或者是某個(gè)置信區(qū)間里的預(yù)估值??傊敵龅慕Y(jié)果可以是任何事情。
獲取輸出結(jié)果的方式有以下幾種:
-
分類:為數(shù)據(jù)集中的每一個(gè)項(xiàng)目生成一個(gè)輸出值
-
回歸:給出數(shù)據(jù),預(yù)測所考慮變量最可能的值
-
聚類:將相似模式的數(shù)據(jù)聚集在一起
以下是幾個(gè)應(yīng)用例子:
deepmind / pysc2
GitHub 地址: https://github.com/deepmind/pysc2
DeepMind 用增強(qiáng)學(xué)習(xí)玩星際爭霸2。
gokceneraslan / awesome-deepbio
GitHub 地址: https://github.com/gokceneraslan/awesome-deepbio
一個(gè)用于生物計(jì)算領(lǐng)域的深度學(xué)習(xí)應(yīng)用程序清單。
buriburisuri / ByteNet
GitHub 地址: https://github.com/buriburisuri/ByteNet
用 DeepMind ByteNet 實(shí)現(xiàn)的,基于 Tensorflow 的法語轉(zhuǎn)英語翻譯器。
OpenNMT/OpenNMT
GitHub 地址: https://github.com/OpenNMT/OpenNMT
Torch 上的開源神經(jīng)機(jī)器翻譯。
準(zhǔn)備好開始上手機(jī)器學(xué)習(xí)了嗎?
好好利用開源項(xiàng)目來掌握機(jī)器學(xué)習(xí),你也可以像下面的開發(fā)者那樣貢獻(xiàn)出你的資源:
機(jī)器學(xué)習(xí):
josephmisiti / awesome-machine-learning
https://github.com/josephmisiti/awesome-machine-learning
一些機(jī)器學(xué)習(xí)框架、庫和軟件的清單。
ujjwalkarn/Machine-Learning-Tutorials
https://github.com/ujjwalkarn/Machine-Learning-Tutorials
機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的教程、文章以及其他的一些資源。
深度學(xué)習(xí)
awesome-deep-learning
https://github.com/ChristosChristofidis/awesome-deep-learning
一些不錯(cuò)的深度學(xué)習(xí)教程、項(xiàng)目和社區(qū)。
fastai / courses
https://github.com/fastai/courses
fast.ai 課程。
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 的基礎(chǔ)知識和有趣的應(yīng)用。
***,雷鋒網(wǎng) (公眾號:雷鋒網(wǎng)) AI 研習(xí)社再附上兩個(gè)程序員佛系注釋,愿佛祖保佑你們編程無 Bug。
Guicai-Li/OneDay
https://github.com/Guicai-Li/OneDay
YondoL/Buddha
https://github.com/YondoL/Buddha/blob/master/index.html