邏輯斯蒂函數
引入: 線上性感覺器算法中,我們使用了一個f(x)=x函數,作為激勵函數,而在邏輯斯蒂回歸中,我們将會采用sigmoid函數作為激勵函數,是以它被稱為sigmoid回歸也叫對數幾率回歸(logistic
regression),需要注意的是,雖然它的名字中帶有回歸,但事實上它并不是一種回歸算法,而是一種分類算法。它的優點是,它是直接對分類的可能性進行模組化的,無需事先假設資料分布,這樣就避免了假設分布不準确所帶來的問題,因為它是針對于分類的可能性進行模組化的,是以它不僅能預測出類别,還可以得到屬于該類别的機率。除此之外,sigmoid函數它是任意階可導的凸函數。在這篇文章中,将會使用到梯度上升算法,可能有很多同學學到這裡會有點迷糊,之前我們所使用的是,梯度下降算法為什麼到這裡卻使用的是梯度上升算法?
解釋logistic回歸為什麼要使用sigmoid函數
準備資料
import numpy as np
X = np.random.randn(50,4)
X.shape
w = np.random.randn(4)
X[[0]].dot(w)
#或者 w.T.dot(X[0])
3.154665990657282
'''假如有一個罐子,裡面有黑白兩種顔色的球,數目多少不知,
兩種顔色的比例也不知。我們想知道罐中白球和黑球的比例,
但我們不能把罐中的球全部拿出來數。現在我們可以每次任意從已經搖勻
的罐中拿一個球出來,記錄球的顔色,然後把拿出來的球 再放回罐中。
這個過程可以重複,我們可以用記錄的球的顔色來估計罐中黑白球的比例。
假如在前面的一百次重複記錄中,
有七十次是白球,請問罐中白球所占的比例最有可能是多少?'''
# 請問罐子中白球的比例是多少?很多種可能10%,5%,95%……
# 請問罐子中白球的比例最有可能是多少?70%,進行精确計算,‘感覺’
# ‘感覺’的計算
# 假設白球的機率是p,黑球1-p
# 取出一個球是白球的機率 :p
# 取出兩個球,都是白球的機率:p**2
# 取出3個球,2個白球一個黑球的機率:p**2*(1-p)
# 取出100個球,70是白球,30個是黑球,機率:p**70*(1-p)**30
f(p) = p**70*(1-p)**30
将似然函數變成log函數
梯度上升添加符号就變為梯度下降
再求導求出j點的梯度
!!!
我是這樣認為的:所謂的梯度“上升”和“下降”,一方面指的是你要計算的結果是函數的極大值還是極小值。計算極小值,就用梯度下降,計算極大值,就是梯度上升;另一方面,運用上升法的時候參數是不斷增加的,下降法是參數是不斷減小的。但是,在這個過程中,“梯度”本身都是下降的。
提取共同系數
手寫筆記個人總結使用
可參考
徹底搞懂邏輯斯蒂回歸
PS:公衆号内回複 :Python,即可擷取最新最全學習資源!
公衆号:劉旺學長