0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TensorFlow中專門解決機(jī)器學(xué)習(xí)問題的評(píng)估器

Tensorflowers ? 來源:未知 ? 作者:李倩 ? 2018-05-30 10:16 ? 次閱讀

AIA (AI Adventures)系列現(xiàn)在已經(jīng)進(jìn)入第三期了。前兩期分享當(dāng)中,Yufeng 介紹了機(jī)器學(xué)習(xí)的核心概念、基本邏輯,也介紹了要進(jìn)行機(jī)器學(xué)習(xí)需要經(jīng)過哪些步驟。今天的分享中,他會(huì)繼續(xù)用淺顯易懂的表達(dá),為我們介紹 TensorFlow 的評(píng)估器 API。

總的來說,機(jī)器學(xué)習(xí)還是非常贊的(當(dāng)然,除了某些時(shí)候你不得不對(duì)付復(fù)雜惱人的數(shù)學(xué)運(yùn)算)。當(dāng)下機(jī)器學(xué)習(xí)相關(guān)工具已經(jīng)得到很大的改善,并且訓(xùn)練模型也更加簡(jiǎn)單方便。

我們將利用對(duì)數(shù)據(jù)集的認(rèn)知來編寫與之對(duì)應(yīng)的模型,而不是基于對(duì)原始數(shù)學(xué)問題來求解,本期,我們將會(huì)用一些簡(jiǎn)單的代碼來實(shí)操訓(xùn)練出一個(gè)簡(jiǎn)單的分類器

TensorFlow 中專門解決機(jī)器學(xué)習(xí)問題的評(píng)估器

要訓(xùn)練我們的分類模型,我們需要使用 Google 的開源機(jī)器學(xué)習(xí)庫——TensorFlow。TensorFlow 對(duì)外開放了非常豐富的 API 接口,但此時(shí)我們需要用到的僅僅是一些高層次 API,也就是評(píng)估器(Estimator)。

評(píng)估器替我們打包好了訓(xùn)練的循環(huán)迭代,所以我們可以通過配置評(píng)估器來控制訓(xùn)練過程,而不是手動(dòng)編碼實(shí)現(xiàn)。這樣以來,許多樣板化的東西都不再存在,也讓我們能夠在更高級(jí)的抽象中考慮問題。同時(shí)這也意味著盡情享受機(jī)器學(xué)習(xí)的樂趣,而不必糾結(jié)實(shí)現(xiàn)的細(xì)節(jié)。

既然目前我們只探討過線性模型的設(shè)計(jì)問題,不妨就此打住。今后我們會(huì)有機(jī)會(huì)回過頭討論這個(gè)問題,并提升其識(shí)別能力。

花卉分類:是否和酒水判別同樣充滿趣味?

本周我們會(huì)構(gòu)建一個(gè)模型來區(qū)分三種非常相似的花卉。雖說這次比不上上次那樣同酒水打交道那么令人向往,但是由于花卉更難辨認(rèn),所以這次的任務(wù)會(huì)更具挑戰(zhàn)性。

上期文章AIA 系列第二課 | 機(jī)器學(xué)習(xí)常見的七個(gè)步驟

特別是,今天我們需要區(qū)分開不同品種的鳶尾花。其實(shí)我自己不太能從一片玫瑰當(dāng)中找出一枝鳶尾花,但是我們的模型將會(huì)準(zhǔn)確認(rèn)出山鳶尾、變色鳶尾和維吉尼亞鳶尾。

山鳶尾、變色鳶尾和維吉尼亞鳶尾

我們有一個(gè)數(shù)據(jù)集(如下圖)記錄了花卉的花瓣、萼片的寬高數(shù)據(jù)。表中的四列也就是之前提到的「特征」。

載入數(shù)據(jù)

在引入 TensorFlow 和 NumPy 兩個(gè)模塊后,我們需要使用 TensorFlow 的 load_csv_with_header()函數(shù)來加載數(shù)據(jù)集。這些數(shù)據(jù)(或者說特征),都以浮點(diǎn)數(shù)的形式呈現(xiàn),而每一列數(shù)據(jù)、目標(biāo)花卉的標(biāo)記則用 0、1 和 2 來表示,與三種花卉的品類相對(duì)應(yīng)。

此時(shí)我已經(jīng)將數(shù)據(jù)加載的結(jié)果輸出來了,現(xiàn)在我們可以通過命名屬性來取得訓(xùn)練數(shù)據(jù)和相關(guān)的標(biāo)記、目標(biāo)。

構(gòu)建模型

下一步我們需要構(gòu)建模型了。為了完成這一步操作,首先需要設(shè)定特征列。特征列定義了進(jìn)入模型當(dāng)中的數(shù)據(jù)類型。我們使用四個(gè)維度的特征列來表示數(shù)據(jù)集中的特征,并將之稱為「花卉特征」。

