這些常見的機器學習工具,不知道的快來補課

隨著人工智能的火熱,很多企業甚至是數據挖掘愛好者開始嘗試自己動手來挖掘數據中的價值。機器學習的基礎設施包括數據、算法和工具。前面已經介紹了數據和算法方面的內容,本文將重點介紹機器學習工具。

機器學習工具從計算能力上來講可以分為兩種,即單機計算和集群計算。本文會分別對單機版機器學習工具、開源分佈式機器學習工具以及企業級雲機器學習工具進行介紹,如圖1-1所示。


這些常見的機器學習工具,不知道的快來補課


圖1-1 機器學習工具

首先介紹單機版的機器學習工具。如果讀者有過數據挖掘的經歷,一定會對下面幾款工具都有一定了解:SPSS和R。這些都是單機版機器學習工具的代表,每一款產品都有自己的特點,SPSS的操作更方便,R的畫圖功能比較簡潔。

單機版工具的特點就是安裝方便,比較好上手,因為單機版工具不依賴於底層計算集群的配置。

但是單機版工具在計算能力上不能與分佈式機器學習工具相提並論,往往只能進行一些數據的實驗或者畫圖展示,在企業級數據處理和業務服務上相對比較乏力。

介紹完單機版機器學習工具之後,接下來講一下分佈式機器學習工具。筆者認為,真正的智能計算平臺一定是具備處理大規模數據、提供豐富算法能力的計算平臺。通常來講,一套完整的機器學習工具的架構包括4層,如圖1-2所示。


這些常見的機器學習工具,不知道的快來補課


圖1-2 智能機器學習工具的架構

從上向下看,例如有一些業務上的需求,如搭建廣告DSP系統、搭建商品推薦引擎。這些業務場景的需求建立在底層的機器學習算法上,如同之前講到的業務場景抽象的內容。

底層的這些機器學習算法,如K-means、LR和RF等,需要映射到分佈式計算架構上,通過MPI和MapReduce等分佈式的代碼架構來實現這些算法。最後分佈式的代碼架構把任務部署到底層的計算引擎上。

目前隨著雲計算和智能算法的發展,智能機器學習算法的架構搭建也有了多種選擇,有集群+Spark+Mlib的開源組合,也可以使用一些雲計算服務商的企業級機器學習平臺服務,比較成熟的包括亞馬遜的AWS Machine Learning、微軟Azure的Machine Learning Studio以及阿里雲機器學習PAI。

使用開源架構搭建算法平臺可能會提升自身對數據流轉和算法訂製方面的靈活性,但是在集群運維以及算法開發方面的開銷也會比較大。

接下來將分別對單機版機器學習工具、開源分佈式機器學習工具和企業級雲機器學習工具進行介紹進行介紹,主要從相關依賴、操作的易用性及算法豐富程度等方面展開(注:本文的實驗環境為Mac OS系統)。

單機版機器學習工具

對普通用戶來講,特別是一些算法能力還不紮實的數據挖掘初學者來講,使用單機版的機器學習工具可以更快速地上手。本節將重點介紹兩款工具,分別是SPSS和RStudio。

1.1.1 SPSS

(1)簡介。統計產品與服務解決方案(SPSS)軟件是世界上最早的統計分析軟件,由美國斯坦福大學的3位研究生Norman H. Nie、C. Hadlai (Tex) Hull 和 Dale H. Bent於1968年研究開發成功,同時成立了SPSS公司,並於1975年成立法人組織,在芝加哥組建了SPSS總部。

2009年7月28日,IBM公司宣佈用12億美元現金收購統計分析軟件提供商SPSS公司。如今 SPSS 已出至版本 22.0,而且更名為IBM SPSS。迄今,SPSS公司已有40餘年的成長曆史。

SPSS軟件的主要特點是操作界面極為友好。它將幾乎所有的功能都以統一、規範的界面展示出來,使用Windows的窗口方式展示各種管理和分析數據方法的功能,對話框展示出各種功能選擇項。用戶只要掌握一定的Windows操作技能,熟悉統計分析原理,就可以使用該軟件進行科研工作。

