邏輯斯蒂迴歸用sigmoid函式的原因?
sigmoid函式的數學公式
sigmoid函式的因變數x取值範圍是-∞到+∞,(-∞,+∞),但是sigmoid函式的值域是(0, 1)。
不管x取什麼值其對應的sigmoid函式值一定會落到(0,1)範圍內~~~
漂亮的logistic 曲線
sigmoid函式對應的圖形就是logistic曲線,logistic曲線對應的函式就是sigmoid函式。
下面我們用通過spyder用python語言把logistic曲線畫出來,如下所示。
程式碼
- # -*- coding: utf-8 -*-
- """
- @author: tom
- """
- import numpy
- import math
- import matplotlib.pyplot as plt
- def sigmoid(x):
- a = []
- for item in x:
- a.append(1.0/(1.0 + math.exp(-item)))
- return a
- x = numpy.arange(-10, 10, 0.1)
- y = sigmoid(x)
- plt.plot(x,y)
- 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)