熱線電話:13121318867

登錄
首頁精彩閱讀谷歌教你學 AI-第三講簡單易懂的估算器
谷歌教你學 AI-第三講簡單易懂的估算器
2018-01-03
收藏

谷歌教你學 AI-第三講簡單易懂的估算器

Google Cloud發布了名為"AI Adventures"的系列視頻,用簡單易懂的語言讓初學者了解機器學習的方方面面。

觀看更多國外公開課,點擊"閱讀原文"

前兩期我們分別講到了機器學習的概念和具體步驟,今天讓我們來看到第三講,使用TensorFlow Estimator進行機器學習。

CDA字幕組目前在對該系列視頻進行漢化,之后將繼續連載,歡迎關注和支持~

主講人還是來自Google Cloud的開發人員,華裔小哥Yufeng Guo。讓我們在學習AI知識的同時來提高英語吧。

附有中文字幕的視頻如下:

AI Adventures--第三講簡單易懂的估算器

針對不方便打開視頻的小伙伴,CDA字幕組也貼心的整理了文字版本,如下:

機器學習棒極了,除了它迫使你用到高數的時候。進行機器學習的工具得到了極大地發展,訓練模型也從未如此簡單。

我們將利用對數據集的理解,而不是對純粹數學知識的理解,以此編程得出模型,最終得出相應見解。在本期視頻,我們將用少部分代碼訓練一個簡單的分類器。

TensorFlow Estimator

為了訓練分類器,我們將使用TensorFlow。谷歌的開源機器學習庫。 TensorFlow有很龐大的API,但是我們要關注的是當中的高級API,稱為Estimator(估算器)。

Estimator為我們把訓練循環打包起來,這樣我們可以通過配置來訓練模型,而不是手工進行編程。從而去除了許多樣板文件,讓我們在更高的層面上思考抽象問題。意味著我們能夠參與到機器學習有意思的部分,而不用為各個細節而煩惱。

由于目前為止我們只涉及到線性模型,因此將主要圍繞該部分。之后會再看到這個例子,用來拓展其能力。

鳶尾花分類

這次我們將構建一個模型,用來區分三種類似的花。我感覺這可能沒有上一期區分葡萄酒和啤酒那么有意思,但是這些花朵更難區分,從而構成一項有趣的挑戰。

我們將對不同種類的鳶尾花進行區分。我不確定我能區分鳶尾花和玫瑰,但是我們模型的目的是區分出山鳶尾(Iris Setosa)、雜色鳶尾(Iris Versicolour)和維吉尼亞鳶尾(Iris Virginica)。

山鳶尾(Iris Setosa)、雜色鳶尾(Iris Versicolour)和維吉尼亞鳶尾(Iris Virginica)

我們有鳶尾花卉數據集,包括花瓣和花萼長寬度數據。這四列將作為我們的“特征”。

加載數據

在引入TensorFlow和NumPy后,我們將加載數據集,使用TensorFlow的函數load_csv_with_header 。數據或者特征呈現為浮點數。同時每行數據或對象的標簽記錄為整型數(integer):0、1、2,對應三種花。

我輸出了加載的結果,現在我們可以用命名的屬性訪問訓練數據和相關標簽或對象。

建立模型

下面我們開始建模。首先我們需要設定特征列。特征列決定了進入模型的數據類型。我們將用到四維特征列表示特征,稱為“flower_features”。

使用估算器(estimator)建模超級簡單。使用`tf.estimator.LinearClassifier`,我們可以通過傳遞之前創建的特征列讓模型實例化;該模型得出的不同輸出數字,比如這里是3;還有存儲模型訓練過程和輸出文件的目錄。這使TensorFlow能夠在有需要的情況下,繼續進行之前的訓練。

輸入函數

分類對象能幫我們記錄狀態,然后我們差不多可以進入訓練階段了。最后還有一個連接模型和訓練數據的部分,即輸入函數。輸入函數的作用是創建TensorFlow操作,從而從模型中生成數據。

如今我們從原始數據到輸入函數,通過數據,通過特征列的映射,進入到模型中。注意,我們對特征使用定義特征列的相同名稱。這樣數據才會是相關聯的。

運行訓練

現在可以開始訓練了。為了訓練模型,我們要運行classifier.train()函數,當中輸入函數作為實參。就這樣我們把數據集和模型連接起來。

訓練函數處理訓練回路,對數據集進行迭代,一步步提高性能。就這樣我們完成了一千個訓練步驟! 我們的數據集不大,因此完成得很快。

評估

現在該對結果進行評估了。我們可以使用之前相同的分類對象,因為這具有模型的訓練狀態。為了確定我們模型的性能,我們可以運行classifier.evaluate()函數,傳遞到測試數據集,從返回的指標中提取準確率。

我們的準確率為96.66%! 很不錯嘛!!

Estimators: 簡單的工作流程

讓我們停下來,回顧一下使用Estimator我們目前實現了哪些成果。

Estimator API 為我們提供了很棒的工作流程,從獲取原始數據,通過輸入函數傳遞,設立特色列和模型結構,運行訓練,進行評估。容易理解的框架讓我們能夠思考數據和其性能,而不是依賴數學,這太棒了!

下期預告

在本期視頻中,我們看到了TensorFlow高級API中的一個簡單版本,使用Estimator。在之后的視頻中,我們將探究如何對模型進行擴展,使用更多復雜的數據,添加更多高級特征。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