(2)安裝。SPSS是付費軟件,具體安裝方法簡便。登錄官網下載SPSS工具,並且購買許可證,直接安裝註冊即可。這裡演示使用的是SPSS 21.0版本,進入產品界面,如圖1-3所示。


這些常見的機器學習工具,不知道的快來補課


圖1-3 SPSS界面

(3)運行實驗。打開SPSS軟件,提示導入數據源。SPSS支持多種數據源輸入,如圖1-4所示。


這些常見的機器學習工具,不知道的快來補課


圖1-4SPSS數據源

這裡導入的是UCI開源數據集的一組數據,是一個二分類的場景。

利用這組數據做一個邏輯迴歸二分類的模型計算。把數據導入SPSS中,其中dioxide_A字段是目標列(目標列分為0和1兩種值),其他字段是特徵列,如圖7-5所示。


這些常見的機器學習工具,不知道的快來補課


圖1-5 數據導入

打開菜單欄中的“分析”菜單,如圖1-6所示,選擇“二元logistic迴歸”。這裡面的“因變量”表示目標列,“協變量”表示特徵字段,單擊“確定”按鈕開始模型訓練。


這些常見的機器學習工具,不知道的快來補課


圖1-6 邏輯迴歸設置

最終的輸出結果可以通過輸出查看器來顯示,模型的評估模塊如圖1-7所示。


這些常見的機器學習工具,不知道的快來補課


圖1-7 模型評估

邏輯迴歸的模型評估模塊針對每一個特徵都有多維度的表示。在這些統計指標中,下面4個指標比較關鍵。

“B”:偏回歸係數,也就是生成的線性模型的係數。

“S.E”:標準誤差。

“Wals”:Wald統計量。

“EXP(B)”:變量的有時比。

最終這次實驗生成的邏輯迴歸模型可以表示為:logistic=0.399*fixed-3.895*acidity_A-2.884*volatile-0.006*acidity-2.473*citric+0.039*acid-0.026*residual-15.696*sugar+0.847*chlorides+1.925*free+0.879*sulfur_A+3.056從SPSS的總體設計角度來看,SPSS還是一款偏統計的軟件。數據通過類Excel表格的方式進行操作,大大降低了數據操作者的使用門檻,但是如果想針對數據進行自定義的開發,無論是通過腳本還是數據轉換工具都顯得比較困難。

要想進行大規模的數據挖掘工作,從算法自由度或是效率上來看,SPSS還是有一定侷限性的。

1.1.2 R語言

(1)簡介。如果讀者是做數據挖掘相關工作的,一定會聽說過R語言,現在很多對數據挖掘工程師的基本要求都包含這一條:熟悉R語言。

R語言究竟有哪些特性?

我們通過本文簡單地瞭解一下。先來介紹背景,R是一款集統計計算和繪圖功能於一體的軟件。R語言的前身是S語言,S語言是由著名的AT&T貝爾實驗室開發的用來數據分析和繪圖的語言。

後來經過新西蘭奧克蘭大學的Robert Gentleman等人在S語言的基礎上繼續開發,誕生了R語言的雛形。

R語言主要具備下面一些優點。

開源。R語言是一款完全開放源碼的工具。因為開源,數據開發工作者可以自由地閱讀R語言的源碼,而且可以基於R語言的代碼進行擴展,這也是R語言能在短時間內得到快速發展的原因。

每天都有來自全世界的開源愛好者為R語言貢獻代碼包,使用者可以通過install命令輕鬆地安裝這些擴展算法。R語言不同於SPSS等軟件,它可以自如地修改已有的算法,使算法跟自己的業務場景更加貼合。

跨平臺。R語言的跨平臺特性大大加快了這項技術的傳播,目前無論是在 Mac OS、Windows或者Linux系統上都有較為穩定的版本可供使用。用戶只需要一套代碼,就可以把業務邏輯運行在不同的平臺上。

