4分鍾看懂邏輯回歸是什么?要優化什么參數?和極大似然法有什么關系?機器學習小總結


文章末尾對機器學習的規律總結。機器學習這么多算法記住是很難的,如果懂別人怎么想到這個算法的那就容易多了。學習機器學習一定不要死記。記住別人怎么想到這個算法以及各個概念之間的聯系,各個方法有什么用,這些最重要。本文就是從還原算法怎么想到的角度來講而不是純粹推導,解釋了各個概念之間的聯系。

邏輯回歸到底是什么?要優化什么參數?為何要優化這些參數?

邏輯回歸它輸入是樣本,輸出是樣本輸入某個類的概率。邏輯回歸只能分類出兩種類,是一個二分類算法。也就是說 f ( x ) f(x) 輸出是屬於類A的概率。那么如果某個樣本不屬於A呢則它屬於B的概率是 1 P ( A ) = 1 f ( x ) 1-P(A)=1-f(x) 。因為邏輯回歸輸出的是A的概率 f ( x ) = P ( A ) 即f(x)=P(A) 。邏輯回歸里面它認為模型是一條曲線。這條曲線的函數長下面這樣,其中 w , b w,b 是我們要設置的參數。選擇一種 w , b w,b 相當於我們假設了一種模型。
在這里插入圖片描述
比如 w = 2 , b = 1 w=2,b=1 那么將 w = 2 , b 1 = w=2,b1= 代入進去,就變成了。這樣的取值可以有很多很多,沒選擇一種取值就假設了一種模型。那么哪種是最好的呢?這個問題就變成了, w , b w,b 到底是多少才是最好。 w , b w,b 這就是我們要優化的參數。
在這里插入圖片描述

邏輯回歸和線性回歸最大區別地方有兩個

  • 是線性回歸它認為模型是一條直線,邏輯回歸它認為模型是一條曲線。
  • 是優化參數的方法。線性回歸就是想讓各個樣本點離畫出來的直線的平均距離盡可能短。而邏輯回歸則不是算平均距離。它是用概率來優化的。優化方法叫做極大似然法。還是不懂要優化什么參數?和怎么優化的?看下面的:

極大似然法怎么優化邏輯回歸的參數的?

f ( x ) f(x) 的輸入是一個樣本,輸出是這個樣本屬於各個類的概率。假設這個樣本屬於A類,那我是不是希望模型 f ( x ) f(x) 輸出的概率中認為樣本屬於A類的概率越大越好?換句話說就是, w , b w,b 各種可能的取值對應各種假設的模型。能讓模型認為樣本屬於A類的概率最大的那種情況的參數是最好的,這就是極大似然法的動機。

極大似然法優化邏輯回歸的原理?

我們選擇了 w , b w,b 的一種可能的取值然后確定了一個模型 f ( x ) f(x) 。現在有N個樣本,輸入到模型 f ( x ) f(x) 。那么會有N個值,這N個值表明了這些樣本屬於樣本A的概率。他們同時發生的概率就是這些概率相乘。

這些樣本都是自己有標簽的。我們希望模型輸出來他們屬於它標簽的那個類的概率盡可能的大。這個想法就是極大似然法的想法。那么現在問題來了,模型計算他們屬於它標簽的那個概率?
答:模型輸出都是樣本屬於A的概率。邏輯回歸只能分出兩種類,要么是A要么不是A。現在我們知道了樣本屬於A的概率,那么樣本屬於B的概率=樣本不屬於A的概率。
舉個例子 f ( 1 = 0.1 f(樣本1)=0.1 ,然后樣本1的標簽是B,那么模型計算出來樣本屬於B的概率是 1 f ( 1 = 1 0.1 1-f(樣本1)=1-0.1

我們模型認為樣本屬於A或B來計算概率的分成兩個公式,這個很麻煩。
能不能一個公式就能算出來默認認為樣本屬於它所在那個表標簽的概率
於是就有了下面這個公式,有兩個類一個是1另一個是0. 樣本的標簽是 y i y_i 。當樣本屬於1的時候, 1 y i = 0 1-y_i=0 意味着后面那個式子等於1也就是沒有了。當樣本屬於0的時候, y i = 0 y_i=0 意味着前面面那個式子沒有了。
在這里插入圖片描述
上面這個式子就是我們假定的 w , b w,b 下模型計算出各樣本屬於他們標簽的概率。我們要做的是不斷改動 w , b w,b ,找到一個讓上面那個式子最大的 w , b w,b 。這就是極大似然做的事。根據概率找最優的參數。
那怎么找呢?用梯度下降。梯度下降不理解可以看看這個知乎回答,非常推薦:如何理解梯度下降。本文主要是為了打破一些概念性的障礙,讓你對這些概念之間的聯系有了解。如果你想學習梯度下降實踐可以看看這篇文章 適合初學者的神經網絡理論到實踐(1): 神經網絡實戰:單個神經元+隨機梯度下降學習邏輯與規則
由於連乘不好計算導數(對連乘求導要用到乘法求導法則很麻煩),所以一般是消掉連乘。兩邊取對數就可以消掉。而且log是單調增,它最值點還是和原先最值點一樣。所以求得的最優參數和原先的解是一樣的。

神經網絡和邏輯回歸的關系?

答:邏輯回歸就是神經網絡中的一個神經元。

機器學習小總結

其實機器學習算法看起來很多事實上本質上就是 假設數據符合某個模型+建立誤差模型+梯度下降求解未知。

我談談自己的看法吧:

  1. 線性回歸:它假設數據是一條直線。然后誤差模型是各個點和直線之間的距離平均值要最短。然后用梯度下降求解直線的斜率和截距。
  2. 邏輯回歸:它假設數據是一條"S"曲線,輸入一個樣本輸出它屬於某個類的概率,只能分出兩個類。然后誤差模型是通過概率來算的。它嘗試參數各種可能的情況,然后選擇能讓模型計算出樣本屬於它標簽的那個類的概率最大。比如樣本1標簽是A,模型計算出樣本1屬於A類的概率是f(樣本1),那么我就要調整模型的參數使得f(樣本1)盡可能的趨近於1. 讓這個概率盡最大的那個參數是最優參數。得到最優參數就得到了一個"S"曲線。這就是我們的模型。
  3. 決策樹 :它假設數據可以用if else這樣的樹狀結構來分類。然后也是根據概率來求樹的結構是怎樣的。
  4. SVM:它假設數據可以用兩條直線划分開來。和線性回歸很像。然后讓這兩條直線盡可能區分開數據,並且這兩條直線距離盡可能的遠。優化的參數就是兩條直線斜率和截距。求解最優參數還是梯度下降。
  5. 可以看到,機器學習套路一般是先假設數據可以被哪種模型區分開,然后建立一個模型。然后用梯度下降求解模型中未知參數的最優解。

你的贊是我願意知識分享的的動力

[1] 知乎專欄《適合初學者的神經網絡機器學習入門理論到實踐
[2] 知乎人工智能、機器人專注初學者教程答主 Ai醬


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM