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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀機(jī)器學(xué)習(xí)入門(mén)之多項(xiàng)式曲線擬合
機(jī)器學(xué)習(xí)入門(mén)之多項(xiàng)式曲線擬合
2018-06-22
收藏

機(jī)器學(xué)習(xí)入門(mén)之多項(xiàng)式曲線擬合

機(jī)器學(xué)習(xí)和人工智能是最近幾年特別火的領(lǐng)域,比如微軟小冰、微軟cortana、蘋(píng)果siri、谷歌Now和alphaGo都使用了機(jī)器學(xué)習(xí),使得他們的產(chǎn)品變得更加智能。
當(dāng)然除了這些科技巨頭,其實(shí)我們?nèi)粘V幸部赡軙?huì)使用到人工智能的產(chǎn)品,比如最常見(jiàn)的就是app上的個(gè)性化推薦,通過(guò)多維度分析用戶(hù)的個(gè)性,給用推薦合適的內(nèi)容,當(dāng)然我個(gè)人是很討厭推薦的,基本不點(diǎn)開(kāi)看。下面我將分為兩個(gè)部分來(lái)闡述多項(xiàng)式曲線擬合。

什么是多項(xiàng)式曲線擬合

如何評(píng)估擬合結(jié)果


1、什么是多項(xiàng)式曲線擬合

首選我們以一個(gè)回歸的例子展開(kāi)闡述,現(xiàn)在假設(shè)給定一個(gè)訓(xùn)練集。這個(gè)訓(xùn)練集由x的N次觀測(cè)組成,寫(xiě)作 ≡ (x1,…,xN)T,伴隨這 對(duì)應(yīng)的t的觀測(cè)值,記作 ≡ (t1, …, tN )T,圖1展示了由N = 10個(gè)數(shù)據(jù)點(diǎn)組成的圖像。圖1.2中 的輸入數(shù)據(jù)集合 通過(guò)選擇xn(n = 1, … , N)的值來(lái)生成。這些xn均勻分布在區(qū)間[0, 1],目標(biāo)數(shù) 據(jù)集 的獲得方式是:首先計(jì)算函數(shù)sin(2πx)的對(duì)應(yīng)的值,然后給每個(gè)點(diǎn)增加一個(gè)小的符合高斯分布的隨機(jī)噪聲。

現(xiàn)在我們輸入一個(gè)新值x來(lái)預(yù)測(cè)相應(yīng)的t值。首選我們需要通過(guò)訓(xùn)練得出的多項(xiàng)式為y(x,w),y(x,w)是一個(gè)多項(xiàng)式:


y(x,w)是曲線多項(xiàng)式,它是一個(gè)逼近我們真實(shí)曲線的多項(xiàng)式。

2、如何評(píng)估擬合結(jié)果

在上式y(tǒng)(x,w)中M是多項(xiàng)式的階數(shù)(order),xj表示x的j次冪。多項(xiàng)式系數(shù)w0,…,wM整體記作向量w。 注意,雖然多項(xiàng)式函數(shù)y(x, w)是x的一個(gè)非線性函數(shù),它是系數(shù)w的一個(gè)線性函數(shù)。通過(guò)最小化誤差函數(shù) (error function)來(lái)衡量了對(duì)于任意給定的w值,函數(shù)y(x, w)與訓(xùn)練集數(shù)據(jù)的差別。如圖所示:

那么我可以知道誤差函數(shù)為:

其中1/2是為了方便計(jì)算引入的。
我們可以通過(guò)選擇使得E(w)盡量小的w來(lái)解決曲線擬合問(wèn)題。由于誤差函數(shù)是系數(shù)w的二次函數(shù),因此它關(guān)于系數(shù)的導(dǎo)數(shù)是w的線性函數(shù),所以誤差函數(shù)的最小值有一個(gè)唯一解,記 作w?,可以用解析的方式求出。最終的多項(xiàng)式函數(shù)由函數(shù)y(x, w?)給出。

從圖中我們可以看出M=0和M=1擬合效果很差,我們稱(chēng)之為欠擬合,M=3擬合看起來(lái)和真實(shí) 的曲線差不多,但是當(dāng)M=9的時(shí)候,擬合曲線激烈震蕩,我們稱(chēng)之為過(guò)擬合。如此看來(lái),曲線擬合的泛化性和M的取值有直接的關(guān)系,而M得值我們稱(chēng)之為模型特征個(gè)數(shù),比如說(shuō)房子的價(jià)格和房子面積有關(guān)系,和房子方向(南北向)有關(guān)系,那么面積是房子價(jià)格數(shù)學(xué)模型中的一個(gè)特征,房子方向也是一個(gè)特征。
為了定量考察泛化性和M之間的關(guān)系,我們額外考慮一個(gè)測(cè)試集,這個(gè)測(cè)試集由100個(gè)數(shù)據(jù) 點(diǎn)組成,這100個(gè)數(shù)據(jù)點(diǎn)的生成方式與訓(xùn)練集的生成方式完全相同,但是在目標(biāo)值中包含的隨機(jī) 噪聲的值不同。對(duì)于每個(gè)不同的M值,我用用根均方(RMS)來(lái)表示測(cè)試誤差:

