五:邏輯迴歸

背景知識

最大似然估計

先記着怕明天忘了,特地去看了考研視頻。
所謂最大似然估計,估計的是:當參數 = ?時,觀測值所出現的概率最大。
舉個宇哥的例子,迎面走來一個人,你不知道他是國家一級運動員,還是二級運動員。所以是騾子是馬拉出來溜溜:
如果這個人打槍,打了5次,成績是10,9,9,10,10環,那我推測這人十有八九是一級運動員
如果成績是3,4,5,3,2環,那我推測這個人應該是二級運動員。
對應上面的定義,翻譯如下:
當參數是一級運動員的情況下,成績是10,9,9,10,10環 出現的概率是很大的。
當參數是二級運動員的情況下,成績是3,4,5,3,2環 出現的概率是很大的。
在這裏插入圖片描述
在機器學習中,前面一個可以看做是類別label,後面可以看做是特徵feature。
翻譯成機器學習的話就是,出現一組特徵,你要求出他的類別(即當這個類別是什麼時,這組特徵才最有可能實現)是不是有分類的味了
具體深究:https://blog.csdn.net/zengxiantao1994/article/details/72787849

梯度下降法

舉個例子就明白了。比如二次函數 y = x2。導數:2x。
在 x = -1 時 導數爲-2,方向是負的,即往座標左側,是增加最快的
在 x = 1 時 導數爲2,方向是正的,即往座標右側,是增加最快的
在這裏插入圖片描述
這個是一元,一元的梯度就是導數,
y = y - alpha*(該點梯度),alpha 是學習率,比如從(-1,1)點開始迭代,一次次變小,當到達(0,0)點時梯度爲0,就不變了(理想情況,一般是會在0附近震盪,寫程序時只要兩次迭代後的y值差的絕對值小於某個閾值即可)
二元,多元都一樣,往梯度方向是函數增加最快的方向,反梯度方向則是下降最快的方向。
詳解:https://blog.csdn.net/UESTC_C2_403/article/details/74910107

邏輯迴歸

邏輯迴歸又叫對數迴歸。

引入

邏輯迴歸本質上也是一個二分類問題。
在這裏插入圖片描述
一般情況下紅線(單位階躍函數是一個最簡單的二分類函數)
y=1,z>0;y=0, z<0,; 但是這個函數不是連續可導的,這給後續最優化問題會帶來麻煩。所以就引入一個函數近似單位階躍函數,但連續可導(圖中黑線)。
在這裏插入圖片描述
這個函數定義域是任意範圍,值域在[0,1]之間,當z>0即y>0.5時,我們就可以歸爲1類,當z<0即y<0.5時歸爲0類。
那y知道了是關於類別label的,那z呢?z = XW。X是樣本向量,W是權重向量。
示例:每個樣本特徵維度爲二維時z的表達
在這裏插入圖片描述
在這裏插入圖片描述
可以看到上圖中的決策面,圓形在面上方z>0,屬於1類,三角形在面下方z<0屬於0類。

損失函數

我們目的是要找到一個好的決策面,那怎麼找這個面呢?就像上文提到的SVM,關於求這個決策面都有損失函數指標,SVM中是margin越大越好,有物理意義。而邏輯迴歸的損失函數比較簡單粗暴,就是預測錯了,這個函數就會變大,且錯的越離譜變的越大,所以只要將這個損失函數最小化,對應的決策面就會最優。

假設現在我有一個樣本y,x。y是類別,x是特徵向量。y的值是1也就是說這個樣本是1類。然後我用x特徵向量通過我的決策面函數預測我的分類:
在這裏插入圖片描述
這樣我就算出了h。
按照上面想的損失函數的作用的話:
以 h = 0.5爲界限,
if h>0.5,分類正確,且隨着h從0.5到1的不同,損失函數越來越小直至0。
if h<0.5,分類錯誤,且隨着h從0.5到1的不同,損失函數越來越大直至無窮
引入下面的損失函數:
在這裏插入圖片描述
同理,假設現在我有一個樣本y,x。y是類別,x是特徵向量。y的值是0也就是說這個樣本是0類。然後我用x特徵向量通過我的決策面函數預測我的分類:
按照上面想的損失函數的作用的話:
以 h = 0.5爲界限,
if h>0.5,分類錯誤,且隨着h從0.5到1的不同,損失函數越來越大直至無窮。
if h<0.5,分類正確,且隨着h從0.5到0的不同,損失函數越來越小直至0
引入下面的損失函數:
在這裏插入圖片描述
兩者合併處理後最後的損失函數:
在這裏插入圖片描述
現在來梳理一下啊,cost -->h–>z–>xw 一步一步關聯的
所以只要這個cost函數達到最小,所得出的W決定的決策面應該是最好的。

求解最優決策面

下面的例子中有十個樣本,每個樣本二維特徵+一個截距
在這裏插入圖片描述
最後是求的W,用梯度下降法求Min(cost)時的W

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