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

熱線電話:13121318867

登錄
首頁精彩閱讀機器學(xué)習(xí)故事匯-邏輯回歸算法
機器學(xué)習(xí)故事匯-邏輯回歸算法
2018-03-22
收藏

機器學(xué)習(xí)故事匯-邏輯回歸算法

今天我們要來討論的一個分類算法-邏輯回歸(你有沒有搞錯,這不還是回歸嗎,雖然名字帶上了回歸其實它是一個非常實用的分類算法)。,適合對數(shù)學(xué)很頭疼的同學(xué)們,小板凳走起!

先來吹一吹邏輯回歸的應(yīng)用,基本上所有的機器學(xué)習(xí)分類問題都可以使用邏輯回歸來求解,當(dāng)前拿到一份數(shù)據(jù)想做一個分類任務(wù)的時候第一手準備一定要拿邏輯回歸來嘗試(雖然有很多復(fù)雜的模型比如神經(jīng)網(wǎng)絡(luò),支持向量機的名氣更大,但是邏輯回歸卻更接地氣,用的最多的還是它)!在機器學(xué)習(xí)中無論是算法的推導(dǎo)還是實際的應(yīng)用一直有這樣的一種思想,如果一個問題能用簡單的算法去解決那么絕對沒必要去套用復(fù)雜的模型。

邏輯回歸中最核心的概念就是Sigmoid函數(shù)了,首先我們先來觀察一下它的自變量取值范圍以及值域,自變量可以是任何實數(shù)(這沒啥特別的?。┑俏覀冇^察值域的范圍是[0,1]也就是任意的一個輸入都會映射到[0,1]的區(qū)間上,我們來想一想這個區(qū)間有什么特別的含義嗎?在我們做分類任務(wù)的時候一般我都都會認為一個數(shù)據(jù)來了它要么是0要么是1(只考慮二分類問題),我們其實可以更細致一點得出來它是0或者1的可能性有多大,由此我們就得出了一個輸入屬于某一個類別的概率值,這個[0,1]不就恰好是這個概率嗎!

在這里我們的預(yù)測函數(shù)還是跟線性回歸沒有多大差別,只不過我們將結(jié)果又輸入到Sigmoid函數(shù)中,這樣得到了數(shù)據(jù)屬于類別的概率值。在推導(dǎo)過程中,我們假定分類是兩個類別的(邏輯回歸是經(jīng)典的而分類器)。設(shè)定y(標簽)要么取0要么取1,這樣就可以把兩個類別進行整合,得到一個更直觀的表達。

對于邏輯回歸的求解,已然沿用我們上次跟大家討論的梯度下降算法。給出似然函數(shù),轉(zhuǎn)換對數(shù)似然(跟線性回歸一致),但是我們現(xiàn)在的優(yōu)化目標卻跟之前不太一樣了,線性回歸的時候我們要求解的是最小值(最小二乘法),但是現(xiàn)在我們想得到的卻是使得該事件發(fā)生得最大值,為了沿用梯度下降來求解,可以做一個簡單的轉(zhuǎn)換添加一個負號以及一個常數(shù)很簡單的兩步就可以把原始問題依然轉(zhuǎn)換成梯度下降可以求解的問題。

此處求導(dǎo)過程看起來有些長,但也都是非常非?;镜倪\算了,感興趣拿起一支筆來實際算算吧!

最終就是參數(shù)更新了,迭代更新是機器學(xué)習(xí)的常規(guī)套路了。但是我們來簡單想一想另外的一個問題,現(xiàn)在我們說的邏輯回歸是一個二分類算法,那如果我的實際問題是一個多分類該怎么辦呢?這個時候就需要Softmax啦,引入了歸一化機制,來將得分值映射成概率值。

最后一句話總結(jié)一下吧,任何時候(沒錯就是這么狠)當(dāng)我們一個實際任務(wù)來了,第一個算法就是邏輯回歸啦,可以把它當(dāng)成我們的基礎(chǔ)模型,然后不斷改進對比!

數(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); }