什么是sigmoid?其作用是什么?很簡單。這是一個科學家發明的數學工具。我們在做決策的時候通常非此即彼。在計算機中通常用零或一來替代兩種可能性。為了勾畫決策的不確定性。可以使用0到1之間的一個實數來表示我們決策的結果。這樣當我們的決策結果是0.6的時候。代表我們更傾向于選擇1更不傾向于選擇0。
然而現實中我們所觀察到的特征,通常不是0到1之間的實數。我們要做決策,就必須將這個實數壓縮到0到1之間。
假設我們有若干客戶的消費記錄。想判斷哪些客戶是高收入人群,哪些客戶是低收入人群。
一個比較簡單的方法就是計算每個客戶的平均消費金額。當平均消費金額大于一個特定的閾值a時,則為高收入人群,小于則為低收入人群。
這顯然是一個非此即彼判斷。沒有表現出決策的不確定性。
為了引入決策的不確定性,我們必須給每一種平均消費金額給予一個打分。這個打分在0到1之間。也可以理解為是決策的概率。
我們完全可以把平均消費金額作為sigmoid函數的輸入,從而將任意金額映射到0到1之間。
這個sigmoid函數有兩個參數來控制著決策不確定性的映射。第一個參數的取值決定了sigmoid函數將怎樣的平均消費金額映射為0.5,即完全不確定。該參數的取值類似于上文提到的閾值a。
另外一個參數和sigmoid函數的性質有關。sigmoid函數有如下性質當平均消費金額遠大于a時函數的輸出結果無限逼近于一。當平均消費金額遠小于a時函數的輸出結果無限逼近于零。
則另外一個參數實際上控制著這個逼近速度。當這個逼近速度無限大的時候,就等同于上面簡單的方案。而這當這個逼近速度比較慢的時候,其會以較細的粒度描述決策的不確定性。即針對各種平均消費金額其都不會草率的將其無限逼近于零或者一。而是給定一個0到1之間的合適的實數值。
這就是sigmoid函數全部的作用了。