華文網

2017最受歡迎人工智慧程式設計語言:Python第一,R並未上榜

7. Haskell

Haskell 是1990年開發的強靜態類型,非限定性程式設計語言。由於Haskell開發人員不多,小公司很少嘗試Haskell。

Haskell 做得很好的是抽象(抽象數學,而不是Java OOP)。它允許具有表達性的、高效的庫表達AI演算法。例如,HLearn使用常見的代數結構(模組,單群等)來表達和提高簡單機器學習演算法速度。

雖然你可以用任何語言編寫這些演算法,但Haskell相比其他語言更具表現力,

同時保持不錯的性能。例如,Haskell寫的faster cover trees 。

Haskell支援領域特定語言(embedded domain-specific languages),這是一個著名的程式設計語言研究領域,適用於包括人工智慧在內的許多領域。具體來說,它對概率程式設計來說很好,並能幫助開發人員在編譯時發現錯誤。

該語言具有CUDA綁定,並被編譯為位元組碼(bytecode)。由於函數程式設計和靜態,代碼可以輕鬆地在雲上的不同CPU上執行。行業採用方面,Facebook使用Haskell打擊垃圾郵件。

6. JavaScript

JavaScript 是一種高級、物件導向的直譯語言,主要用於使網頁交互和創建線上程式,包括遊戲。

在JavaScript中,學習對話模型並不重要。學習伺服器端的資料,然後通過Ajax調用學習者進行預測。 JavaScript有很多好用的庫,我們總結其中3個:

ConventJS:實現深度學習的庫——在流覽器中訓練卷積神經網路。

它支援完全連接的層以及非線性神經網路模組,分類和回歸成本函數。

Synaptic:一個用於node.js.的神經網路庫。 其通用演算法是無架構的,可以用於開發和訓練幾乎所有類型的一階和二階神經網路架構。

Mind:它使用矩陣實現來處理訓練資料。你可以完全自訂網路拓撲和上傳/下載已學習的minds。

簡而言之,你不必重新造輪子,只需確定AI要做什麼類型的“learning”。

5. Prolog

Prolog是一種與計算語言和人工智慧相關的邏輯程式設計語言和語義推理引擎。它具有靈活而且強大的框架,被廣泛應用于定理證明,非數位程式設計,自然語言處理和AI。

Prolog 是一種具有形式邏輯的聲明語言。AI開發者重視其預設計的搜索機制,非確定性,回溯機制,遞迴性質,高級抽象和模式匹配。

Prolog非常適合涉及結構化物件及其關係的問題。例如,在Prolog中,更容易表達物件之間的空間關係,比如表達“綠色的三角形在藍色的後面”。說明一般規則也很簡單,例如表達“物件A比物件B更靠近人,而B比C更近,則A應該比C更近”。

Prolog的性質使得實現事實(facts)和規則(rules)變得簡單直接。實際上,Prolog中的一切都是事實或規則。它允許你查詢資料庫,即使你已具有上述這些事實和規則。

Prolog支援開發圖形化使用者介面,管理和網路應用程式。它非常適合語音控制系統等專案。

4. Java

在Java中程式設計AI的好處:很好地支持大型項目,更好的用戶交互,調試易用性,便於視覺化以及Swing和Standard Widget Toolkit的併入。

其主要優點是通用性——如果你是初學者,互聯網上可提供上千種有用的教程(免費),使你的學習更輕鬆,更高效。

Java開發的一些著名應用程式:

WEKA 機器學習套件:專門用於機器學習和資料採擷

JOONE:用於設計,訓練和測試神經網路

ALICE(artificial linguistic internet computer entity的縮寫):自然語言處理chatbot

Robocode:一個用於學習Java程式設計原理的開源遊戲

3. Lisp

Lisp是最早的(1958年開發的)程式設計語言之一,由John MaCarthy博士創造,John MaCarthy也是創造“人工智慧”這個術語的人。雖然近年來Lisp沒有被很多人使用,但該語言既靈活又具有可擴展性。

Lisp最初是針對Lambda演算開發的,誕生以來發生了很多演變。該語言在電腦科學中引入了許多想法,如遞迴,動態類型,高級函數,自動記憶體管理,自主(self hosting)編譯器和樹結構(tree data structure)。

Lisp用於開發人工智慧軟體,因為它支援使用符號計算的程式的實現。符號表達和計算是Lisp擅長的。

此外,Lisp由一個巨集系統,可以生成高效代碼的開發良好的編譯器,以及一組集合類型,包括雜湊表和動態大小清單組成。

Lisp開發的有數以千計的AI應用程式,包括:

美國運通的授權人助理,用於檢查交易(信用卡)

METAL,一種自然語言翻譯系統

Macsyma,第一個大型電腦代數系統

ACL2,AMD使用的定理證明程式

2. C++

C ++比其他語言更快——它在硬體層進行通信的能力允許你改進代碼執行時間。這對在意耗時的人工智慧項目非常有用。它可以用於統計AI方法,如神經網路中的。

由於執行時間和OOP原則更快,C ++本身就是AI程式的好選擇。事實上,大部分機器學習和深度學習庫都是用C / C ++編寫的,並提供相同語言的API和為其他程式設計語言提供封裝。

