如何開始使用Java機器學習
開始Java機器學習的***工具是什么?
這個問題已經(jīng)有一段時間了,但最近這些日子幾乎每個人都在談?wù)撊斯ぶ悄芎蜋C器學習。這已經(jīng)不再是一個保留給科學家和研究者的秘密,而是幾乎實現(xiàn)于每一項新興技術(shù)中。
在下面的章節(jié)中,我們會做一個java的機器學習的主要框架的快速概述,并證明Java機器學習是多么容易上手,不需要你另起爐灶或者從頭開始創(chuàng)建算法。
人類的人工智能
人工智能在一段時間以來是一個廣泛并且炫酷的領(lǐng)域,但總是感覺有點難以觸及,是特別為科學家所做。如果你想創(chuàng)造一個人工智能系統(tǒng),你必須實現(xiàn)你自己的核心算法,并且訓練它們能識別模式,理解圖像并且處理自然語言。
最近關(guān)于這領(lǐng)域的演變使得其對于非研究者能更容易觸及。你現(xiàn)在能容易觸及到相關(guān)算法和工具。你不需要知道你正在做什么,但是能很輕松的提升你應(yīng)用的機器學習能力。
讓機器運轉(zhuǎn)
為了更簡單的闡述,我們決定選出3個項目幫助你開始:
1.Deeplearning4J (DL4J) –開源,分布式,JVM的商業(yè)深度學習lib庫
2. BID Data Project –能夠運行快速、大規(guī)模的機器學習和數(shù)據(jù)挖掘的模式集合
3. Neuroph –面向?qū)ο蟮纳窠?jīng)網(wǎng)絡(luò)
順便說一下, 我們最近發(fā)布了另外一些吸引我們注意的有趣的開源GitHub庫. 下載.
DL4J – 深度學習
DL4J是一個能幫助你配置多層神經(jīng)網(wǎng)絡(luò)的工具。它為JVM提供了深度學習且伴隨快速原型設(shè)計和大規(guī)模定制,同時注重比配置更多的約定。
這個工具是為了幫助已經(jīng)擁有創(chuàng)建和使用神經(jīng)網(wǎng)絡(luò)的理論,但不想親自實現(xiàn)算法的那些人。你可以在海量數(shù)據(jù)上解決特定問題和自定義神經(jīng)網(wǎng)絡(luò)屬性。
DL4J 是由Java語言編寫的,可以兼容任何JVM語言比如 Clojure, Scala, ,Kotlin,并且可以與Hadoop和Spark集成。
可能的使用案例包括評價或推薦系統(tǒng)如(CRM,adtech, churn prevention),預(yù)測分析甚至欺詐檢測。如果你要尋找真實的案例,你可以下載 Rapidminer. 這是使用DL4J的開源平臺,用來為用戶簡化預(yù)測分析過程。
創(chuàng)建一個新的神經(jīng)網(wǎng)絡(luò)如同創(chuàng)建一個新項目一樣容易。
BID Data Project (大數(shù)據(jù)項目)
大數(shù)據(jù)項目是由那些需要處理大量數(shù)據(jù)并且對性能敏感的人創(chuàng)建的。 UC Berkeley項目是由許多硬件、軟件和設(shè)計模式集合而成,能在上使用快速、大規(guī)模的數(shù)據(jù)挖掘。
***個庫是 BIDMach,在單節(jié)點或集群上的常規(guī)機器學習問題都有記錄。你可以使用這個庫管理數(shù)據(jù)源,在CPU或者GPU上優(yōu)化、分配數(shù)據(jù)。
BidMach 里面包括許多流行的機器學習算法,他們團隊正致力于開發(fā)分布式神經(jīng)網(wǎng)絡(luò)、圖形算法和其他模型
其他兩個庫分別是BIDMat和 BIDParse。BIDMat是關(guān)注與數(shù)據(jù)挖掘的快速數(shù)學矩陣庫,BIDParse是GPU加速的自然語言解析。大數(shù)據(jù)項目的其他類庫還包括可視化工具,能夠支持在Spark甚至在安卓運行的類庫。
BIDMach基準比其他解決方案持續(xù)表現(xiàn)出更好的結(jié)果。甚至將其在單一機器上的運行與其他方案在大集群上的運行相比也是如此。在這里可以找到一個完整的基準列表。
Neuroph
neuroph是用來開發(fā)常用的神經(jīng)網(wǎng)絡(luò)構(gòu)架的輕量級java框架。該框架提供了一個java庫以及一個GUI工具(稱為easyNeurons),你可以用它來在java項目中創(chuàng)建和訓練自己的神經(jīng)網(wǎng)絡(luò)。
Neuroph包含一個開源的java類庫和少量對應(yīng)基本神經(jīng)網(wǎng)絡(luò)概念的基類。對于剛開始使用神經(jīng)網(wǎng)絡(luò),或者想知道它們?nèi)绾喂ぷ鞯娜藖碚f,Neuroph是個非常好的墊腳石。
你可以嘗試Neuroph的在線演示,看看它是怎么運行的。提示:界面看起來很舊且過時,但你可以用它來創(chuàng)建美妙的東西。它還得過2013的 Duke’s Choice的獎項。
網(wǎng)絡(luò)視圖
其他項目如何呢?
萬一以上三個項目不是你所需要的,你想為你的項目尋找一些不同的,也沒關(guān)系。如果你在GitHub上搜索“機器學習”,將有1506個Java資源讓你找到合適的工具。
舉個例子, Airbnb中有個有趣的項目是aerosolve,一個設(shè)計成具有人類友好性的機器學習庫。
開始學習一項新的技術(shù)很麻煩,如果您期望得到一些幫助,確保你已經(jīng)下載了Takipi的錯誤分析工具。
***的思考
每隔幾年就會有些關(guān)于人工智能的新聲音。這一次,它伴隨著機器學習,數(shù)據(jù)挖掘,神經(jīng)網(wǎng)絡(luò)等等的強化來了,我們都很支持。這些類庫開源的事實意味著這些信息和能力正待價而沽,而你所有所做的是思考擁有這個能力可以做成什么。
如果你知道其他有趣的項目或者你認為我們漏掉點什么,我們期待在下面的評論里見到它們。