激勵函數的做用之sigmoid

sigmoid函數

首先看一下這個sigmoid函數的圖像,以x值的0值作爲區分點,在0值範圍左右的y軸數據爲0~1範圍內的數據。python

python實現:app

from math import e

from matplotlib import pyplot as plt

xs = []
ys = []

def sigmoid(x):
    y = 1. / (1. + e **(-x))
    return y;

for x in range(-1000,1001):
    x = x * 0.1
    y = sigmoid(x)
    xs.append(x)
    ys.append(y)

print(xs)
print(ys)

plt.plot(xs,ys)
plt.show()

核心思想是公式:函數

clipboard.png

以上我所展現的是sigmoid函數以及函數所產生的圖像,如下我來講一下通常來講咱們所但願激勵函數應該是什麼樣子的。spa

一般來講,咱們但願一個數據作了激勵後,應該能明確的知道結果應該是true或false,可是對於這種函數,如:code

def f(x):
    if(x < 0):
    return 0;
    if(x > 0):
    return 1;

所產生的函數是不連續且不可求導的,那麼在計算過程當中就會很是的不方便,sigmoid其實至關於作了折中處理。且在具體的計算過程當中,根據實際狀況,也許產生的S(x)可能取值在0~0.5以及0.5~1分別分紅兩類。也有多是0~0.8,0.8~1。在具體的計算過程當中可能會更靈活。blog

以上就當一個筆記,後續理解若是有出入,再作修改。
ip

相關文章
相關標籤/搜索