0
本文作者: 李尊 | 2016-08-08 18:27 |
前言:那些流行的機(jī)器學(xué)習(xí)項(xiàng)目之所以受歡迎,一般是因?yàn)槠涮峁┝艘环N多數(shù)人需要的服務(wù),或是因?yàn)樗鼈兪堑谝粋€(gè)(也許是最好的)針對(duì)特定用戶提供服務(wù)的。那些最流行的項(xiàng)目包括Scikit-learn、TensorFlow、 Theano、MXNet 、Weka 等。根據(jù)個(gè)人使用的工作系統(tǒng)、深度學(xué)習(xí)目標(biāo)不同,不同的人認(rèn)為流行的項(xiàng)目可能會(huì)有些許差異。然而,這些項(xiàng)目共有的特性是它們都面向大量的用戶提供服務(wù)。但是仍然存在很多小型的機(jī)器學(xué)習(xí)項(xiàng)目:pipelines、wrappers、high-level APIs、cleaners等,通常來(lái)說(shuō)這些項(xiàng)目都是針對(duì)小規(guī)模的用戶群提供好用且靈活的服務(wù)。
本文將介紹十種不那么有名的機(jī)器學(xué)習(xí)項(xiàng)目,你也可能從這些項(xiàng)目中獲得一些不錯(cuò)的啟發(fā)。不建議你去嘗試所有的項(xiàng)目,但是如果里面剛好有你需要的某個(gè)功能,請(qǐng)盡管去試一試。
以下即十大你不可忽視的機(jī)器學(xué)習(xí)項(xiàng)目(排名不分先后):
1. Deepy
Deepy由Raphael Shu開(kāi)發(fā),是一個(gè)基于Theano擴(kuò)展深度學(xué)習(xí)框架,它提供了一個(gè)簡(jiǎn)潔的、高階的組件(如LSTMs)、批規(guī)范化、自動(dòng)編碼等功能。Deepy宣稱其框架是十分簡(jiǎn)潔明了的,它的官方文檔和示例也同樣如此。
Deepy工作原理:在給定訓(xùn)練數(shù)據(jù)和參數(shù)(隨機(jī)初始化)下運(yùn)行模型,將錯(cuò)誤(或梯度)反饋并更新參數(shù),這個(gè)過(guò)程反復(fù)進(jìn)行。
2. MLxtend
MLxtend 由Sebastian Raschka開(kāi)發(fā),是一系列有效工具的集合,也是針對(duì)機(jī)器學(xué)習(xí)任務(wù)的擴(kuò)展。Sebastian Raschka提到MLxtend本質(zhì)上是一些有效的工具集,也是與機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)相關(guān)的參考資料。他提到開(kāi)發(fā)MLxtend主要是基于以下幾個(gè)原因:
一些其他地方找不到的特定算法(如序列特征選擇算法、多數(shù)表決分類器、疊加預(yù)估、繪圖決策區(qū)域等)
用于教學(xué)目的(邏輯回歸、Softmax回歸、多層感知器、PCA、PCA內(nèi)核等)這些實(shí)現(xiàn)主要關(guān)注于代碼的可讀性,而不是單純的效率
打包便利:tensorflow、Softmax回歸和多層感知器
MLxtend基本上是Sebastian Raschka所寫(xiě)的一個(gè)機(jī)器學(xué)習(xí)運(yùn)行常用的庫(kù),其中很多功能的實(shí)現(xiàn)都與scikit-learn的API相似,但作者仍在持續(xù)更新中,且作者表示所有的新增特性與創(chuàng)新的算法都會(huì)一起打包在MLxtend中。
3. datacleaner
datacleaner由Randal Olson開(kāi)發(fā),他認(rèn)為自己開(kāi)發(fā)的datacleaner是一個(gè)“能自動(dòng)清除數(shù)據(jù)集并且讓它們便于分析的Python工具?!彼J(rèn)為:datacleaner所做的將會(huì)節(jié)約你大量的編碼和清理數(shù)據(jù)的時(shí)間。
datacleaner還處于開(kāi)發(fā)過(guò)程中,但目前已經(jīng)能夠處理以下常規(guī)(傳統(tǒng)方式下耗時(shí)量巨大的)數(shù)據(jù)清洗任務(wù):
在列的基礎(chǔ)上,用模式或中位數(shù)替換丟失的值
用數(shù)值等價(jià)物對(duì)非數(shù)值變量進(jìn)行編碼等
4. auto-sklearn
auto-sklearn由德國(guó)弗萊堡大學(xué)機(jī)器學(xué)習(xí)自動(dòng)算法小組開(kāi)發(fā),是針對(duì)Scikit-learn環(huán)境的自動(dòng)機(jī)器學(xué)習(xí)工具。
auto-sklearn能將機(jī)器學(xué)習(xí)用戶從算法選擇和高參數(shù)調(diào)整中解救出來(lái),它利用了近期在貝葉斯優(yōu)化、元學(xué)習(xí)和集成構(gòu)筑上研究的優(yōu)勢(shì)。其大致工作原理如下:
5. Deep Mining
Deep Mining由來(lái)自MIT CSAIL實(shí)驗(yàn)室的Sebastien Dubois開(kāi)發(fā),是一個(gè)機(jī)器學(xué)習(xí)深管道自動(dòng)調(diào)諧器。為了盡快實(shí)現(xiàn)最好的分類精度,該軟件將迭代、智能地測(cè)試一些超參數(shù)集。
另外值得一提的是文件夾GCP-HPO包含所有高斯過(guò)程(GCP)的實(shí)現(xiàn)代碼以及基于其基礎(chǔ)上的超參數(shù)優(yōu)化(HPO)。高斯過(guò)程(GCP)可以看作是一種改進(jìn)的版本。這項(xiàng)新技術(shù)被證明優(yōu)于基于GP的超參數(shù)優(yōu)化,已經(jīng)遠(yuǎn)比隨機(jī)搜索表現(xiàn)要好。
6. Rusty Machine
Rusty Machine是基于Rust的機(jī)器學(xué)習(xí)方法,Rust是由Mozilla贊助開(kāi)發(fā)的一種與C和C++較為相似的計(jì)算機(jī)編程語(yǔ)言,其號(hào)稱“Rust是一種系統(tǒng)的編程語(yǔ)言,運(yùn)行速度極快,可以防止錯(cuò)誤,并保證線程安全?!?/p>
Rusty Machine的開(kāi)發(fā)者是否活躍,目前支持一系列想學(xué)習(xí)技術(shù),包括:線性回歸、邏輯回歸、k-均值聚類、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等等。
Rusty Machine還支持?jǐn)?shù)據(jù)結(jié)構(gòu),如內(nèi)置向量和矩陣。作為一種常見(jiàn)的模型接口,Rusty Machine為每個(gè)支持的模型提供了訓(xùn)練和預(yù)測(cè)的功能。
7. scikit-image
scikit-image圖像是針對(duì)SciPy使用Python的圖像處理方法。scikit-image是機(jī)器學(xué)習(xí)嗎?它其實(shí)是一個(gè)機(jī)器學(xué)習(xí)項(xiàng)目(沒(méi)有確切地表示他們必須用機(jī)器學(xué)習(xí)方法),scikit-image就屬于數(shù)據(jù)處理和準(zhǔn)備工具這一類。該項(xiàng)目包括一些圖像處理算法,如點(diǎn)檢測(cè)、濾波、特征選擇和形態(tài)學(xué)等。
示例:
8. NLP Compromise
NLP Compromise是由Javascript語(yǔ)言編寫(xiě)的,其在瀏覽器中進(jìn)行自然語(yǔ)言處理過(guò)程。NLP Compromise非常容易安裝和使用,以下是它的一個(gè)使用范例:
9. Datatest
Datatest是一個(gè)依靠數(shù)據(jù)沖突的測(cè)試集,其由Python編寫(xiě)。
Datatest擴(kuò)展了數(shù)據(jù)校正的測(cè)試工具標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)
Datatest是一種尋找數(shù)據(jù)沖突和準(zhǔn)備的不同方式,如果你的大部分時(shí)間都被花在這個(gè)任務(wù)上,也許換一種新的方法是值得的。
10. GoLearn
GoLearn是一種針對(duì)Go語(yǔ)言的機(jī)器學(xué)習(xí)庫(kù),自稱Go語(yǔ)言機(jī)器學(xué)習(xí)的“內(nèi)置電池”學(xué)習(xí)庫(kù)。簡(jiǎn)潔、易定制是其追求的目標(biāo)。
對(duì)于一些想分支出來(lái)的Python用戶或者想嘗試下機(jī)器學(xué)習(xí)的Go語(yǔ)言用戶來(lái)說(shuō),GoLearn是一個(gè)不錯(cuò)的選項(xiàng)。GoLearn實(shí)現(xiàn)了熟悉的Scikit-learn 適應(yīng)/預(yù)測(cè)界面,可實(shí)現(xiàn)快速預(yù)估測(cè)試和交換。。
GoLearn是一個(gè)成熟的項(xiàng)目,它提供了交叉驗(yàn)證和訓(xùn)練/測(cè)試等輔助功能。如果你還記得的話,之前提到的 Rusty Machine還沒(méi)有實(shí)現(xiàn)這個(gè)功能。如果要嘗試一門新的Go語(yǔ)言的話,GoLearn可能是你所追求的那個(gè)。
總結(jié):以上即十個(gè)機(jī)器學(xué)習(xí)項(xiàng)目概覽,既有小眾卻簡(jiǎn)潔好用的學(xué)習(xí)框架,也有新興語(yǔ)言衍生出來(lái)的學(xué)習(xí)庫(kù)資料。再次重申不建議讀者去嘗試所有的項(xiàng)目,但是如果里面剛好有項(xiàng)目能解決你目前所遇到的問(wèn)題,請(qǐng)盡管去使用。
PS : 本文由雷鋒網(wǎng)獨(dú)家編譯,未經(jīng)許可拒絕轉(zhuǎn)載!
via KDnuggets等
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。