99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀谷歌教你學(xué) AI -第二講機(jī)器學(xué)習(xí)的7個(gè)步驟
谷歌教你學(xué) AI -第二講機(jī)器學(xué)習(xí)的7個(gè)步驟
2017-12-29
收藏

谷歌教你學(xué) AI -第二講機(jī)器學(xué)習(xí)的7個(gè)步驟

Google Cloud發(fā)布了名為"AI Adventures"的系列視頻,用簡(jiǎn)單易懂的語(yǔ)言讓初學(xué)者了解機(jī)器學(xué)習(xí)的方方面面。

觀看更多國(guó)外公開課,點(diǎn)擊"閱讀原文"

上一期主要講了機(jī)器學(xué)習(xí)的概念(谷歌教你學(xué) AI -第一講機(jī)器學(xué)習(xí)是什么?),今天讓我們一起看到第二講:機(jī)器學(xué)習(xí)的7個(gè)步驟。

主講人還是來(lái)自Google Cloud的開發(fā)人員,華裔小哥Yufeng Guo。讓我們?cè)趯W(xué)習(xí)AI知識(shí)的同時(shí)來(lái)提高英語(yǔ)吧。

CDA字幕組目前在對(duì)該系列視頻進(jìn)行漢化,之后將繼續(xù)連載,歡迎關(guān)注和支持~

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

AI Adventures-第二講機(jī)器學(xué)習(xí)的7個(gè)步驟

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


從檢測(cè)皮膚癌到給黃瓜分類,以及檢測(cè)需要維修的電梯,機(jī)器學(xué)習(xí)賦予了計(jì)算機(jī)系統(tǒng)全新的能力。但它的背后到底是如何運(yùn)作的呢?我們來(lái)看一個(gè)簡(jiǎn)單的例子,并借此來(lái)聊一聊運(yùn)用機(jī)器學(xué)習(xí)從你的數(shù)據(jù)中得到信息的過程。

歡迎來(lái)到Cloud AI Adventures,我的名字叫Yufeng Guo。在這個(gè)節(jié)目里,我們會(huì)探索機(jī)器學(xué)習(xí)的藝術(shù)性、科學(xué)性以及相關(guān)工具。

假設(shè)我們要構(gòu)建一個(gè)系統(tǒng)用來(lái)判斷酒水是紅酒還是啤酒。我們構(gòu)建的這個(gè)問答系統(tǒng)稱為模型,構(gòu)建這個(gè)模型的過程稱為訓(xùn)練。

機(jī)器學(xué)習(xí)中訓(xùn)練的目的是建立一個(gè)準(zhǔn)確模型,在大多數(shù)情況下能夠地準(zhǔn)確回答問題。但是為了訓(xùn)練這個(gè)模型,我們需要收集用于訓(xùn)練的數(shù)據(jù),這就是我們開始著手的地方。

紅酒還是啤酒

我們通過裝著紅酒或啤酒的杯子來(lái)收集數(shù)據(jù),酒水中包含了方方面面的數(shù)據(jù)信息。比如泡沫的數(shù)量、杯子的形狀等。

但是出于我們的目的,只需要兩個(gè)簡(jiǎn)單的信息。顏色,記錄為光的波長(zhǎng);酒精含量,記錄為百分比。希望僅僅通過這兩個(gè)因素,我們能夠分辨出這兩種酒。從現(xiàn)在開始我們把這兩點(diǎn)稱為特征,顏色和酒精含量。

第一步就是去雜貨店買各種不同的酒,以及用于測(cè)量的設(shè)備。光譜儀用來(lái)衡量顏色,比重計(jì)用來(lái)衡量酒精含量。

第1步:收集數(shù)據(jù)

一旦設(shè)備和酒都齊全了,就可以開始進(jìn)行機(jī)器學(xué)習(xí)真正的第一步:收集數(shù)據(jù)。

這一步非常重要,因?yàn)槟闼占瘮?shù)據(jù)的質(zhì)量和數(shù)量將直接決定預(yù)測(cè)模型的效果。這個(gè)例子里 我們收集的數(shù)據(jù)就是,每種酒水的顏色和酒精含量。

這樣我們就可以得出一個(gè)表格,關(guān)于每種酒的顏色和酒精含量,是啤酒還是紅酒。這將成為我們的訓(xùn)練數(shù)據(jù)。

第2步:數(shù)據(jù)準(zhǔn)備

經(jīng)過幾小時(shí)的測(cè)量,我們得到了訓(xùn)練數(shù)據(jù),也許還喝了幾杯。下面是機(jī)器學(xué)習(xí)的第二步:數(shù)據(jù)準(zhǔn)備。我們將數(shù)據(jù)加載到合適的地方。進(jìn)行處理從而用于機(jī)器學(xué)習(xí)的訓(xùn)練。

