《機器學習》邏輯回歸演算法理解

2021-10-01 09:59:46 字數 1087 閱讀 7161

自己寫了邏輯回歸的**之後,對邏輯回歸的本質有了一點感覺,在我看來,邏輯回歸本質就是用來求乙個線性函式 f,這個f可以把一些資料點分成兩類,而h=1/(1+e^-z)實際就是乙個中間函式。下面描述演算法的框架

按理說有了f(x)=w0+w1*x,以及資料點,就可以根據平方損失函式sum(y-f(x))^2求解引數w=[w0,w1]了,但是因為這個損失函式是非凸函式,也就是有很多區域性最優解,所以不能用直接求導得0的方式得到最優解,所以有了下面的過程。

上面的損失函式不行,自然要找新的損失函式,這裡利用了對數似然損失函式,參考鏈結, 不再細說,直接得到損失函式:

j=-[(1-y)ln(1-h)+yln(h)](h是邏輯回歸函式)

有了損失函式,就要使損失函式取最小值,利用牛頓法或者梯度下降法,關於梯度下降法的思想,其實也就是梯度的改變引數的值,使得引數取得某個值的時候,函式取得區域性最小值。參考梯度下降

其中需要對損失函式j求導,求導過程參考損失函式求導

這裡直接提供結果是:

其實也就可以簡化為

w(n+1)=w(n)-step*(h-y)*x

梯度下降總不能是一直迭代,需要設定乙個迭代結束的條件,可以是設定迭代次數,設定差值的最小值等方式

迭代結束後得到最優解 w=[w0,w1,w2] 的結果,此時便應該帶回原來的線性函式了。

以上是整個演算法的框架

但是還有一些問題要解釋一下,

邏輯回歸函式h=1/(1+e^-z)和上述流程有什麼關係

在步驟2中的新損失函式是依賴了 h 函式才得到的。

線性函式f(x)=w0+w1*x怎麼和w相關的

f 函式可以寫作w0+w1*x+w2*y=0的形式,這種形式也就正好約定了資料點只能是二維的,也就是包含兩個所謂的自變數x1和x2,和乙個表示分類結果的因變數。在這裡x1和x2分別對應 f 的x 和y,所以最後得到w後的直線方程應該是y=-(w0+w1*x)/w2

學機器學習當真要靜心凝神

機器學習演算法 邏輯回歸

二.代價函式求解 三.sklearn 引數說明 四.常見問題 參考lr 是一種簡單 高效的常用分類模型,能處理二分類或者多分類。sigmoid 函式 對線性回歸的結果做乙個在函式g上的轉換,可以變化為邏輯回歸,這個函式g在邏輯回歸中我們一般取為sigmoid函式,形式如下 g z 11 e z g ...

機器學習相關演算法理解

以id3演算法為代表 特徵為幹,類別為葉 以乾為據,劃樣入葉 以kmeans演算法為代表 隨機選聚類中心 計算所有樣本點到每個聚類中心的距離,進行組別初步劃分 計算組內各樣本點到本組聚類中心距離均值,得出聚類中心在本組的最佳位置 再次計算所有樣本點到各聚類中心距離,判斷是否需要重新劃分組別,如果需要...

機器學習演算法之邏輯回歸

本部分將講解機器學習演算法中最為常用的邏輯回歸演算法,該演算法的講解主要來自於andrewng deeplearning.ai中部分課程的知識結合書籍中部分數學理論知識,將以較為易懂並部分深入的講解,講解中存在大量手寫體的公式及推導。邏輯回歸演算法中有幾個基本點需要知道 首先了解下二分類演算法需要解...