較為完善的資料。因為目前R語言的開源貢獻者眾多,而且R語言無論在學術界或是工業界都有很多的應用,已經有大量的使用者貢獻了許多可以參考的學習資料或者實例代碼。關於R語言的一些應用,已經有相關圖書資源可供參考。

可視化。R語言在數據可視化方面也獨具特色,提供了很多種畫圖包以及豐富的繪圖功能,使生成的數據可以清晰地可視化展現出來。例如,畫一條定義域為[-3,3]的Sigmoid函數曲線。Sigmoid函數公式為


這些常見的機器學習工具,不知道的快來補課


用戶只需要輸入如下指令,就可以得到如圖1-8所示的截圖。


這些常見的機器學習工具,不知道的快來補課


圖1-8 R繪圖

> x

> y

> plot(x,y)

R語言的使用方式是通過命令行的形式來實現的。R語言的特點是比較簡單、容易理解,配合上豐富的算法包,初學者基本上學習半天時間就可以跑通一整套複雜的數據挖掘實驗。RStudio是針對R語言的一款IDE工具,下面會通過一個案例,詳細介紹如何通過RStudio跑通邏輯迴歸算法。

(2)安裝。本書的實驗環境是Mac OX 10.11.1 EI Capitan系統。使用RStudio需要首先安裝R語言包,讀者可以去官方網站下載R語言,地址為https://www.r-project.org/,安裝成功後,打開R看到的是一個命令行終端界面,如圖1-9所示。


這些常見的機器學習工具,不知道的快來補課


圖1-9 R終端

安裝R語言之後,就可以安裝RStudio,下載地址為https://www.rstudio.com/,進入界面,如圖1-10所示。


這些常見的機器學習工具,不知道的快來補課


圖1-10 RStudio界面

(3)運行實驗。安裝RStudio完成之後,本次實驗將會針對一份開源數據集進行邏輯迴歸模型訓練實驗。首先導入數據,RStudio支持多種數據格式的導入,部分格式可能需要安裝對應的函數包。

本次實驗導入的是CSV格式文件,導入方法有兩種,可以使用RStudio提供的Import Dataset按鈕,也可以通過如下函數實現。

> data

("~/Documents/work/book/data/data.csv", sep=";")

>View(data)

導入數據之後,用戶就可以可視化查看數據,如圖1-11所示。


這些常見的機器學習工具,不知道的快來補課


圖1-11 R數據導入

下面介紹如何對數據進行邏輯迴歸處理。其實在RStudio裡面只需要以下一行代碼就可以實現。

mylogit

mylogit表示邏輯迴歸對象名稱。

glm是線性模型函數。

abel是目標列,~表示除目標列以外的字段。

data表示數據集。

binomial表示二分類。

link='logit'表示邏輯迴歸。

用戶可以通過summary函數查看生成的模型。

summary(mylogit)

結果如圖1-12所示。


這些常見的機器學習工具,不知道的快來補課


圖1-12 邏輯迴歸結果

結果(見圖1-12)中的Estimate字段就是生成的邏輯迴歸模型係數,我們可以得到最終的邏輯迴歸模型如下。

logit=3.05+0.39*fixed.acidity-3.89*volatile.acidity-2.88*citric.acid-0.006*residual.sugar-2.47*chlorides+0.03*free.sulfur.dioxide-0.02*total.sulfur.dioxide-15.69*density+0.84*pH+1.92*sulphates+0.87*alcohol

另外,用戶還可以通過R語言強大的圖形展示功能查看一下模型的擬合情況。

> plot(mylogit)

此時可以看到結果如圖1-13所示。


這些常見的機器學習工具,不知道的快來補課


圖1-13 圖形擬合曲線

通過上面的實驗,讀者可以簡單瞭解RStudio以及R語言的語法和操作方式,可以看到R語言的語法是非常容易理解的,而且對結果的圖形化展示功能也能讓數據操作者更直觀地觀察結果輸出。