首先把所有數(shù)據(jù)放在一起,任意排列。不要讓數(shù)據(jù)的順序影響到學(xué)習(xí)的效果,排列并不是判斷酒水種類的因素。換句話說,我們不想讓序列中酒水的前后排列順序,影響對(duì)酒水種類的判斷。

這時(shí)也可以對(duì)數(shù)據(jù)進(jìn)行相關(guān)可視化,幫助判斷不同變量之間是否存在相應(yīng)關(guān)系,以及是否存在數(shù)據(jù)失衡。

例如,如果我們收集的數(shù)據(jù)點(diǎn)中啤酒的數(shù)據(jù)要遠(yuǎn)多于紅酒,那么訓(xùn)練出來(lái)的模型就會(huì)有嚴(yán)重的偏差,偏向把酒水都判斷為啤酒。因?yàn)樵诖蟛糠智闆r下這不會(huì)錯(cuò)。然而在實(shí)際情況中,模型會(huì)處理差不多數(shù)量的啤酒和紅酒。意味著判斷為啤酒一半情況都是錯(cuò)的。

我們還需要把數(shù)據(jù)分成兩部分,用于訓(xùn)練模型的第一部分將是數(shù)據(jù)集的主要數(shù)據(jù);第二部分用于評(píng)估訓(xùn)練模型的效果。

我們不想把訓(xùn)練用的數(shù)據(jù)用于評(píng)估,因?yàn)槟P蜁?huì)記住這些問題。就像你不會(huì)把數(shù)學(xué)作業(yè)里的問題作為考試內(nèi)容一樣。

有時(shí)我們收集的數(shù)據(jù)需要其他方式的調(diào)整和處理。比如去重、標(biāo)準(zhǔn)化、誤差修正等等。這些都在數(shù)據(jù)準(zhǔn)備過程中進(jìn)行。在這里我們不需要進(jìn)一步的數(shù)據(jù)準(zhǔn)備,所以讓我們繼續(xù)。

第3步:選擇模型

我們工作流程的下一步是:選擇模型。

在過去研究者和數(shù)據(jù)科學(xué)家,已經(jīng)建立了很多模型。有些非常適用于圖像數(shù)據(jù);有些適用于文字、音樂這種序列數(shù)據(jù);有的適用于數(shù)字?jǐn)?shù)據(jù),還有一些適用于文本數(shù)據(jù)。

這里我們只有兩個(gè)特征:顏色和酒精含量,我們用一個(gè)小型線性模型就足夠了。這個(gè)模型很簡(jiǎn)單但足以完成任務(wù)。

第4步:訓(xùn)練

現(xiàn)在進(jìn)行下一步,這通常被認(rèn)為是機(jī)器學(xué)習(xí)的主體部分:訓(xùn)練。

這一步我們將用數(shù)據(jù),逐步提高模型預(yù)測(cè)酒水為紅酒或啤酒的能力。這有點(diǎn)類似初次學(xué)開車,一開始初學(xué)者完全不知道踏板 把手、開關(guān)的作用,或者什么時(shí)候要用到。但是經(jīng)過許多次的練習(xí)和糾錯(cuò),就能成為有駕照的司機(jī)了。在開車一年之后就成為老司機(jī)了。在現(xiàn)實(shí)中駕駛提高了駕駛水平,磨練了技術(shù)。

針對(duì)酒水我們將從更小的范圍著手。直線方程是y=m*x+b。x是輸入,m是斜率,b是y軸截距,y是直線x位置上的值。我們能夠調(diào)整和訓(xùn)練的值只有m和b,m是斜率,b是y軸截距。沒有其他改變直線位置的方式,因?yàn)樽兞恐挥衳輸入和y輸出。

機(jī)器學(xué)習(xí)中可能存在很多m,因?yàn)橛泻芏?a href='/map/tezheng/' style='color:#000;font-size:inherit;'>特征。這些值通常構(gòu)成矩陣,稱為w即權(quán)重矩陣。類似的我們把b集合在一起,稱為偏差

訓(xùn)練過程包含對(duì)w和b賦予一些隨機(jī)數(shù)初始化,以及嘗試用這些值預(yù)測(cè)輸出??梢韵胂笠婚_始結(jié)果會(huì)很糟糕。但是我們可以將模型預(yù)測(cè)值與應(yīng)該得出的值進(jìn)行比較,進(jìn)而調(diào)整w和b的值。這樣下一次能夠得出更準(zhǔn)確的預(yù)測(cè)。

然后不斷重復(fù)這個(gè)過程。每次更新權(quán)重和變量的迭代或周期稱為一個(gè)訓(xùn)練步驟(training step)。看看這對(duì)我們的數(shù)據(jù)集具體意味著什么。

