sigmoid函數(shù)是一個有著優(yōu)美S形曲線的雙彎曲數(shù)學函數(shù)立莉,其在邏輯回歸劳曹、人工神經(jīng)網(wǎng)絡中有著廣泛的應用(sigmoid:adj. 乙狀結(jié)腸的蝗锥;C形的何陆;S形的 n. S狀彎曲)。在生物統(tǒng)計中,該函數(shù)也可以模仿一些情況下生物數(shù)量的 S 形曲線披诗,起初階段資源豐富大致是指數(shù)增長撬即,然后隨著資源受限開始變得飽和增加變慢,最后達到成熟時增加停止保持平衡呈队。
Sigmoid函數(shù)及導數(shù)
結(jié)合圖像分析剥槐,其優(yōu)點:
- 定義域(?∞, +∞) 值域(0, 1),可將任意范圍的輸入映射到(0, 1)之間宪摧,單調(diào)連續(xù)粒竖,以(0, 0.5)中心對稱,是一個非常良好的閾值函數(shù)几于;
- z為0時f(z)為0.5蕊苗,當z超過6時f(x)越來越接近于1但永不會越過,同樣z小于-6時f(z)向左越來越接近于0沿彭,在z超出[-6,6]的范圍后朽砰,函數(shù)值非常接近基本沒有變化,在應用中一般不考慮喉刘;
- 函數(shù)值域限制在(0,1)之間瞧柔,[0,1]與概率值的范圍相對應,這樣sigmoid函數(shù)就能與一個概率分布聯(lián)系起來睦裳;
- 處處可導求導容易造锅,導數(shù)是其本身的函數(shù),即f′(z)=f(z)(1?f(z))廉邑,計算方便節(jié)省時間哥蔚。
同時缺點:
- 由于其軟飽和性,在飽和的時候梯度太小太平滑蛛蒙,容易產(chǎn)生梯度消失糙箍,導致模型訓練出現(xiàn)問題;
- 其輸出并不是以0為中心的宇驾;
- sigmoid函數(shù)可以很容易地應用在訓練過程中倍靡,但只能處理兩個類(只有0和1兩種狀態(tài)),不適用于多分類的問題课舍。
python代碼實現(xiàn)
# -*- coding: UTF-8 -*-
#導入科學計算庫和繪圖庫
import numpy as np
import matplotlib.pyplot as plt
#定義函數(shù)計算s(x) = 1/(1+e^(-x))
def sigmoid(x):
return 1./(1. + np.exp(-x))
#確定x值和y值范圍
x = np.arange(-50, 50)
y = sigmoid(x)
#以x,y為軸塌西,繪制Sigmoid及其導數(shù)
plt.plot(x, y)
plt.plot(x, y*(1-y))
plt.show()
Logistic回歸模型
在搜索引擎廣告排名決策中,為了預估每個廣告的點擊率筝尾,需要考慮廣告位置捡需、點擊量、展示時間筹淫、受眾人群等多個影響因素站辉,這么多因素最好能用一個統(tǒng)一的數(shù)學模型來描述,而且這個模型能夠隨著數(shù)據(jù)量的增加越來越準確,這并非易事饰剥。早期很多經(jīng)驗值修正和近似的做法在整合各個特征時效果都不很好殊霞,后來工業(yè)界普遍采用邏輯回歸模型(Logistic Regression / Logistic Model)。
邏輯回歸模型指將一個事件出現(xiàn)的概率逐漸適應(回歸)到一條S型邏輯曲線上汰蓉,該曲線一開始變化快逐漸減慢最后飽和绷蹲,上述sigmoid函數(shù)就是其中曲線之一(圖形及特點詳見上文)。
有了邏輯回歸模型(sigmoid函數(shù))顾孽,就可以把各種信號(因素值)組合起來祝钢,不論組合成多大或多小的值最后都能得到一個概率分布。也可認為邏輯回歸模型就是一種將影響概率的不同因素結(jié)合在一起的指數(shù)模型若厚,例如中拦英,每個
稱為變量,表示影響概率的各種因子测秸,
稱為回歸參數(shù)疤估,表示每個因子的權(quán)重值框仔,
是一個特殊參數(shù)與任何因子無關(guān)庸娱,可以保證在沒有任何信息時,有一個穩(wěn)定的概率分布实抡,
是sigmoid函數(shù)的參數(shù)值肃晚,得出
后帶入函數(shù)可得到位于(0,1)之間的概率值仔戈。
邏輯回歸模型中的各參數(shù)的確定需要進行大量訓練才能得出关串,和很多指數(shù)模型(如最大熵模型)一樣,訓練方法相似监徘,可以采用通用的迭代算法GIS和改進的迭代算法IIS來實現(xiàn)晋修,這兩個算法知道就好,至今沒多少人能搞懂和實現(xiàn)凰盔,希望以后有機會能學習一下墓卦。
參考:
《數(shù)學之美》吳軍博士著