
邏輯回歸算法學(xué)習(xí)與思考
本文是作者對于邏輯回歸算法的學(xué)習(xí)和思考,主要介紹:邏輯回歸的算法介紹、邏輯回歸的數(shù)學(xué)原理、邏輯回歸的實(shí)際應(yīng)用、邏輯回歸的總結(jié)以及網(wǎng)絡(luò)安全場景預(yù)測,歡迎大家參考討論。
邏輯回歸的算法介紹
邏輯回歸(Logistic regression)是機(jī)器學(xué)習(xí)分類算法的其中一種,核心思想是利用現(xiàn)有數(shù)據(jù)對分類邊界建立回歸方程,以此進(jìn)行分類?;貧w可以理解為最佳擬合,是一種選擇最優(yōu)分類的算法。
邏輯歸回中會(huì)有一些新詞匯需要理解。
h函數(shù): 根據(jù)輸入的數(shù)據(jù)預(yù)測類別的函數(shù),Andrew Ng的公開課中稱為hypothesis function。
j函數(shù): 我們需要一個(gè)機(jī)制去評估我們的h函數(shù)的好壞,j函數(shù)的作用是評估h函數(shù)的好壞,一般這個(gè)函數(shù)稱為損失函數(shù)(loss function)或者錯(cuò)誤函數(shù)(error function)。
邏輯回歸的數(shù)學(xué)原理
h函數(shù)相關(guān)(預(yù)測函數(shù))
首先,我們先看看邏輯回歸的預(yù)測函數(shù),h函數(shù)!
其中含有θ (又稱:theta)的變量為(當(dāng)x0=1時(shí),可以進(jìn)行矩陣變換):
h函數(shù)的原型函數(shù)為sigmoid函數(shù),展示如下:
sigmoid方程的圖形如下,sigmoid函數(shù)的取值范圍為 (0,1)
這里進(jìn)行下小結(jié),邏輯回歸的預(yù)測函數(shù)使用sigmoid函數(shù)作為原型函數(shù),然后對sigmoid函數(shù)的x進(jìn)行替換,替換為一個(gè)多元一次方程。其中多元一次方程的θ為我要尋找最優(yōu)組合的內(nèi)容。
j函數(shù)相關(guān)
j函數(shù)的目標(biāo)就是找到一組最佳θ,使得J(θ)的值最小。
我們可以利用梯度下降算法來求得J(θ)的值最小,根據(jù)梯度下降法可得θ的更新過程。j=0 時(shí),代表更新j向量的第0分量,j=1 時(shí),代表更新j向量的第1分量,以此類,為了方便理解,可以把j看成數(shù)組vector_j,j=0,就是更新vector_j[0]。α為學(xué)習(xí)步長。
經(jīng)過一些數(shù)學(xué)推導(dǎo)的最終形式如下(推導(dǎo)過程為對θ求偏導(dǎo)數(shù))。
ps:xj為x向量的第j分量,還可以理解為x數(shù)組的第j項(xiàng),其實(shí)下圖是對θ數(shù)組的第j項(xiàng)進(jìn)行更新的算式,然而真正代碼角度是對整個(gè)θ數(shù)組進(jìn)行更新,也就是下下圖的樣子。
當(dāng)我們把上式向量化處理就得到了代碼可以處理的形式。
對比著代碼看(代碼出自《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)》)
這里進(jìn)行下小結(jié),我們?yōu)榱藢ふ易罴训摩冉M合,設(shè)置了J(θ)函數(shù),我們利用已知數(shù)據(jù)(建模的訓(xùn)練數(shù)據(jù))來尋找最優(yōu)的θ組合使得J(θ)最小,而我們找最優(yōu)θ組合的算法為梯度下降算法。
邏輯回歸的實(shí)際應(yīng)用
目前單機(jī)使用機(jī)器學(xué)習(xí)算法的python庫為sklearn庫,實(shí)例如下。
使用該模型,需要手工調(diào)整函數(shù)的參數(shù),這個(gè)需要對算法進(jìn)行理解。
邏輯回歸的總結(jié)
Logistic Regression算法作為一個(gè)二分類算法,主要解決的是線性可分的問題,對于多分類算法,可以利用Softmax Regression算法。
Softmax Regression是一般化的Logistic Regression,可以把Logistic Regression看成Softmax Regression的特例。
那么Softmax Regression和Logistic Regression該怎么選擇呢?參考Stanford的文章的內(nèi)容。
Softmax 回歸 vs. k 個(gè)二元分類器
如果你在開發(fā)一個(gè)音樂分類的應(yīng)用,需要對k種類型的音樂進(jìn)行識別,那么是選擇使用 softmax 分類器呢,還是使用 logistic 回歸算法建立 k 個(gè)獨(dú)立的二元分類器呢?
這一選擇取決于你的類別之間是否互斥,例如,如果你有四個(gè)類別的音樂,分別為:古典音樂、鄉(xiāng)村音樂、搖滾樂和爵士樂,那么你可以假設(shè)每個(gè)訓(xùn)練樣本只會(huì)被打上一個(gè)標(biāo)簽(即:一首歌只能屬于這四種音樂類型的其中一種),此時(shí)你應(yīng)該使用類別數(shù) k = 4 的softmax回歸。(如果在你的數(shù)據(jù)集中,有的歌曲不屬于以上四類的其中任何一類,那么你可以添加一個(gè)“其他類”,并將類別數(shù) k 設(shè)為5。)
如果你的四個(gè)類別如下:人聲音樂、舞曲、影視原聲、流行歌曲,那么這些類別之間并不是互斥的。例如:一首歌曲可以來源于影視原聲,同時(shí)也包含人聲 。這種情況下,使用4個(gè)二分類的 logistic 回歸分類器更為合適。這樣,對于每個(gè)新的音樂作品 ,我們的算法可以分別判斷它是否屬于各個(gè)類別。
現(xiàn)在我們來看一個(gè)計(jì)算視覺領(lǐng)域的例子,你的任務(wù)是將圖像分到三個(gè)不同類別中。(i) 假設(shè)這三個(gè)類別分別是:室內(nèi)場景、戶外城區(qū)場景、戶外荒野場景。你會(huì)使用sofmax回歸還是 3個(gè)logistic 回歸分類器呢? (ii) 現(xiàn)在假設(shè)這三個(gè)類別分別是室內(nèi)場景、黑白圖片、包含人物的圖片,你又會(huì)選擇 softmax 回歸還是多個(gè) logistic 回歸分類器呢?
在第一個(gè)例子中,三個(gè)類別是互斥的,因此更適于選擇softmax回歸分類器 。而在第二個(gè)例子中,建立三個(gè)獨(dú)立的 logistic回歸分類器更加合適。
網(wǎng)絡(luò)安全場景下的實(shí)踐
邏輯回歸算法作為一個(gè)二分類機(jī)器學(xué)習(xí)算法,主要優(yōu)勢是學(xué)習(xí)速度快,算法好理解,預(yù)測速度快等特點(diǎn),并且神經(jīng)網(wǎng)絡(luò)在神經(jīng)元上也是采用的是邏輯回歸算法,因此在這個(gè)深度學(xué)習(xí)的大背景下,安全人員還是要學(xué)習(xí)邏輯回歸算法。
對于在安全攻防上使用邏輯回歸算法,我們先要明白邏輯回歸算法的本質(zhì):邏輯回歸是分類算法。
吸星是安全在機(jī)器學(xué)習(xí)實(shí)踐上一個(gè)非常好的例子,由于吸星使用的是樸素貝葉斯分類算法,那么吸星能不能使用邏輯回顧呢?效果如何呢?這是值得實(shí)踐的。
異常流量識別,由于瞬時(shí)流量或者流量區(qū)間中會(huì)存在非常多的屬性,而且異常流量識別屬于二分類,邏輯回歸對于異常流量監(jiān)測問題,這也是非常值得實(shí)踐的。
網(wǎng)站異常URL識別,對于一個(gè)網(wǎng)站,URL的形式具有一定特征的,那么如果被種植了webshell,那么webshell的URL可能會(huì)與正常URL存在差異,因此利用此邏輯回歸也是能解決這類問題的。
其實(shí)總結(jié)起來就是,只要每一條數(shù)據(jù)可以有多個(gè)屬性,就可以利用邏輯回歸。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10