要搞定評(píng)估器非常簡(jiǎn)單。 通過把特征列、模型預(yù)測(cè)的輸出數(shù)量(此處為 3)和指定的用于存儲(chǔ)模型訓(xùn)練進(jìn)程以及輸出結(jié)果的目錄傳入tf.estimator.LinearClassifier() 函數(shù)就能實(shí)例化模型了。這些參數(shù)有助于讓 TensorFlow 從中斷點(diǎn)繼續(xù)之前的訓(xùn)練。

輸入函數(shù)

上述的 classifier 對(duì)象會(huì)為我們記錄訓(xùn)練狀態(tài),此時(shí)差不多可以開始訓(xùn)練了。勝利在望,我們的模型距離成功連接訓(xùn)練數(shù)據(jù)僅僅只差一個(gè)輸入函數(shù)。輸入函數(shù)的主要工作是創(chuàng)建一個(gè)可以為模型生成數(shù)據(jù)的 TensorFlow 算子。

現(xiàn)在,所以我們已經(jīng)完成了從處理原始數(shù)據(jù),到創(chuàng)建輸入函數(shù)(傳入之后會(huì)以特征列來映射的數(shù)據(jù))的過程。要注意的是我們使用與元數(shù)據(jù)中同樣的特征列名作為特征值的標(biāo)記,這樣數(shù)據(jù)與模型訓(xùn)練才能對(duì)應(yīng)起來。

開始訓(xùn)練

接下來開展訓(xùn)練工作。只需將輸入函數(shù)傳入 classifier.train() 方法就可以了。我們就是這樣將數(shù)據(jù)與模型聯(lián)系起來的。

訓(xùn)練函數(shù)會(huì)控制在數(shù)據(jù)集上循環(huán)或迭代的過程,同時(shí)在每一階中不斷提升自身性能。正如我們所料,下圖顯示已經(jīng)成功完成了 1000 個(gè)階的訓(xùn)練!我們的數(shù)據(jù)集并不算大,所以這個(gè)過程非???。

精確度評(píng)估

好啦,是時(shí)候評(píng)估結(jié)果了。由于前面的 classifier 對(duì)象保存了模型訓(xùn)練的狀態(tài),所以我們此處仍然使用同一個(gè)對(duì)象來評(píng)估。要評(píng)估模型的優(yōu)劣,我們通過調(diào)用 classifier.evaluate() 并傳入測(cè)試數(shù)據(jù),然后從返回的矩陣當(dāng)中提取出精確度數(shù)據(jù)即可。

快看!得到的精確度是 96.88%,厲害了我的哥!

評(píng)估器:一路向前的流水線

這周就先進(jìn)行到這里,一起來回顧學(xué)習(xí)評(píng)估器的收獲:

Estimator API 為我們提供了一個(gè)優(yōu)秀的流水線用于獲取元數(shù)據(jù)、傳入輸入函數(shù)、配置特征列和模型結(jié)構(gòu)、運(yùn)行訓(xùn)練過程和進(jìn)行預(yù)測(cè)。這個(gè)易于理解的框架讓我們能夠關(guān)注數(shù)據(jù)和他們的屬性,而不需要一直糾結(jié)數(shù)學(xué)上的問題,實(shí)在是贊!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1510

    瀏覽量

    62394
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8438

    瀏覽量

    133084