如果你想控制執行時間和性能,C ++顯然是一個很好的選擇。 範本(template)使用更安全,它們提供了更好的推廣API的方法。雖然範本是一種強大的技術,可以簡化很多事情,但需要更多的時間和經驗來決定何時使用它們。

該語言覆蓋了3D遊戲的複雜性,優化資源管理,並通過網路促進多人遊戲。一個真實的例子是科幻遊戲Doom 3,它使用C ++和虛擬引擎,一套遊戲開發工具(用C ++編寫)。Microsoft Windows,Mac OS,Adobe Photoshop,Maya 3D軟體,CAD,Mozilla Firefox等都是使用C ++的著名應用程式。

1. Python

Python專注於DRY(don’t repeat yourself)和RAD(rapid application development)。Python開發於20世紀90年代初,由於其可擴展性,適應性和易於學習而成為增長最快的程式設計語言之一。

Python有數百個庫可以使任何類型的項目成為可能,無論是移動應用程式,Web應用程式,資料科學還是人工智慧。例如,用於科學計算的“Numpy”,用於機器學習的“Pybrain”,用於高級計算的“Scipy”和用於人工智慧的“AIMA”。

Python的整體語言設計,低級和高級程式設計的平衡,模組化程式設計和測試框架使其不同於其他語言。Python的另一個優勢是快速原型設計。在Python中,幾乎所有的想法都可以通過30-40行代碼快速驗證。

點擊閱讀原文可查看職位詳情,期待你的加入~

管理和網路應用程式。它非常適合語音控制系統等專案。

4. Java

在Java中程式設計AI的好處:很好地支持大型項目,更好的用戶交互,調試易用性,便於視覺化以及Swing和Standard Widget Toolkit的併入。

其主要優點是通用性——如果你是初學者,互聯網上可提供上千種有用的教程(免費),使你的學習更輕鬆,更高效。

Java開發的一些著名應用程式:

WEKA 機器學習套件:專門用於機器學習和資料採擷

JOONE:用於設計,訓練和測試神經網路

ALICE(artificial linguistic internet computer entity的縮寫):自然語言處理chatbot

Robocode:一個用於學習Java程式設計原理的開源遊戲

3. Lisp

Lisp是最早的(1958年開發的)程式設計語言之一,由John MaCarthy博士創造,John MaCarthy也是創造“人工智慧”這個術語的人。雖然近年來Lisp沒有被很多人使用,但該語言既靈活又具有可擴展性。

Lisp最初是針對Lambda演算開發的,誕生以來發生了很多演變。該語言在電腦科學中引入了許多想法,如遞迴,動態類型,高級函數,自動記憶體管理,自主(self hosting)編譯器和樹結構(tree data structure)。

Lisp用於開發人工智慧軟體,因為它支援使用符號計算的程式的實現。符號表達和計算是Lisp擅長的。

此外,Lisp由一個巨集系統,可以生成高效代碼的開發良好的編譯器,以及一組集合類型,包括雜湊表和動態大小清單組成。

Lisp開發的有數以千計的AI應用程式,包括:

美國運通的授權人助理,用於檢查交易(信用卡)

METAL,一種自然語言翻譯系統

Macsyma,第一個大型電腦代數系統

ACL2,AMD使用的定理證明程式

2. C++

C ++比其他語言更快——它在硬體層進行通信的能力允許你改進代碼執行時間。這對在意耗時的人工智慧項目非常有用。它可以用於統計AI方法,如神經網路中的。

由於執行時間和OOP原則更快,C ++本身就是AI程式的好選擇。事實上,大部分機器學習和深度學習庫都是用C / C ++編寫的,並提供相同語言的API和為其他程式設計語言提供封裝。

如果你想控制執行時間和性能,C ++顯然是一個很好的選擇。 範本(template)使用更安全,它們提供了更好的推廣API的方法。雖然範本是一種強大的技術,可以簡化很多事情,但需要更多的時間和經驗來決定何時使用它們。

該語言覆蓋了3D遊戲的複雜性,優化資源管理,並通過網路促進多人遊戲。一個真實的例子是科幻遊戲Doom 3,它使用C ++和虛擬引擎,一套遊戲開發工具(用C ++編寫)。Microsoft Windows,Mac OS,Adobe Photoshop,Maya 3D軟體,CAD,Mozilla Firefox等都是使用C ++的著名應用程式。

1. Python

Python專注於DRY(don’t repeat yourself)和RAD(rapid application development)。Python開發於20世紀90年代初,由於其可擴展性,適應性和易於學習而成為增長最快的程式設計語言之一。

Python有數百個庫可以使任何類型的項目成為可能,無論是移動應用程式,Web應用程式,資料科學還是人工智慧。例如,用於科學計算的“Numpy”,用於機器學習的“Pybrain”,用於高級計算的“Scipy”和用於人工智慧的“AIMA”。

Python的整體語言設計,低級和高級程式設計的平衡,模組化程式設計和測試框架使其不同於其他語言。Python的另一個優勢是快速原型設計。在Python中,幾乎所有的想法都可以通過30-40行代碼快速驗證。

點擊閱讀原文可查看職位詳情,期待你的加入~