逻辑斯蒂回归用sigmoid函数的原因?

2024-02-23 11:48

本文主要是介绍逻辑斯蒂回归用sigmoid函数的原因?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sigmoid函数的数学公式

                

sigmoid函数的因变量x取值范围是-∞到+∞,(-∞,+∞),但是sigmoid函数的值域是(0, 1)。

不管x取什么值其对应的sigmoid函数值一定会落到(0,1)范围内~~~

漂亮的logistic 曲线

sigmoid函数对应的图形就是logistic曲线,logistic曲线对应的函数就是sigmoid函数。

下面我们用通过spyder用python语言把logistic曲线画出来,如下所示。

代码

[python] view plain copy

  1. # -*- coding: utf-8 -*-  
  2. """ 
  3.  
  4. @author: tom 
  5. """  
  6.   
  7. import numpy  
  8. import math  
  9. import matplotlib.pyplot as plt  
  10.   
  11. def sigmoid(x):  
  12.     a = []  
  13.     for item in x:  
  14.         a.append(1.0/(1.0 + math.exp(-item)))  
  15.     return a  
  16.       
  17. x = numpy.arange(-10, 10, 0.1)  
  18. y = sigmoid(x)  
  19. plt.plot(x,y)  
  20. 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函数的原因?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/738526

相关文章

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数