機器學習——邏輯斯諦迴歸(logistic regression)
2022-01-04由 來自Z時代 發表于 林業
什麼叫邏輯斯蒂函式
邏輯斯諦迴歸(logistic regression)是統計學習中的經典分類方法,
屬於對數線性模型
,即可以認為是被
Sigmoid函式
所歸一化後的線性迴歸模型!
根本思想:邏輯斯諦迴歸的求解最後就是計算交叉熵,而交叉熵就是最大化極大似然函式,通常採用的最佳化方法是隨機梯度下降
。
先給出《統計學習方法》裡的內容:
但我更喜歡李宏毅老師的版本,更加通俗易懂。根據李宏毅老師的課件,機器學習的演算法都可以分為三個部分:
Step1:Function Set
(
由於公式不能輸入,我只能貼圖片了
~~~,編輯了好久的公式)
(是不是很像神經元。哈哈)
具體的公式推導如下:
Step 2:判斷一個函式的好壞
有了函式集後,我們的下一步目標就是判斷一個函式的好壞!這個時候就需要一個訓練集(train data)。假想這個訓練集是由我們定義的機率生成模型所產生的,每一個X都有一個所屬的類別C1或者C2,如下所示。
給定一組w,b,其對應的機率生成模型就確定了,產生的訓練集也相對應確定了。要產生上述的訓練集,它的機率就透過下面這個公式計算:
下面需要做一個數學的轉換推導,詳細內容如下:
Step 3:找到最好的function
當我們有了最佳化目標後,最後一步就是去找最好的function,最佳化方法自然是
隨機梯度下降
。下面給出梯度的推導過程:
根據隨機梯度下降法,找到最好的引數。在這裡,為了方便,將
引數向量和輸入向量加以擴充
,仍然記作w,x,即w=(w(1),w(2),…,w(n),b)
T
,x=(x(1),x(2),…,x(n),1)
T
。
我在學習的時候是李宏毅老師的課程和《統計學習方法》一起學的,結果發現裡面的公式
居然不一樣
,心想:我擦,居然有2個不同的結果,也是難受。後來細想才發現,原來二者是一個東西,只是
表達的方式不一樣
(我在懷疑是不是老師也需要查重,哈哈。所以才學我們論文查重時,一樣的結果用不同的方式來表達)。
這兩個公式,我都跑過程式,結果是一樣的。
上面都是二分類的問題,對應到
多分類
其實也一樣,李宏毅老師的課件上的例子非常好理解,這裡直接貼出來給大家分享。用的是
softmax函式
算出的機率作為分類的標準,誰的機率大,就屬於哪一類。
下面是一個小的總結,也是邏輯斯諦迴歸的本質:
邏輯斯諦迴歸的求解最後就是計算交叉熵,而交叉熵就是最大化極大似然函式,通常採用的最佳化方法是隨機梯度下降
。
結束,撒花。