本文主要是介绍逻辑斯蒂回归用sigmoid函数的原因?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
sigmoid函数的数学公式
sigmoid函数的因变量x取值范围是-∞到+∞,(-∞,+∞),但是sigmoid函数的值域是(0, 1)。
不管x取什么值其对应的sigmoid函数值一定会落到(0,1)范围内~~~
漂亮的logistic 曲线
sigmoid函数对应的图形就是logistic曲线,logistic曲线对应的函数就是sigmoid函数。
下面我们用通过spyder用python语言把logistic曲线画出来,如下所示。
代码
[python] view plain copy
- # -*- 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)
这篇关于逻辑斯蒂回归用sigmoid函数的原因?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!