就像在數(shù)據(jù)中任意畫一條線。隨著訓(xùn)練的進(jìn)展,這條線一步步移動(dòng),逐步接近區(qū)分紅酒和啤酒的理想方式。

第5步:評(píng)估

一旦訓(xùn)練完成,就要進(jìn)行評(píng)估,查看模型的效果。

這時(shí)就要用到之前預(yù)留的數(shù)據(jù)。評(píng)估讓我們用訓(xùn)練中未使用的數(shù)據(jù)測(cè)試模型,這個(gè)指標(biāo)讓我們用新數(shù)據(jù)測(cè)試模型的性能,這可以代表模型在現(xiàn)實(shí)情況中的效果。

根據(jù)經(jīng)驗(yàn)法則,我一般將訓(xùn)練和評(píng)估數(shù)據(jù)按照80/20或者70/30分配。大多情況下取決于原始源數(shù)據(jù)集的大小。如果數(shù)據(jù)很多可能就不需要太多的測(cè)試數(shù)據(jù)集。

第6步:參數(shù)調(diào)整

完成評(píng)估之后你想看看是否能夠進(jìn)一步提高訓(xùn)練??梢酝ㄟ^調(diào)整一部分參數(shù),我們隱含假設(shè)有一些參數(shù)在訓(xùn)練時(shí)已經(jīng)調(diào)整了?,F(xiàn)在可以回頭看看測(cè)試這些假設(shè),試試這些值。

舉個(gè)例子,有一個(gè)參數(shù)我們可以調(diào)整,即在訓(xùn)練中訓(xùn)練數(shù)據(jù)集運(yùn)行了多少次??梢远啻问褂眠@些數(shù)據(jù),從而提高精度。

另外一個(gè)參數(shù)是學(xué)習(xí)率,這規(guī)定了在每一步線移動(dòng)的幅度。根據(jù)上一次訓(xùn)練步驟得到的信息,這些值都會(huì)影響模型的準(zhǔn)確性以及訓(xùn)練時(shí)長(zhǎng)。

對(duì)于更復(fù)雜的模型,初始條件也會(huì)大大影響訓(xùn)練結(jié)果。根據(jù)模型開始訓(xùn)練時(shí),初始值是為0還是其他值的分布以及分布是什么,得出的結(jié)果會(huì)有區(qū)別。

可以看到訓(xùn)練的這一階段,有很多因素值得考慮。重要的是要定義什么決定了模型的好壞。否則將花很長(zhǎng)的時(shí)間調(diào)整參數(shù)。

這些參數(shù)通常被稱為超參數(shù)。調(diào)整超參數(shù)的過程比起科學(xué)更像是藝術(shù)。這是實(shí)驗(yàn)性的過程,并很大程度上取決于具體的數(shù)據(jù)集、模型和訓(xùn)練過程。

一旦滿意你的訓(xùn)練和超參數(shù),通過評(píng)估步驟,終于可以做一些有用的事情了。

第7步:預(yù)測(cè)

機(jī)器學(xué)習(xí)用數(shù)據(jù)來(lái)解答問題,因此預(yù)測(cè)或推斷就是解答問題的步驟,這是所有工作的重點(diǎn),即實(shí)現(xiàn)機(jī)器學(xué)習(xí)價(jià)值的地方。

我們終于可以用模型,根據(jù)顏色和酒精含量,預(yù)測(cè)酒水為紅酒還是啤酒。

總結(jié)

機(jī)器學(xué)習(xí)的強(qiáng)大在于,我們可以用模型來(lái)測(cè)定和區(qū)分紅酒與啤酒,而不是通過人的主觀判斷或者經(jīng)驗(yàn)。你可以把今天所講的概念,拓展到適用這些規(guī)則的其他領(lǐng)域:

機(jī)器學(xué)習(xí)的7個(gè)步驟:

· 收集數(shù)據(jù)

· 準(zhǔn)備數(shù)據(jù)

· 選擇模型

· 訓(xùn)練

· 評(píng)估

· 超參數(shù)調(diào)整

· 預(yù)測(cè)

TensorFlow Playground

如果你想了解更多關(guān)于訓(xùn)練和參數(shù)的信息,可以訪問TensorFlow Playground。這是完全基于瀏覽器的機(jī)器學(xué)習(xí)沙盒,你可以嘗試不同的參數(shù),用模擬數(shù)據(jù)進(jìn)行訓(xùn)練。不用擔(dān)心 ,你不會(huì)把網(wǎng)站崩掉。

下期預(yù)告

當(dāng)然在之后的視頻中,我們會(huì)遇到更多的步驟和區(qū)別。但這作為幫我們理解問題很好的基本框架,用通用的語(yǔ)言考慮每一步,并在以后更加深入。

在下一期的AI adventures,我們將用代碼構(gòu)建第一個(gè)真正的機(jī)器學(xué)習(xí)模型。


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }