逻辑斯蒂回归用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

相关文章

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)