學習筆記 機器學習實戰(五)

2021-08-18 19:45:49 字數 2757 閱讀 8452

本章將接觸到最優化演算法,並利用它們訓練出乙個非線性函式用於分類

幾個概念:

- 回歸:假設現在有一些資料點,我們用一條直線對這些點進行擬合(該線成為最佳擬合直線),這個擬合過程就稱作回歸。

- 利用logisitic回歸進行分類的主要思想:根據現有資料對分類邊界線建立回歸公式,以此進行分類。

回歸一詞源於最佳擬合,表示要找到最佳擬合引數集。而訓練分類器時的做法就是尋找最佳擬合引數,使用的是最優化演算法。

我們想要能夠接受所有的輸入然後**出類別的函式,在兩個類的情況下就是輸出0或1。具有這種性質的函式稱為海維賽德階躍函式,或單位階躍函式,不過該函式有時很難處理在從0瞬間跳躍到1的過程,所以我們引入了另乙個具有類似性質的,即輸出0或者1的函式——sigmoid函式σ(

可以看出,當橫座標的刻度足夠大時,sigmoid函式就可以近似為乙個階躍函式。

實現logistic回歸分類器:

1. 在每個特徵上乘以乙個回歸係數

2. 把所有結果值相加

3. 總和代入sigmoid函式,得到乙個範圍在0~1之間的數值

4. 大於0.5的資料被分入1類,小於0.5被分入0類。

從上述實現過程我們也能看出logistic回歸也可以看成是一種概率估計。確定最佳回歸係數也就成為了主要問題。

記sigmoid函式的輸入為z,z=

w0x0

+w1x

1+w2

x2+⋯

+wnx

n=wt

x z=w

0x0+

w1x1

+w2x

2+⋯+

wnxn

=wtx

其中,向量 x x

是分類器的輸入資料,向量

w' role="presentation" style="position: relative;">w

w是待求的最佳回歸係數,n代表n維,即特徵個數。假設n=2,則只有兩個特徵,在影象上表現為二維影象,有x和y兩個方向,那麼x方向的係數為 w0

w

0,y方向的係數為 w1

w

1,這樣乙個向量就是梯度。

要搞清:

向量=方向+標量

梯度=向量

梯度=梯度方向+梯度標量

梯度上公升法是乙個最優化演算法,可用於求解乙個資料集的最佳引數。該演算法基於的思想是:要找到某函式的最大值,最好的方法是沿著該函式的梯度方向探尋。

梯度的計算公式:∇f

(x,y

)=(∂

f(x,

y)∂x

,∂f(

x,y)

∂y) ∇f(

x,y)

=(∂f

(x,y

)∂x,

∂f(x

,y)∂

y)這個梯度意味著沿 x x

的方向移動 ∂f

(x,y

)∂x' role="presentation" style="position: relative;">∂f(

x,y)

∂x∂f

(x,y

)∂x,沿 y y

的方向移動 ∂f

(x,y

)∂y' role="presentation" style="position: relative;">∂f(

x,y)

∂y∂f

(x,y

)∂y。其中,f(

x)f (x

)在待求點必須有定義且可微。一張較為直觀的圖:

另外,梯度上公升演算法在到達每個點之後都會重新計算移動的方向,迴圈迭代直至滿足停止條件,梯度運算元保證我們總是能選取到最佳的移動方向,它總是執行函式值增長最快的方向。

要注意,上面所提的梯度只是確定了每一步移動的方向,記步長為 α α

,則迭代公式為w:=

w+α∇

wf(w

) w:=w

+α∇w

f(w)

同樣的,梯度下降演算法就是改變式子中加減號,即w:=

w−α∇

wf(w

) w:=w

−α∇w

f(w)

梯度上公升演算法用來求函式的最大值,而梯度下降演算法用來求函式的最小值。

步長和初始點的選取會影響到最終結果的擬合程度,導致結果落在區域性最優解而不是全域性最優解上。對於步長,最好的方法就是隨著迭代次數更改移動步長。

《機器學習實戰》學習筆記

很久沒寫過部落格了,一重開就給自己挖了這麼乙個大坑 最近一段時間看了 機器學習實戰 這本書,感覺寫得不錯,認真看了看。關於這本書的書評及購買事宜請移步豆瓣 京東 亞馬遜等 這裡不多說。不過有一點,感覺這本書有個很好的地方是給出了各個演算法的python實現 和講解,要求不高的話可以拿來用了 懶 在這...

《機器學習實戰》學習筆記

目錄 第2章 k 近鄰演算法 第3章 決策樹 第4章 基於概率論的分類方法 樸素貝葉斯 第5章 logistic回歸 第7章 利用adaboost元演算法提高分類效能 第8章 數值型資料 回歸 1.python console匯入knn.py檔案 import knn1.reload的使用方法 fr...

《機器學習實戰》學習筆記

通過對輸入資料inx和資料集dataset座標距離的計算返回結果 資料集包括group 座標 和labels 分類 計算inx與group點與點的距離 對距離遞增排序 選取排序後的前k個值對應的label 根據label出現的頻率對inx進行分類 def classify0 inx,dataset,...