首頁>科技>

機器學習生態系統在過去十年中發展了很多。人工智能社區變得越來越強大、開放,涵蓋了幾乎所有人工智能領域的東西(代碼、庫或博客)。如果你想開始學習機器學習,現在正是好時候。

什麼是機器學習?

機器學習這個術語最初是由亞瑟·塞繆爾在1959年創造的。回顧過去,就技術進步而言,那一年可能是最重要的一年。

其後湯姆·米切爾給出了第一個正式的定義:

"如果一個計算機程序在T類任務中的表現以P來衡量,隨著經驗E的增加而提高,那麼它就被稱為從經驗E中學習。

簡單來說,機器學習是人工智能(AI)的一個子集,它為機器提供了從經驗中自動學習的能力,而無需明確編程。

機器學習庫

機器學習的庫根據不同用途有著不同的庫,如下所示:

用於科學計算的機器學習庫

Numpy

Nump可以說是機器學習中最重要的Python包之一。科學計算使用大量的矩陣運算,這些操作的計算量可能相當大。想要實現它們很容易導致內存使用效率低下。

而 Numpy 數組是一類特殊的數組,可在幾毫秒內執行這些操作。這些數組是用 C 編程語言實現的。在自然語言處理等任務中,我們會有大量的詞彙量和數十萬個句子,單個矩陣可以包含數百萬個數字。作為初學者,我們必須掌握使用此庫。

表格數據的機器學習庫

簡單地說,Pandas是微軟Excel的Python對應物。每當您有表格數據時,您應該考慮使用Pandas來處理它。Pandas的好處是,操作只需要幾行代碼。如果你想做一些複雜的事情,而你發現自己要考慮大量的代碼,那麼很有可能存在一個Pandas命令,在一兩行內就能實現你的想法。

數據操作到數據轉換,再到數據可視化,Pandas都能做到。如果你渴望成為一名數據科學家,或者希望在機器學習比賽中取得好成績,Pandas可以減少你的工作量,幫助你專注於解決問題的部分,而不是編寫代碼。

用於數據預處理和建模的機器學習庫

Scikit Learn 也許是最受歡迎的機器學習庫。它提供了幾乎所有流行的模型 - 線性迴歸、Lasso-Ridge、物流回歸、決策樹、SVM等等。不僅如此,它還提供了一套廣泛的工具來預處理數據,使用BOW,TF-IDF或哈希矢量化等對文本進行矢量化。

而且他的社區非常強大。唯一的缺點是,它不能很好地支持大規模生產環境應用的分佈式計算。

用於時序建模的機器學習庫

Statsmodels是另一個實現統計學習算法的庫。但是,它的好處是其有助於實現時序模型的模塊。您可以輕鬆地將時間序列分解為其趨勢分量、季節性分量和殘差分量。

你還可以實現流行的ETS方法,如指數平滑法、Holt-Winters法以及ARIMA和季節性ARIMA或SARIMA等模型。唯一的缺點是,這個庫沒有像Scikit那樣有很多詳盡的文檔。

用於文本處理的機器學習庫

正則表達式(regex)可能是文本處理中最簡單但最有用的庫。它有助於根據文本中定義的字符串模式來查找文本。例如,如果您希望將文本中的所有“不能”和“不要”替換為“不能”或“不要”,則regex可以快速完成。

如果您希望在文本中找到電話號碼,則只需定義一個模式和正則表達式,並返回文本中的所有電話號碼。它不僅可以找到模式,還可以用您選擇的字符串替換它。在開始時,製作正確的匹配模式可能會有點令人困惑,但是一旦你掌握了它,它就會非常強大。

NLTK

文本處理對於任何NLP任務都非常重要,例如語言建模,神經機器翻譯或命名實體識別。它還提供了一個名為wordnet的同義詞庫。

用於深度學習的機器學習庫

Tensorflow是目前最受歡迎的庫,具有廣泛的文檔和開發人員社區支持。它是由谷歌創建的。對於許多公司來說,Tensorflow是一個不錯的選擇,因為它為模型原型設計到生產提供了生態系統。Tensorboard是一種基於Web的可視化工具,可幫助開發人員可視化模型性能,模型參數和梯度。

社區中對張量流的一個主要批評是它對圖的實現。圖形是您定義的一組操作。例如,c = a+b,d = c*c 是對 4 個變量執行兩個操作的圖形。在python中,您可以執行第一步,獲取c的值,然後使用它來計算d。在Tensorflow中,您必須首先編譯圖。這意味著將首先安排所有操作,然後一次執行所有操作。

與通過運行定義的Python不同,Tensorflow是先定義後運行的。這使得調試變得繁瑣。不過開發人員也意識到了這一點,並在不斷改進。

Pytorch

Pytorch是由Facebook開發的,是原始庫Torch的Pythonic版本,Torch是為Lua編程語言編寫的深度學習框架。

與Tensorflow不同,它被設計為儘可能的Pythonic。您可以隨時隨地定義模型組件。如果你想做研究,需要這種低級別的靈活性,這是一個不錯的選擇。

如果你是一個初學者,並希望開始學習機器學習,Pytorch是不錯的學習。由於它相對較新,雖然不像Tensorflow那樣流行,但社區正在迅速發展。

2
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 浴室地漏堵塞不用怕!用它來搞定!