在數據源支持方面,RStudio支持導入本地數據源,同時也支持服務器連接。具體支持的格式可以通過安裝相應的插件來擴展,基本包含了 SPSS 的全部格式,對各種數據庫文件也有良好的支持。

在算法支持方面,因為R語言是建立在開源社區之上的,所以有很多算法包可供選擇,基本涵蓋了特徵工程、分類算法、聚類算法、迴歸算法和神經網絡算法等常規機器學習算法,而且在算法擴展性方面,也支持對算法進行更大幅度的自定義改造。

因為R語言具備如此多的優良特性,所以近期有越來越多的分佈式系統正在對R語言進行改造,期盼R語言也可以實現分佈式的計算,從而突破目前所遇到的計算資源上的瓶頸,未來的雲RStudio會更加令人期待。

總之,R語言對於做數據挖掘的工程師來講,是一個非常理想的實驗環境,特別是在計算結果可視化呈現方面。

開源分佈式機器學習工具

前面介紹了一下單機版的機器學習工具SPSS軟件和RStudio,作為單機版的工具,不用關心集群配置和運維等操作,所以SPSS軟件和RStudio都具有容易安裝和上手的特點。

但是在實際的使用過程中,特別是數據量比較大的情況下,就會出現效率低下的問題。對大規模的機器學習計算,需要通過分佈式架構進行處理,本節將重點介紹一下目前比較流行的兩種支持分佈式機器學習工具,分別是Spark MLib和Tensorflow。

1.2.1 Spark MLib

1.簡介

MLib是Spark的機器學習算法庫,是完全開源的。以Spark框架為基礎構建的機器學習算法系統目前正在廣泛地運用到各種領域當中。

既然要從處理實際的工業界場景的角度出發,Spark和Hadoop的MapReduce框架是目前業內最主流的兩種開源分佈式架構,難免要對它們進行一下對比,我們單從對機器學習算法的支持方面考慮如下。

(1)對多步迭代的支持。通過算法章節對算法的介紹,我們瞭解到大部分算法需要通過多步驟的迭代計算才可以實現,如梯度下降算法,需要通過多次迭代計算損失函數,然後才可以逐步逼近最優解。

傳統的Hadoop的MapReduce計算框架,在每次迭代的過程中都需要對硬盤進行讀寫,這樣就造成了很大的I/O消耗,降低了效率。

而Spark分佈式計算框架是基於計算機內存來進行迭代計算的,通過將大量的計算工作在內存中處理的方式,可以大大減少對硬盤的數據讀寫,從而提高迭代類算法的計算效率。

(2)從集群通信的角度分析。Spark的Akka和Netty通信系統在信息傳遞和數據傳遞兩方面,從效率上來講都遠遠優於Hadoop的JobTracker間的通信機制。

以上兩點是從分佈式計算架構的角度分析得到的Spark相較於MapReduce的優勢,下面介紹Spark MLib庫的一些屬性。

MLib 作為分佈式機器學習算法庫,設計的初衷是使機器學習算法更容易使用和擴展。

對數據集的支持方面,Spark MLib 支持本地的一些向量和矩陣數據,同時支持底層的彈性分佈式數據集(RDD)。RDD是分佈式內存的一個抽象概念,提供一種高度受限的內存模型,可以看作Spark MLib 的一個對象,運行在內存中。

以上是對Spark MLib的基礎介紹,下面介紹如何構建Spark MLib機器學習系統。

2.安裝配置環境

(1)首先下載Spark,實驗環境為Mac OS,需要安裝jdk。Spark下載地址為http://spark.apache.org/downloads.html,下載完成後解壓,在命令行終端進入Spark目錄,執行如下命令就可以啟動Spark。

./sbin/start-master.sh

啟動Spark之後,用戶可以登錄瀏覽器的localhost://8080 查看,如圖1-14所示。


這些常見的機器學習工具,不知道的快來補課


圖1-14 登錄Spark

(2)我們發現此時的Workers和Running Applications都是空的,因為Spark是基於分佈式系統的計算框架,所以需要添加Worker才能讓這個系統運行起來,否則是不能使用的。