其中,除以N讓我們能夠以相同的基礎(chǔ)對(duì)比不同大小的數(shù)據(jù)集,平方根確保了E_RMS與目標(biāo) 變量t使用相同的規(guī)模和單位進(jìn)行度量。下圖展示了不同M值和E_RMS的關(guān)系:

從中我們可以看到,M=3-8測(cè)試誤差和訓(xùn)練誤差都比較低。能夠取得較好的效果。
對(duì)已一個(gè)給定的模型復(fù)雜度,當(dāng)數(shù)據(jù)集的規(guī)模增加時(shí),過(guò)擬合問(wèn)題變得不那么嚴(yán)重。另一種表 述方式是,數(shù)據(jù)集規(guī)模越大,我們能夠用來(lái)擬合數(shù)據(jù)的模型就越復(fù)雜(即越靈活)。一個(gè)粗略的啟發(fā)是,數(shù)據(jù)點(diǎn)的數(shù)量不應(yīng)該小于模型的可調(diào)節(jié)參數(shù)的數(shù)量的若干倍(比如5或10)。下圖是使用M = 9的多項(xiàng)式對(duì)M = 15個(gè)數(shù)據(jù)點(diǎn)(左圖)和N = 100個(gè)數(shù)據(jù)點(diǎn)(右圖)通過(guò)最小化平方和 誤差函數(shù)的方法得到的解。我們看到增大數(shù)據(jù)集的規(guī)模會(huì)減小過(guò)擬合問(wèn)題。

因此,我們了解到增加數(shù)據(jù)可以減小過(guò)擬合問(wèn)題。但是我們又引來(lái)新的問(wèn)題,那就是不得不根據(jù)可得到的訓(xùn)練集的規(guī)模限制參數(shù)的數(shù)量。也可以說(shuō)是根據(jù)待解決的問(wèn)題的復(fù)雜性來(lái)選擇模型的復(fù)雜性。我們可能期望建立相對(duì)復(fù)雜和靈活的模型,所以我們經(jīng)常用來(lái)控制過(guò)擬合現(xiàn)象的一種技術(shù)是正則化(regularization)。這種技術(shù)涉及到給誤差函數(shù)增加一個(gè)懲罰項(xiàng),使得系數(shù)不會(huì)達(dá)到很大的值。這種懲罰項(xiàng)最簡(jiǎn)單的形式采用所有系數(shù)的平方和的形式。

其中∥w∥^2 ≡ wT w = w0^2 + w1^2 + … + wM^2 ,系數(shù)λ控制了正則化項(xiàng)相對(duì)于平方和誤差項(xiàng)的重要性,被稱(chēng)之為正則化系數(shù)。通過(guò)引入正則化項(xiàng)可以減少過(guò)擬合的問(wèn)題。下圖是正則化系數(shù)對(duì)過(guò)擬合影響圖:

使用正則化的誤差函數(shù),用M = 9的多項(xiàng)式擬合圖中的數(shù)據(jù)集。其中正則化參數(shù)λ選擇 了兩個(gè)值,分別對(duì)應(yīng)于ln λ = ?18和ln λ = 0。因此引入正則化項(xiàng)也可以減少過(guò)擬合問(wèn)題。

總結(jié)

在多項(xiàng)式虛線擬合過(guò)程中,我們遇到了兩個(gè)問(wèn)題,一個(gè)是欠擬合,一個(gè)是過(guò)擬合,對(duì)于欠擬合我們只需要增加參數(shù)(或者說(shuō)特征)是擬合更加好,對(duì)于過(guò)擬合,我們提到了兩種方式來(lái)解決,一個(gè)是增加數(shù)據(jù),通過(guò)增加數(shù)據(jù)的方式增加引入更多的特征從而減少過(guò)擬合,另一種是增加正則化項(xiàng)。


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

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

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

OK
客服在線
立即咨詢(xún)
客服在線
立即咨詢(xún)
') } 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, // 表示用戶(hù)后臺(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ù)說(shuō)明請(qǐng)參見(jiàn):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); }