search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

2017年7大最受歡迎的AI編程語言:Python第一!

如今,人工智慧已經成為一個熱門話題,也是一個大的研究領域,每個巨頭科技公司以及創業公司都在其中努力。這是一個非常廣泛的話題,從基本的計算器、自我導航技術到能夠徹底改變未來的具有自我意識的機器人。開發相當於或超過人類智能的系統是AI的關鍵。Rankred 網站發布了該網站評出的2017年7大最佳的人工智慧編程語言——Python第一!

第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行代碼快速驗證。

第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 ++的著名應用程序。

第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使用的定理證明程序

第4名:Java

在Java中對AI的編程好處:很好地支持大型項目,更好的用戶交互,調試易用性,便於可視化以及Swing和Standard Widget Toolkit的併入。主要優點是通用性——如果你是初學者,互聯網上可提供上千種有用的教程(免費),使你的學習更輕鬆,更高效。

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

  • WEKA 機器學習套件:專門用於機器學習和數據挖掘

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

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

  • Robocode:一個用於學習Java編程原理的開源遊戲

第5名: Prolog

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

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

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

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

Prolog支持開發圖形用戶界面,管理和網路應用程序。它非常適合語音控制系統等項目。

第6名:JavaScript

JavaScript 是一種高級、面向對象的直譯語言,主要用於使網頁交互和創建在線程序,包括遊戲。

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

  • ConventJS:實現深度學習的庫——在瀏覽器中訓練卷積神經網路。它支持完全連接的層以及非線性神經網路模塊,分類和回歸成本函數。

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

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

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

第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打擊垃圾郵件。

原文:

作者 | 圖文來自網路、如涉及版權問題,請聯繫我們以便處理。文章內容純屬作者個人觀點,不代表本網觀點。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