為了方便講解,這裡把本機添加成Worker,添加其他集群機器的原理是相同的。添加Worker需要deploy worker的命令如下。

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://IP:PORT

如果添加的是本機,IP:Port可以通過圖中的框線處得到,如圖1-15所示。


這些常見的機器學習工具,不知道的快來補課


圖1-15 IP圖

將本機添加成Worker之後,再次刷新localhost:8080就可以看到Worker出現在列表中了,如圖1-16所示。


這些常見的機器學習工具,不知道的快來補課


圖1-16 添加Worker

1.2.2 TensorFlow

1.簡介

TensorFlow,是一個開源的機器學習框架,是基於著名的DistBelief開發的。最初的TensorFlow由“谷歌大腦”團隊的研發人員開發,是用來研究深度神經網絡的工具,但是隨著架構的不斷完善,整個系統已經被改造得可以適用於多種不同的場景。

Google在2015年將TensorFlow開源後,迅速得到來自IT行業各界的強烈反應。Android作為Google開源產品的標杆,已經佔領了移動端市場,人們都在猜測,TensorFlow或許是Google進軍人工智能市場的一把“尖刀”。

目前來看,TensorFlow具備著優良的特性,而且在新的版本中已經支持了分佈式計算。在未來一段時間裡,TensorFlow勢必要引領機器學習的一段潮流。

先來簡單介紹一下什麼是TensorFlow,從字面意思來理解,Tensor 表示張量,是指任意維度的數據。在TensorFlow中,數據是通過數據流的形式在算法節點中流轉的。我們通過深度學習的一張架構流程圖(見圖7-24)來解釋。


這些常見的機器學習工具,不知道的快來補課


圖1-17 深度學習

通過這張深度學習的架構圖來分析,圖1-17中豎形單元表示算法層,有輸入層、隱藏層和輸出層,每個圓形的單元是計算節點。

TensorFlow中的數據以數據流的形式在計算節點中流動。從前向後流,就是前向傳播,從後向前流,就是後向傳播,Flow表示的就是數據的這種流動。僅從字面意思來看,TensorFlow的具體計算形式已經表現得很清楚了。

下面簡單介紹下TensorFlow的一些特性。

(1)靈活性。TensorFlow的靈活性不只表現在對算法的支持上,也表現在架構方面。TensorFlow支持單機計算和分佈式計算,同時也可以將計算在CPU和GPU之間靈活切換。

在對算法的支持方面,TensorFlow不單單是一個神經網絡庫,它還可以看作機器學習的編程架構,開發者可以將自己的算法邏輯寫成流圖的形式,然後就可以把自己定義的算法運行在TensorFlow的架構中去。

(2)易用性。TensorFlow可以自動計算梯度,只需要手動設置好計算架構,設置好目標函數,然後向系統中灌入數據即可,中間的計算和參數權重變化都是自動完成的,同時系統也提供了辦法幫助用戶監督整個計算流程。

在具體使用方面,雖然TensorFlow的底層代碼是通過C++來編寫的,但是可以通過Python接口來創建計算流圖。用戶在邏輯代碼的計算框架編寫方面也比較容易上手。

(3)良好的資源調度能力。

TensorFlow可以幫助開發者充分利用計算資源。對計算資源的調度可以高度自定義,可以自由調用CPU和GPU,同時也支持線程、隊列和異步計算等。

TensorFlow讓開發者可以充分利用自身的硬件資源,而且可以讓數據流在不同的機器上自由流轉。

2.實驗環境搭建

前面介紹了TensorFlow的一些概要和基本性能,接下來介紹搭建TensorFlow的實驗環境,並且跑通程序員們最熟悉的程序——Hello World。

(1)安裝pip。pip是Mac系統中的一個Python的安裝工具,TensorFlow可以通過pip自動安裝,具體命令如下。

sudo easy_install pip

sudo easy_install --upgrade six

如果已經安裝了pip,可以忽略這一步.

