開始Java機(jī)器學(xué)習(xí)的最好工具是什么?
這個(gè)問題已經(jīng)有一段時(shí)間了嫡丙,但最近這些日子幾乎每個(gè)人都在談?wù)撊斯ぶ悄芎?a target="_blank" rel="nofollow">機(jī)器學(xué)習(xí)拴袭。這已經(jīng)不再是一個(gè)保留給科學(xué)家和研究者的秘密,而是幾乎實(shí)現(xiàn)于每一項(xiàng)新興技術(shù)中曙博。
在下面的章節(jié)中拥刻,我們會(huì)做一個(gè)java的機(jī)器學(xué)習(xí)的主要框架的快速概述,并證明Java機(jī)器學(xué)習(xí)是多么容易上手父泳,不需要你另起爐灶或者從頭開始創(chuàng)建算法般哼。
人類的人工智能人工智能在一段時(shí)間以來是一個(gè)廣泛并且炫酷的領(lǐng)域,但總是感覺有點(diǎn)難以觸及惠窄,是特別為科學(xué)家所做蒸眠。如果你想創(chuàng)造一個(gè)人工智能系統(tǒng),你必須實(shí)現(xiàn)你自己的核心算法杆融,并且訓(xùn)練它們能識(shí)別模式楞卡,理解圖像并且處理自然語言。
最近關(guān)于這領(lǐng)域的演變使得其對(duì)于非研究者能更容易觸及脾歇。你現(xiàn)在能容易觸及到相關(guān)算法和工具蒋腮。你不需要知道你正在做什么,但是能很輕松的提升你應(yīng)用的機(jī)器學(xué)習(xí)能力介劫。
讓機(jī)器運(yùn)轉(zhuǎn)為了更簡單的闡述徽惋,我們決定選出3個(gè)項(xiàng)目幫助你開始:
1.Deeplearning4J (DL4J) –開源,分布式座韵,JVM的商業(yè)深度學(xué)習(xí)lib庫
2.BIDData Project –能夠運(yùn)行快速险绘、大規(guī)模的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘的模式集合
3.Neuroph–面向?qū)ο蟮纳窠?jīng)網(wǎng)絡(luò)
順便說一下,我們最近發(fā)布了另外一些吸引我們注意的有趣的開源GitHub庫.下載.
DL4J –深度學(xué)習(xí)
DL4J是一個(gè)能幫助你配置多層神經(jīng)網(wǎng)絡(luò)的工具。它為JVM提供了深度學(xué)習(xí)且伴隨快速原型設(shè)計(jì)和大規(guī)模定制誉碴,同時(shí)注重比配置更多的約定宦棺。
這個(gè)工具是為了幫助已經(jīng)擁有創(chuàng)建和使用神經(jīng)網(wǎng)絡(luò)的理論,但不想親自實(shí)現(xiàn)算法的那些人黔帕。你可以在海量數(shù)據(jù)上解決特定問題和自定義神經(jīng)網(wǎng)絡(luò)屬性代咸。DL4J是由Java語言編寫的,可以兼容任何JVM語言比如Clojure,Scala, ,Kotlin成黄,并且可以與Hadoop和Spark集成呐芥。
可能的使用案例包括評(píng)價(jià)或推薦系統(tǒng)如(CRM逻杖,adtech, churn prevention)思瘟,預(yù)測(cè)分析甚至欺詐檢測(cè)荸百。如果你要尋找真實(shí)的案例,你可以下載 Rapidminer.這是使用DL4J的開源平臺(tái)滨攻,用來為用戶簡化預(yù)測(cè)分析過程够话。
創(chuàng)建一個(gè)新的神經(jīng)網(wǎng)絡(luò)如同創(chuàng)建一個(gè)新項(xiàng)目一樣容易。
BID Data Project (大數(shù)據(jù)項(xiàng)目)
大數(shù)據(jù)項(xiàng)目是由那些需要處理大量數(shù)據(jù)并且對(duì)性能敏感的人創(chuàng)建的光绕。 UC Berkeley項(xiàng)目是由許多硬件女嘲、軟件和設(shè)計(jì)模式集合而成,能在上使用快速诞帐、大規(guī)模的數(shù)據(jù)挖掘欣尼。
第一個(gè)庫是 BIDMach,在單節(jié)點(diǎn)或集群上的常規(guī)機(jī)器學(xué)習(xí)問題都有記錄景埃。你可以使用這個(gè)庫管理數(shù)據(jù)源媒至,在CPU或者GPU上優(yōu)化、分配數(shù)據(jù)谷徙。
BidMach里面包括許多流行的機(jī)器學(xué)習(xí)算法,他們團(tuán)隊(duì)正致力于開發(fā)分布式神經(jīng)網(wǎng)絡(luò)驯绎、圖形算法和其他模型
其他兩個(gè)庫分別是BIDMat和BIDParse完慧。BIDMat是關(guān)注與數(shù)據(jù)挖掘的快速數(shù)學(xué)矩陣庫,BIDParse是GPU加速的自然語言解析剩失。大數(shù)據(jù)項(xiàng)目的其他類庫還包括可視化工具屈尼,能夠支持在Spark甚至在安卓運(yùn)行的類庫。BIDMach基準(zhǔn)比其他解決方案持續(xù)表現(xiàn)出更好的結(jié)果拴孤。甚至將其在單一機(jī)器上的運(yùn)行與其他方案在大集群上的運(yùn)行相比也是如此脾歧。在這里可以找到一個(gè)完整的基準(zhǔn)列表。
Neuroph
neuroph是用來開發(fā)常用的神經(jīng)網(wǎng)絡(luò)構(gòu)架的輕量級(jí)java框架演熟。該框架提供了一個(gè)java庫以及一個(gè)GUI工具(稱為easyNeurons)鞭执,你可以用它來在java項(xiàng)目中創(chuàng)建和訓(xùn)練自己的神經(jīng)網(wǎng)絡(luò)。
Neuroph包含一個(gè)開源的java類庫和少量對(duì)應(yīng)基本神經(jīng)網(wǎng)絡(luò)概念的基類芒粹。對(duì)于剛開始使用神經(jīng)網(wǎng)絡(luò)兄纺,或者想知道它們?nèi)绾喂ぷ鞯娜藖碚f,Neuroph是個(gè)非常好的墊腳石化漆。你可以嘗試Neuroph的在線演示估脆,看看它是怎么運(yùn)行的。提示:界面看起來很舊且過時(shí)座云,但你可以用它來創(chuàng)建美妙的東西疙赠。它還得過2013的 Duke’s Choice的獎(jiǎng)項(xiàng)付材。
其他項(xiàng)目如何呢?
萬一以上三個(gè)項(xiàng)目不是你所需要的,你想為你的項(xiàng)目尋找一些不同的圃阳,也沒關(guān)系伞租。如果你在GitHub上搜索“機(jī)器學(xué)習(xí)”,將有1506個(gè)Java資源讓你找到合適的工具限佩。
舉個(gè)例子葵诈,Airbnb中有個(gè)有趣的項(xiàng)目是aerosolve,一個(gè)設(shè)計(jì)成具有人類友好性的機(jī)器學(xué)習(xí)庫。開始學(xué)習(xí)一項(xiàng)新的技術(shù)很麻煩祟同,如果您期望得到一些幫助作喘,確保你已經(jīng)下載了Takipi的錯(cuò)誤分析工具。
最后的思考
每隔幾年就會(huì)有些關(guān)于人工智能的新聲音晕城。這一次泞坦,它伴隨著機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘砖顷,神經(jīng)網(wǎng)絡(luò)等等的強(qiáng)化來了贰锁,我們都很支持。這些類庫開源的事實(shí)意味著這些信息和能力正待價(jià)而沽滤蝠,而你所有所做的是思考擁有這個(gè)能力可以做成什么豌熄。