機器學習與數據挖掘—邏輯迴歸

邏輯迴歸,名爲迴歸,實際爲分類

線性迴歸直接分析x與y的關係
LR分析y取某個值的概率和x的關係

分類:根據模型,對輸入數據/樣本,預測其歸屬的類別。
其中,最常見的就是二分類模型,例如邏輯迴歸。

邏輯迴歸模型,就是每個特徵的迴歸係數,即wT。

性質:
◆線性分類器,若無特殊處理,無法解決非線性問題。
建模過程:
◆通過訓練數據集,計算出“最合適”的係數向量。
◆“最合適”,可理解爲錯誤概率最低的情況。
應用:
◆分類建模效果的Baseline之一。

類別A+非類別A

在這裏插入圖片描述
正確率(accuracy)
accuracy=(TP+TN)/(TP+TN+FP+FN)
精度(precision)
precision=TP/(TP+FP)
召回率(recall)
recall=TP/(TP+FN)
F1 score
F1=2pr/(p+r) # p=precision,r=recall

logistic迴歸(LR),是一種廣義的線性迴歸分析模型。
常用於數據挖掘,疾病自動診斷,經濟預測等領域。

優點:

計算代價相對較低,思路清晰易於理解和實現。
輸出範圍有限,數據在傳遞過程中不容易發散
輸出範圍爲(0,1),所以可以用作輸出層,輸出表示概率
抑制兩頭,對中間細微變化敏感,對分類有利

缺點:

線性分類器(單一無法處理非線性),容易欠擬合,分類精度可能不高。

線性變換 :
在這裏插入圖片描述

Sigmoid函數:
在這裏插入圖片描述
該函數可以把負無窮到正無窮的數映射到0-1的區間內
單位階躍函數在0處不可導,計算麻煩,因此選用Sigmoid函數

極大似然估計

最大化每個樣本屬於真實標籤的概率,則採用極大似然估計

Maximum likelihood:利用已知的樣本結果,反推最有可能導致這樣結果的參數值。

利用實驗結果D={x1,x2…,Xw},得到某個參數值e,使樣本出現的概率最大。

參考概率論

梯度

梯度是一個方向向量
表示某一函數在某點處沿着該方向(梯度的方向)變化最快

邏輯迴歸的一般過程

收集數據:採用任意方法收集數據
準備數據:由於需要進行距離計算,因此要求數據類型爲數值型。另外,結構化數據格式則爲最佳
分析數據:採用任意方法對數據進行分析
訓練算法:大部分時間將用於訓練,訓練的目的是爲了找到最佳的分類迴歸係數
測試算法:一旦訓練步驟完成,分類將會很快
使用算法:首先,我們需要輸入一些數據並將其轉換成對應的結構化數值,接着,基於訓練好的迴歸係數就可以對這些進行簡單的迴歸計算,判定它們屬於哪個類別;在這·之後,我們就可以在輸出的類別上做一些其他分析工作

邏輯迴歸的關鍵

爲了實現Logistic迴歸分類器,我們可以在每個特徵上都乘以一個迴歸係數,然後把所有結果值相加,將這個總和帶入Sigmoid函數中,進而得到一個範圍在0~1之間的數字。任何大於0.5的數據被分爲1類,小於0.5的被分爲0類。所以嗎,Logistic迴歸也可以被看成是一種概率估計。

確定了分類器的函數後。現在的問題變成了:最佳迴歸係數是多少?如何確定它們的大小?

爲什麼使用Sigmoid函數

在兩個類的情況下。上述函數輸出0或1,這樣有助於更好的分類。擁有這種性質的函數有很多,但Sigmoid函數的優點太多。

關於更詳細的解答參考點我查看

如何確定最佳迴歸係數

梯度上升法:要找到某函數的最大值,最好的方法就是沿着該函數的梯度方向探尋。(局部最優拓展到總體最優)
梯度下降法:求函數的最小值,類似於上升法,只是公式中的加號變爲減號。

局部最優的迭代選擇公式將一直執行,直到達到某個停止條件爲止,比如迭代次數達到某個指定值或算法達到某個可允許的誤差範圍。

梯度上升法

僞代碼:
每個迴歸係數初始化爲1
重複R次:
計算整個數據集的梯度
使用alpha×gradient更新迴歸係數的向量
返回迴歸係數

隨機梯度上升

僞代碼

所有迴歸係數初始化爲1
對數據集中每個樣本
計算該樣本的梯度
使用alpha×gradient更新迴歸係數值
返回迴歸係數值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章