原文標(biāo)題:Google AIA 系列 | 無需數(shù)學(xué)知識(shí),輕松搞定鳶尾花辨識(shí)模型

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)器學(xué)習(xí)模型評(píng)估指標(biāo)

    機(jī)器學(xué)習(xí)模型指標(biāo)在機(jī)器學(xué)習(xí)建模過程中,針對(duì)不同的問題,需采用不同的模型評(píng)估指標(biāo)。
    發(fā)表于 09-06 12:51 ?1171次閱讀
    <b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>模型<b class='flag-5'>評(píng)估</b>指標(biāo)

    如何使用TensorFlow構(gòu)建機(jī)器學(xué)習(xí)模型

    在這篇文章中,我將逐步講解如何使用 TensorFlow 創(chuàng)建一個(gè)簡(jiǎn)單的機(jī)器學(xué)習(xí)模型。
    的頭像 發(fā)表于 01-08 09:25 ?1039次閱讀
    如何使用<b class='flag-5'>TensorFlow</b>構(gòu)建<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>模型

    tensorflow機(jī)器學(xué)習(xí)日志

    tensorflow學(xué)習(xí)日志(四)機(jī)器學(xué)習(xí)(泛化,過擬合, 數(shù)據(jù)集,驗(yàn)證集,測(cè)試集)
    發(fā)表于 04-14 06:32

    Sklearn與TensorFlow機(jī)器學(xué)習(xí)實(shí)用指南——第九章習(xí)題答案

    Sklearn 與 TensorFlow 機(jī)器學(xué)習(xí)實(shí)用指南——第九章習(xí)題答案
    發(fā)表于 05-13 13:28

    淺談深度學(xué)習(xí)TensorFlow

    機(jī)器學(xué)習(xí) API(tf.contrib.learn),可以更容易地配置、訓(xùn)練和評(píng)估大量的機(jī)器學(xué)習(xí)模型??梢栽?
    發(fā)表于 07-28 14:34

    TensorFlow的特點(diǎn)和基本的操作方式

    Tensorflow是Google開源的深度學(xué)習(xí)框架,來自于Google Brain研究項(xiàng)目,在Google第一代分布式機(jī)器學(xué)習(xí)框架DistBelief的基礎(chǔ)上發(fā)展起來。
    發(fā)表于 11-23 09:56

    labview+yolov4+tensorflow+openvion深度學(xué)習(xí)

    /1XavCXSIOYaukCzER7eZQ3g提取碼:[hide] 3icg [/hide]隨著機(jī)器學(xué)習(xí), 深度學(xué)習(xí)的發(fā)展,很多人眼很難去直接量化的特征, 深度學(xué)習(xí)可以搞定, 這就是
    發(fā)表于 05-10 22:33

    TensorFlow的框架結(jié)構(gòu)解析

    TensorFlow是谷歌的第二代開源的人工智能學(xué)習(xí)系統(tǒng),是用來實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的內(nèi)置框架學(xué)習(xí)軟件庫。目前,TensorFlow機(jī)器
    發(fā)表于 04-04 14:39 ?7145次閱讀
    <b class='flag-5'>TensorFlow</b>的框架結(jié)構(gòu)解析

    機(jī)器學(xué)習(xí)框架Tensorflow 2.0的這些新設(shè)計(jì)你了解多少

    幾天前,Tensorflow剛度過自己的3歲生日,作為當(dāng)前最受歡迎的機(jī)器學(xué)習(xí)框架,Tensorflow在這個(gè)寶座上已經(jīng)盤踞了近三年。無論是成熟的Keras,還是風(fēng)頭正盛的pytorch
    的頭像 發(fā)表于 11-17 11:33 ?3191次閱讀

    如何用TensorFlow進(jìn)行機(jī)器學(xué)習(xí)研究

    從理論上講,這幾乎是您使用 TensorFlow 進(jìn)行機(jī)器學(xué)習(xí)研究所需要的全部?jī)?nèi)容。
    的頭像 發(fā)表于 02-05 10:06 ?2001次閱讀
    如何用<b class='flag-5'>TensorFlow</b>進(jìn)行<b class='flag-5'>機(jī)器</b><b class='flag-5'>學(xué)習(xí)</b>研究

    Swift for TensorFlow:無邊界機(jī)器學(xué)習(xí),值得大家期待

    據(jù)資料顯示,Swift for TensorFlow:無邊界機(jī)器學(xué)習(xí)簡(jiǎn)介主要是——Swift for TensorFlow 是為下一代機(jī)器
    的頭像 發(fā)表于 09-20 14:20 ?2952次閱讀

    谷歌推出開源的量子機(jī)器學(xué)習(xí)TensorFlow Quantum

    谷歌在其官方AI博客宣布推出TensorFlow Quantum(TFQ),這是一個(gè)開源的量子機(jī)器學(xué)習(xí)庫,可將量子計(jì)算與機(jī)器學(xué)習(xí)結(jié)合在一起,
    的頭像 發(fā)表于 03-11 14:25 ?2505次閱讀

    使用TensorFlow建立深度學(xué)習(xí)機(jī)器學(xué)習(xí)網(wǎng)絡(luò)

    教你使用TensorFlow建立深度學(xué)習(xí)機(jī)器學(xué)習(xí)網(wǎng)絡(luò)。
    發(fā)表于 03-26 09:44 ?18次下載

    輕松入門,高效成長(zhǎng): "TensorFlow 機(jī)器學(xué)習(xí)技能解鎖季"

    體系,體驗(yàn) TensorFlow 的最佳實(shí)踐模式? 《 TensorFlow 入門實(shí)操課程》 帶你零基礎(chǔ)快速上手 想高效實(shí)踐機(jī)器學(xué)習(xí)模型部署,借助
    的頭像 發(fā)表于 11-10 11:35 ?829次閱讀

    深度學(xué)習(xí)框架tensorflow介紹

    深度學(xué)習(xí)框架tensorflow介紹 深度學(xué)習(xí)框架TensorFlow簡(jiǎn)介 深度學(xué)習(xí)框架TensorFl
    的頭像 發(fā)表于 08-17 16:11 ?2599次閱讀