(2)安裝Virtualenv。Virtualenv是一個用於隔離本地Python環境的工具,因為TensorFlow在使用過程中需要對環境參數做一定的調整,所以推薦安裝Virtualenv來進行隔離。

具體的操作步驟是首先安裝Virtualenv,命令如下。

sudo pip install --upgrade virtualenv

然後在Virtualenv環境中創建一個tensorflow目錄,命令如下。

virtualenv --system-site-packages ~/tensorflow

激活環境,可以通過activate和activate.csh兩種方式,命令如下。

source ~/tensorflow/bin/activate# If using bash

source ~/tensorflow/bin/activate.csh# If using csh

(3)安裝TensorFlow。現在就可以通過pip在這個環境下安裝TensorFlow了,根據Python的版本不同而選擇不同的安裝命令如下。

# Python 2

(tensorflow)$ pip install --upgrade $TF_BINARY_URL

# Python 3

(tensorflow)$ pip3 install --upgrade $TF_BINARY_URL

命令中的TF_BINARY_URL需要根據系統版本,Python版本是否支持GPU來進行選擇。

# Mac OS X, CPU only, Python 2.7:

(tensorflow)$export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0-py2-none-any.whl

# Mac OS X, GPU enabled, Python 2.7: (tensorflow)$export

TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.10.0-py2-none-any.whl

# Mac OS X, CPU only, Python 3.4 or 3.5:

(tensorflow)$export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0-py3-none-any.whl

# Mac OS X, GPU enabled, Python 3.4 or 3.5:

(tensorflow)$export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.10.0-py3-none-any.whl

(4)示例。前面已經把TensorFlow的計算環境安裝完畢,我們激活Virtualenv下面的TensorFlow後,會進入到Python的隔離環境中,命令行終端的最前端會出現“tensorflow”的字樣。下面介紹Hello world的執行代碼。

#tf

import tensorflow as tf

hello = tf.constant('Hello world!')

sess = tf.Session()

print(sess.run(hello))

constant是TensorFlow的一種數組,這裡就不詳細介紹了。下面主要來說一下Session的概念,Session表示會話的概念,在TensorFlow系統中,用戶通過會話來與TensorFlow系統交互。一般的模式是先建立會話,然後在會話中添加節點和邊,再通過Session來與TensorFlow交互。執行上面的這個代碼文件,就會看到返回的結果,如圖7-25所示。


這些常見的機器學習工具,不知道的快來補課


圖1-18 結果

綜上,一個單機版的TensorFlow就已經安裝成功,並且跑通了Hello World實驗。

企業級雲機器學習工具

前面介紹的分別是單機版的機器學習工具和開源的分佈式機器學習工具,雖然這些工具大多都具備友好的操作方式和豐富的算法,但是在企業級服務方面還是存在一些缺陷。接下來詳細介紹亞馬遜機器學習平臺和阿里雲機器學習平臺PAI。

1.3.1 亞馬遜AWS ML

Amazon Web Service(AWS)是亞馬遜在2006年推出的雲計算服務,主要優勢是能夠以根據業務發展來擴展的較低可變成本來替代前期資本基礎設施費用。根據亞馬遜提供的數據,AWS已經為全球 190 個國家和地區的企業提供支持。

AWS目前是雲計算行業的領軍者,曾經擊敗過IBM獲得美國中情局的雲服務大額訂單。亞馬遜機器學習,是2015年4月份推出的一款能夠幫助開發者使用歷史數據開發並部署預測模型的服務。

這些模型有廣泛的用途,包括對欺詐行為的檢測、防止用戶流失並改進用戶支持。亞馬遜機器學習是通過嚮導的方式為開發者提供關於機器學習模型的創建和調試流程的指導,從而部署並擴展模型,支持數十億級別數據量的預測。

亞馬遜通過嚮導的方式建立實驗,並且把機器學習服務和Amazon Simple Storage Service(Amazon S3)、Amazon Redshift、Amazon Relational Database Service(Amazon RDS)集成,讓客戶使用存儲在AWS雲服務上的數據,做到整個雲服務的生態打通。

