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

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代機器學習中的偏差和方差是什么?有哪些區(qū)別?
機器學習中的偏差和方差是什么?有哪些區(qū)別?
2020-07-20
收藏

偏差方差是我們在機器學習中經(jīng)常遇到的兩個概念,而且在有關(guān)機器學習的面試中,偏差方差也經(jīng)常拿來考驗面試者的機器學習的基礎(chǔ)知識。偏差方差這兩者看似簡單,但要真正弄清楚兩者之間的聯(lián)系與區(qū)別,必須要下大功夫才可以。今天小編就為大家整理、分享偏差方差的那些聯(lián)系與區(qū)別。希望對大家有所幫助。

一、偏差方差的概念

機器學習中,當我們用訓練數(shù)據(jù)集去訓練一個模型時,一般的做法就是定義一個誤差函數(shù),通過將這個誤差的最小化過程,以此來提高模型的性能。但是,我們學習一個模型通常是為了解決訓練數(shù)據(jù)集這一領(lǐng)域中的一般化問題,因此單純地將訓練數(shù)據(jù)集的損失最小化,并不能保證在解決更為一般的問題時,模型仍然是最優(yōu)的,甚至連保證模型是否可用都不能保證。這個訓練數(shù)據(jù)集的損失,與一般化的數(shù)據(jù)集的損失之間的差異,也就是泛化誤差generalization error。而泛化誤差又可以分解為以下三項:

偏差(Biase)、方差(Variance)和噪聲(Noise)。

偏差Biase:描述的是所有可能的訓練數(shù)據(jù)集訓練出的所有模型的輸出的平均值與真實模型的輸出值之間的差異。偏差越大,越偏離真實數(shù)據(jù),如上圖第二行所示。

方差Variance:描述的是不同的訓練數(shù)據(jù)集訓練出的模型輸出值之間的差異,也就是離其期望值的距離。方差越大,數(shù)據(jù)的分布越分散,如上圖右列所示。

噪聲Noise:是學習算法所無法解決的問題,數(shù)據(jù)的質(zhì)量決定了學習的上限。假設(shè)在數(shù)據(jù)已經(jīng)給定的情況下,此時學習的上限已經(jīng)確定,而這時我們需要做的就是盡可能的接近這個上限。

二、偏差方差的數(shù)學定義

泛化誤差

以回歸任務(wù)為例, 學習算法的平方預(yù)測誤差期望為:

方差

在一個訓練集 D 上模型 f 對測試樣本 x 的預(yù)測輸出為 f(x;D), 那么學習算法 f 對測試樣本 x 的 期望預(yù)測 為:

上面的期望預(yù)測也就是針對 不同 數(shù)據(jù)集 D, f 對 x 的預(yù)測值取其期望, 也被叫做 average predicted。

使用樣本數(shù)相同的不同訓練集產(chǎn)生的方差為:

噪聲

噪聲為真實標記與數(shù)據(jù)集中的實際標記間的偏差:

偏差

期望預(yù)測與真實標記的誤差稱為偏差(bias), 為了方便起見, 我們直接取偏差的平方:

我們回憶下剛才提到的泛化誤差:

現(xiàn)在對該期望泛化誤差進行分解:

對最終的推導結(jié)果稍作整理:

三、學習曲線

偏差與高方差

我們通常用使用代價函數(shù)J,也就是平方差函數(shù),來評價數(shù)據(jù)擬合程度好壞。在只關(guān)注Jtrain(θ)(訓練集誤差)的情況下,通常會導致過擬合,因此也必須要關(guān)注Jcv(θ)也就是交叉驗證集誤差。學習曲線 的橫軸是樣本數(shù),縱軸為 訓練集 和 交叉驗證集 的 誤差。

偏差:高偏差情況下,Jtrain(θ)Jcv(θ)誤差都很大,并且Jtrain很接近Jcv(θ)。對應(yīng)欠擬合。

方差Jtrain(θ)較小,Jcv(θ)誤差很大。對應(yīng)過擬合。

在實際優(yōu)化情況下,更多的是對防止過擬合參數(shù)λ的調(diào)整,λ對應(yīng)的是正則化系數(shù),λ越大,代表著對過擬合的限制越強。下圖就是λ和,Jtrain(θ)Jcv(θ)理想曲線。

推薦學習書籍
《CDA一級教材》適合CDA一級考生備考,也適合業(yè)務(wù)及數(shù)據(jù)分析崗位的從業(yè)者提升自我。完整電子版已上線CDA網(wǎng)校,累計已有10萬+在讀~

免費加入閱讀:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0

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

若不方便掃碼,搜微信號: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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".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 = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+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); }