1. 程式人生 > >邏輯斯蒂迴歸用sigmoid函式的原因?

邏輯斯蒂迴歸用sigmoid函式的原因?

sigmoid函式的數學公式

                

sigmoid函式的因變數x取值範圍是-∞到+∞,(-∞,+∞),但是sigmoid函式的值域是(0, 1)。

不管x取什麼值其對應的sigmoid函式值一定會落到(0,1)範圍內~~~

漂亮的logistic 曲線

sigmoid函式對應的圖形就是logistic曲線,logistic曲線對應的函式就是sigmoid函式。

下面我們用通過spyder用python語言把logistic曲線畫出來,如下所示。

程式碼

  1. # -*- coding: utf-8 -*-  
  2. """ 
  3. @author: tom 
  4. """
      
  5. import numpy  
  6. import math  
  7. import matplotlib.pyplot as plt  
  8. def sigmoid(x):  
  9.     a = []  
  10.     for item in x:  
  11.         a.append(1.0/(1.0 + math.exp(-item)))  
  12.     return a  
  13. x = numpy.arange(-10, 10, 0.1)  
  14. y = sigmoid(x)  
  15. plt.plot(x,y)  
  16. plt.show()  

sigmoid函式的性質

通過logistic曲線就可以知道

1)sigmoid函式是一個閥值函式,不管x取什麼值,對應的sigmoid函式值總是0<sigmoid(x)<1。

2)sigmoid函式嚴格單調遞增,而且其反函式也單調遞增

3)sigmoid函式連續

4)sigmoid函式光滑

5)sigmoid函式關於點(0, 0.5)對稱

6)sigmoid函式的導數是以它本身為因變數的函式,即f(x)' = F(f(x))

所以sigmoid函式其實起源於生物學的現象中,其曲線也稱為S型生長曲線。在資訊科學中,由於sigmoid函式和其反函式都是嚴格單調遞增的,所以sigmoid函式常被用作神經網路的閾值函式,將變數對映到(0,1)內。

sigmoid函式求導f(x')=F(f(x))

這是sigmoid函式的一個重要性質。sigmoid函式的導數是以他自身為因變數的函式,下面進行推導~

sigmoid函式的數學公式推導

什麼事情,都要做到知其然,知其所以然~

sigmoid函式的值域∈(0,1),這與概率值的範圍[0,1]很是巧合,我們可以把sigmoid函式與一個概率分佈聯絡起來,那就是伯努利分佈。

伯努利分佈的概率質量函式為:

             

可以知道x=1時的概率為p,x=0時的概率為1-p,即f(1|p) = p,f(0|p) = 1-p。

證明

為了推導sigmoid函式,需要先證明伯努利分佈也屬於指數分佈族。

證明伯努利分佈屬於指數分佈族:

sigmoid函式的數學公式推導

到此sigmoid函式的數學公式推導已經結束。

以上是從數學方面進行推導sigmoid函式,後續會從邏輯迴歸含義進行推導得到sigmoid函式的公式。

enjoy it~.

(end)