1.3.2 阿里雲機器學習PAI

前面介紹了亞馬遜的企業級機器學習服務AWS ML,接下來將介紹一款國內目前比較成熟的機器學習平臺,來自阿里雲的機器學習PAI。

阿里雲機器學習PAI是一款幾乎涵蓋了所有種類機器學習算法的機器學習平臺。阿里雲機器學習的底層計算引擎是阿里雲研發的飛天分佈式計算引擎,可以處理EB級別的數據。

算法平臺本身涵蓋了從數據預處理、特徵工程、機器學習算法、模型評估、預測和部署一整套的機器學習算法解決方案,因為打通了整條數據挖掘的鏈路,使得阿里雲機器學習可以不單作為一款科學研究的工具,也可以作為企業級的算法解決方案來使用。

我們先來了解下這款產品的功能架構,如圖1-19所示。


這些常見的機器學習工具,不知道的快來補課


圖1-19 機器學習平臺架構

自下向上來分析架構圖,阿里雲機器學習的最底層是支持異構調度(指CPU和GPU混合分佈)的分佈式計算引擎,支持GPU主要是為了更好地支持上層的深度學習算法。

在計算基礎設施上面的計算架構層支持了幾款主流的分佈式架構MR和PS等。在實際的操作中,用戶對計算框架和基礎設施這兩層是無感知的,用戶只需要考慮自己的場景適用於哪些算法即可,做到了算法和計算架構的解耦。

相較於 AWS ML 的嚮導式算法模型搭建流程,如圖1-20所示,阿里雲機器學習平臺採用拖拉拽的方式搭建實驗流程,嚮導式的模型訓練建立方式能更容易上手,但是阿里雲這種拖拉拽式的操作對實驗的擴展性和自定義性更有保證。


這些常見的機器學習工具,不知道的快來補課


圖1-20 阿里雲機器學習平臺界面

進入操作界面,我們可以看到左邊是一個個算法組件可供拖曳,把組件拖拽到中間的畫布上,然後按照算法邏輯連線,在最右邊的設置框中定義每一個組件的參數。

這樣的體驗給人一種搭積木式的感覺,不需要去考慮底層的計算資源和運維這些因素,算法工程師只要把精力聚焦到業務的場景以及算法的搭配即可。

在使用阿里雲機器學習平臺進行實驗的時候有一點需要注意,因為在搭建數據預處理、特徵工程和機器學習算法等環節時都有很多的組件供選擇(AWS ML選擇餘地相對單一),所以要求使用者具備一定的機器學習基礎。


這些常見的機器學習工具,不知道的快來補課


《機器學習實踐應用》

李博 著

本書通過對機器學習的背景知識、算法流程、相關工具、實踐案例以及知識圖譜等內容的講解,全面介紹了機器學習的理論基礎和實踐應用。書中涉及機器學習領域的多個典型算法,並詳細給出了機器學習的算法流程。

本書適合任何有一定數據功底和編程基礎的讀者閱讀。通過閱讀本書,讀者不僅可以瞭解機器學習的理論基礎,也可以參照一些典型的應用案例拓展自己的專業技能。同時,本書也適合計算機相關專業的學生以及對人工智能和機器學習感興趣的讀者閱讀。 ​


這些常見的機器學習工具,不知道的快來補課


​《人工智能(第2版)》

[美] 史蒂芬·盧奇(Stephen Lucci) 著

美國經典入門書,被譽為人工智能領域百科全書。人工智能領域近十年來最前沿教程,2018年全新更新。

本書基於人工智能的理論基礎, 向讀者展示全面、新穎、豐富多彩且易於理解的人工智能知識體系。本書給出諸多的示例、應用程序、全綵圖片和人物軼事,以激發讀者的閱讀和學習興趣;還引入了機器人和機器學習的相關高級課程,包括神經網絡、遺傳算法、自然語言處理、規劃和複雜的棋盤博弈等。


分享到:


相關文章: