VOOZH about

URL: https://read01.com/E8MPy88.html

⇱ 一個高薪機器學習工程師,需要掌握哪些酷炫的程式語言? - 壹讀


Sunday, Apr 12, 2026

一個高薪機器學習工程師,需要掌握哪些酷炫的程式語言?

2018/02/04 來源:電子發燒友網

最近幾年,人工智慧浪潮層層推進,對各大科技公司產生巨大影響。百度推出Apollo無人車計劃,阿里建立達摩院,騰訊成立的AI Lab雖布局較晚卻也不甘人後。

首先來看看在某招聘網站上,當前公司對一個高薪機器學習人才有怎樣的要求。

👁 Image
...
👁 Image
...
我需要學習哪些程式語言?

不論你選擇哪種語言,只要對這種語言下的機器學習庫和工具足夠熟悉,語言本身就沒有那麼重要了。現在對應各種語言的機器學習庫層出不窮。根據你在公司中擔任的角色和所要完成的任務不同,某些語言和工具可能會比其他的更好用。

R

R 是一種為專統計計算而設計的語言。它在大規模的數據挖掘、可視化和報告方面已經取得了巨大的成功。你能夠輕鬆地獲取各種的包(通過 CRAN)來使用幾乎所有的機器學習算法、統計測試和分析等。R 語言本身有著優美(雖然有些人會覺得晦澀)的語法用來表達數據的關係、變換和並行操作。

KDNuggets 最近組織了一次投票,結果表明 R 是 2015 年用於解決分析、挖掘及其他數據科學任務的最受歡迎的語言。不過,近年來 Python 的人氣也在急劇上升。

👁 Image
...

MATLAB

MATLAB 在學術界很受歡迎,因為它能處理複雜的數學表達式,對代數和微積分有強大的支持,還支持符號運算。同時,從數位訊號處理到計算生物學,又或者是其他的科目,它都有對應的工具箱可用。它經常被用於開發新的機器學習算法的原型,有時也會被用於開發最終完整的工具。它的商用許可的確非常昂貴,但也對得起它在研發方面帶來的方便。Octave 是一款免費的 MATLAB 替代品。它的語法與 MATLAB 幾乎相同,但只提供一部分工具箱,IDE 也略微遜色。

Python

雖然 Python 是一種更通用的程式語言和腳本語言,但它在數據科學家和機器學習工程師中的人氣也是急劇上升。跟 R 和 MATLAB 不同,它並沒有內置數據處理和科學計算專用的語法,但它有像 NumPy、SciPy 和 Pandas 這樣的庫用更友好的語法提供了同樣的功能。

像 scikit-learn、Theano 和 TensorFlow 這樣的機器學習庫讓你能夠方便地訓練各種機器學習模型,還能用上分布式計算。當然,這些庫中最影響性能的部分一般還是用 C/C++ 甚至 Fortan編寫的,而 Python 包則是作為它們的接口(這在 R 中也很常見)。

但 Python 最大的優勢在於它的生態系統使得你能夠很方便地搭建起一個複雜的端到端服務,比如用 Django 或是 Flask 搭建 Web 應用,或是用 PyQt 開發桌面應用,甚至用 ROS 搭建一個自主機器人。

Java

由於它乾淨一致的實現、面向對象編程的風格以及通過 JVM 獲得的平台獨立性,Java 是很多軟體工程師的首選語言。它以簡潔性和靈活性為代價換取了明確性和可靠性,使它在實現重要的企業軟體系統時非常受歡迎。對於那些一直使用 Java 的公司,當他們需要開發機器學習產品時,為了保持同樣的可靠性和避免寫一堆混亂的接口,他們可能更傾向於繼續使用 Java。

除了一些可以用來做分析和原型開發的庫和工具(比如 Weka)以外,要用 Java 開發大規模分布式的機器學習系統,我們有很多選擇,比如 Spark+MLlib、Mahout、H2O 以及 Deeplearning4j。這些庫和框架也很方便跟工業級別的數據處理和存儲系統比如Hadoop/HDFS 整合在一起。

C/C++

在開發像作業系統組件和網絡協議這樣計算性能和內存使用效率極為重要的底層軟體時,C/C++ 是最理想的選擇。由於同樣的原因,它們在實現機器學習算法的關鍵部分時也很受歡迎。但是它們沒有內建的關於數據處理操作的抽象,內存管理的任務也很繁重,這使得它們對新手來說不太合適,而且在開發完整的端到端系統時也比較笨重。

在開發嵌入式系統(比如智能汽車、智能傳感器等),可能必須使用 C/C++。而在其他場景下,用它們進行開發的便利程度可能要視現有的基礎設施和具體的應用而定。不過無論如何,我們並不缺少 C/C++ 的機器學習庫,比如 LibSVM、Shark 和 mlpack。

企業級解決方案

在這些語言和庫以外,還有很多統計建模和商業分析的商用產品,用於在更為受控的數據處理環境下應用機器學習模型。這些產品,包括 RapidMiner、IBM SPSS、SAS+JMP 和 Stata 等,它們的目標是為數據分析提供可靠和端到端的解決方案,通常也會將 API 或是腳本語法暴露給用戶。

近年來還湧現出了一批「機器學習即服務」平台,比如 Amazon Machine Learning、Google Prediction、DataRobot、IBM Watson 和 Microsoft Azure Machine Learning 等。它們使你能夠拓展你的機器學習產品的規模,處理巨量的數據以及快速地對不同的模型進行試驗。只要你在機器學習領域打好了堅實的基礎,使用這些平台就像學習使用一門新工具一樣簡單。

您可能感興趣
免責聲明:本文內容來源于電子發燒友網,文章觀點不代表壹讀立場,如若侵犯到您的權益,或涉不實謠言,敬請向我們提出檢舉
最新文章 / 服務條款 / 私隱保護 / DMCA / 聯絡我們

壹讀/READ01.COM