來源:http://www.importnew.com/22663.html
如何開始使用 Java 機器學習

開始Java機器學習的最好工具是什麼?

這個問題已經有一段時間了,但最近這些日子幾乎每個人都在談論人工智能和機器學習。這已經不再是一個保留給科學家和研究者的祕密,而是幾乎實現於每一項新興技術中。

在下面的章節中,我們會做一個java的機器學習的主要框架的快速概述,並證明Java機器學習是多麼容易上手,不需要你另起爐竈或者從頭開始創建算法。

人類的人工智能人工智能在一段時間以來是一個廣泛並且炫酷的領域,但總是感覺有點難以觸及,是特別爲科學家所做。如果你想創造一個人工智能系統,你必須實現你自己的核心算法,並且訓練它們能識別模式,理解圖像並且處理自然語言。

最近關於這領域的演變使得其對於非研究者能更容易觸及。你現在能容易觸及到相關算法和工具。你不需要知道你正在做什麼,但是能很輕鬆的提升你應用的機器學習能力。

讓機器運轉爲了更簡單的闡述,我們決定選出3個項目幫助你開始:

1.Deeplearning4J (DL4J)–開源,分佈式,JVM的商業深度學習lib庫

2.BID Data Project–能夠運行快速、大規模的機器學習和數據挖掘的模式集合

3.Neuroph–面向對象的神經網絡

順便說一下, 我們最近發佈了另外一些吸引我們注意的有趣的開源GitHub庫.下載.

DL4J – 深度學習

DL4J是一個能幫助你配置多層神經網絡的工具。它爲JVM提供了深度學習且伴隨快速原型設計和大規模定製,同時注重比配置更多的約定。

這個工具是爲了幫助已經擁有創建和使用神經網絡的理論,但不想親自實現算法的那些人。你可以在海量數據上解決特定問題和自定義神經網絡屬性。DL4J

是由Java語言編寫的,可以兼容任何JVM語言比如 Clojure, Scala, ,Kotlin,並且可以與Hadoop和Spark集成。

可能的使用案例包括評價或推薦系統如(CRM,adtech, churn

prevention),預測分析甚至欺詐檢測。如果你要尋找真實的案例,你可以下載 Rapidminer.

這是使用DL4J的開源平臺,用來爲用戶簡化預測分析過程。

創建一個新的神經網絡如同創建一個新項目一樣容易。

BID Data Project (大數據項目)

大數據項目是由那些需要處理大量數據並且對性能敏感的人創建的。 UC

Berkeley項目是由許多硬件、軟件和設計模式集合而成,能在上使用快速、大規模的數據挖掘。

第一個庫是 BIDMach,在單節點或集羣上的常規機器學習問題都有記錄。你可以使用這個庫管理數據源,在CPU或者GPU上優化、分配數據。

BidMach 裏麪包括許多流行的機器學習算法,他們團隊正致力於開發分佈式神經網絡、圖形算法和其他模型

其他兩個庫分別是BIDMat和

BIDParse。BIDMat是關注與數據挖掘的快速數學矩陣庫,BIDParse是GPU加速的自然語言解析。大數據項目的其他類庫還包括可視化工具,能夠支持在Spark甚至在安卓運行的類庫。BIDMach基準比其他解決方案持續表現出更好的結果。甚至將其在單一機器上的運行與其他方案在大集羣上的運行相比也是如此。在這裏可以找到一個完整的基準列表。

Neuroph

neuroph是用來開發常用的神經網絡構架的輕量級java框架。該框架提供了一個java庫以及一個GUI工具(稱爲easyNeurons),你可以用它來在java項目中創建和訓練自己的神經網絡。

Neuroph包含一個開源的java類庫和少量對應基本神經網絡概念的基類。對於剛開始使用神經網絡,或者想知道它們如何工作的人來說,Neuroph是個非常好的墊腳石。你可以嘗試Neuroph的在線演示,看看它是怎麼運行的。提示:界面看起來很舊且過時,但你可以用它來創建美妙的東西。它還得過2013的Duke’s Choice的獎項。

如何開始使用 Java 機器學習


其他項目如何呢?

萬一以上三個項目不是你所需要的,你想爲你的項目尋找一些不同的,也沒關係。如果你在GitHub上搜索“機器學習”,將有1506個Java資源讓你找到合適的工具。

舉個例子,

Airbnb中有個有趣的項目是aerosolve,一個設計成具有人類友好性的機器學習庫。開始學習一項新的技術很麻煩,如果您期望得到一些幫助,確保你已經下載了Takipi的錯誤分析工具。

最後的思考

每隔幾年就會有些關於人工智能的新聲音。這一次,它伴隨着機器學習,數據挖掘,神經網絡等等的強化來了,我們都很支持。這些類庫開源的事實意味着這些信息和能力正待價而沽,而你所有所做的是思考擁有這個能力可以做成什麼。


擴展閱讀

java初學者,如何快速學習java

用於Java的5大機器學習庫盤點

使用Java語言從零開始創建區塊鏈

Java HashMap源碼學習

Java併發編程:線程池的使用

相關文章