常用激活函数及偏导

news2024/11/18 17:47:11

常用激活函数及偏导

在这里插入图片描述

derivative.py


import numpy as np
import matplotlib.pyplot as plt

plt.subplots_adjust(hspace=0.5 , wspace=0.5)
rows = 3
cols = 2

def plot_style(ax):
    # 设置轴隐藏
    ax.spines['top'].set_visible(False) 
    ax.spines['right'].set_visible(False)
    # 设置轴位置
    ax.spines['bottom'].set_position(('axes', 0.5))
    ax.spines['left'].set_position(('axes', 0.5))
    # 设置刻度间隔
    # ax.xaxis.set_major_locator(plt.MultipleLocator(1))
    # ax.yaxis.set_major_locator(plt.MultipleLocator(1))
    # 设置刻度范围
    plt.xlim(-10,10)
    plt.ylim(-2,2)

# --------------------------------------

x=np.linspace(-10,10,100)

def Sigmoid(x) :
    a = 1/(1+np.exp(-x))
    return a

def d_Sigmoid(x):
    a = Sigmoid(x)*(1-Sigmoid(x))
    return a

graph = plt.subplot(rows,cols,1)
plot_style(graph)
plt.plot(x,Sigmoid(x),label="σ(x)")
plt.plot(x,d_Sigmoid(x),label="σ`(x)")
# plt.title('σ(x) & σ`(x)=σ(1-σ)')
plt.legend()

# plt.show()

# --------------------------------------
def LeakyReLU(x,p):
    cond = x>=0
    a = np.where(cond,x,p*x) 
    return a 
def d_LeakyReLU(x,p):
    cond = x>=0
    a = np.where(cond,1,p) 
    return a 

x=np.linspace(-10,10,100)
graph = plt.subplot(rows,cols,2)
plot_style(graph)
p = 0.2
plt.plot(x,LeakyReLU(x,p),label='LeakyReLU(x)')
plt.plot(x,d_LeakyReLU(x,p),label='`LeakyReLU(x)')
plt.title(f'p={p}')
plt.legend()

# --------------------------------------
def ReLU(x) :
    a = LeakyReLU(x,0)
    return a 

def d_ReLU(x) :
    a = np.array(x,copy=True)
    a[x<0] = 0
    a[x>=0] = 1
    return a 

x=np.linspace(-10,10,100)
graph = plt.subplot(rows,cols,3)
plot_style(graph)
plt.plot(x,ReLU(x),label='ReLU(x)')
plt.plot(x,d_ReLU(x),label='`ReLU(x)')
# plt.title('ReLU(x) & `ReLU(x)')
plt.legend()
# --------------------------------------


def tanh(x):
    a = 2*Sigmoid(2*x) - 1
    return a

def d_tanh(x):
    b = np.power(tanh(x),2) 
    a = 1 - b
    return a

x=np.linspace(-10,10,100)
graph = plt.subplot(rows,cols,4)
plot_style(graph)
plt.plot(x,tanh(x),label='tanh(x)')
plt.plot(x,d_tanh(x),label='`tanh(x)')
# plt.title(' tanh(x) & `tanh(x) ')
plt.legend()
# --------------------------------------

# x=np.linspace(0,10,3)
x = [2,3,4]
def softmax(x):
    expx = np.exp(x)
    a = expx / np.sum(expx)
    return a

def d_softmax(x):
    p = softmax(x)
    count = len(x)
    out = []
    for i in range(count) :
        for j in range(count) :
            ret = 0
            if j==i:
                ret = p[i]*(1-p[j])
                print(f'dp[{i}]/dz[{j}] = p[{i}]*(1-p[{j})] = {ret}')
            else :
                ret = -p[i]*p[j]
                print(f'dp[{i}]/dz[{j}] = -p[{i}]*p[{j}] = {ret}')
            out.append(ret)
    return out

plt.subplot(rows,cols,5)
plt.scatter(x,softmax(x),label=f'softmax(zi)')
d_out = d_softmax(x)
len = len(x)
for i in range(len):
    plt.scatter(x,d_out[len*i:len*(i+1)],label=f'`softmax(z{i})')

plt.legend(loc='upper left', bbox_to_anchor=(1, 1))

# --------------------------------------

plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/687184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python 创建二维列表【空列表或定长列表】

正确写法&#xff1a; 空列表设置了初始值的定长列表 ### 创建3行的二维空列表 ### a [[] for i in range(3)] print(a) # [[], [], []]### 每一行非空&#xff0c;并设定初始值及其长度 ### ### 创建3行&#xff0c;每一行列表初始化全0的列表&#xff0c;且长度为5 ### a…

Redis 实现库存扣减

在日常开发中有很多地方都有类似扣减库存的操作&#xff0c;比如电商系统中的商品库存&#xff0c;抽奖系统中的奖品库存等。这次分享的是库存的操作怎么防止商品被超卖。 解决方案 基于数据库单库存基于数据库多库存基于redis 解决思路 使用mysql数据库&#xff0c;使用一个…

[架构之路-216]- 架构 - 概念架构 - 模块(Module)、组件(Component)、包(Package)、对象、函数的区别

前言&#xff1a; 在软件架构中&#xff0c;一个重要的任务就是切分系统&#xff0c;而切分系统进程涉及到一个基本的概念&#xff0c;如模块&#xff08;Module&#xff09;、组件&#xff08;Component&#xff09;、包&#xff08;Package&#xff09;、对象&#xff0c;本…

亚马逊云科技以用户为中心,持续丰富安全服务和解决方案

AI加持安全&#xff0c;自动化运营成未来趋势 亚马逊云科技始终在云安全领域不断创新探索、深耕发力&#xff0c;随着全球技术的发展而持续迭代安全能力。 当下&#xff0c;以ChatGPT为代表的AIGC成为最出圈的热点&#xff0c;大量的科技巨头纷纷涌入AI赛道&#xff0c;投入了…

16. WebGPU 数据内存布局

在 WebGPU 中&#xff0c;提供给它的几乎所有数据都需要在内存中设定布局&#xff0c;以匹配在着色器中定义的内容。这与 JavaScript 和 TypeScript 形成鲜明对比&#xff0c;后者很少出现内存布局问题。 在 WGSL 中&#xff0c;当编写着色器时&#xff0c;通常定义 struct 。…

Redis集群详解

目录 一、前言二、Redis 集群方案应该怎么做&#xff1f;都有哪些方案&#xff1f;三、twemproxy四、分而治之-codis1、codis简介2、Codis 分片原理3、不同的 Codis 实例之间槽位关系如何同步&#xff1f;4、假如Redis扩容&#xff0c;如何调整槽位的&#xff1f;5、codis优缺点…

巧用 overflow-scroll 实现丝滑轮播图

前言: 近期我在项目中就接到了一个完成轮播图组件的需求。最开始我也像大家一样&#xff0c;直接选择使用了知名的开源项目 “Swiper”&#xff0c;但是后来发现它在移动端项目中某些测试环境下会白屏一段时间。无论如何调试都不能修复这个问题&#xff0c;于是就自己上手写了个…

Java智慧工厂UWB高精度人员定位管理系统源码

一、系统概述&#xff1a; 智慧工厂高精度定位管理系统源码&#xff0c;采用UWB定位技术&#xff0c;通过部署UWB定位设备实现人、车、物精确定位&#xff0c;打造可寻、可视、可防、可控的一体化管控平台。UWB定位系统具有容量大、稳定性强、精度高、安装便捷、易维护、操作简…

pebblely无需代码连接集简云数据表的方法

1 使用场景 当电商UI接到一个设计产品图的需求时&#xff0c;按照常规的工作安排&#xff0c;从对接需求到最后完成效果图最短时间都要在5天左右&#xff0c;如果遇到高要求的客户&#xff0c;后期还需要在电脑上进一步调整细节&#xff0c;一张成片起码要花上数小时时间去完成…

LabVIEW开发压电陶瓷特性测试系统

LabVIEW开发压电陶瓷特性测试系统 目前&#xff0c;随着科学技术的飞速发展&#xff0c;各个领域都需要纳米级的精密定位系统。而压电定位系统是迄今为止已经得到认可的微纳定位系统。该系统主要由压电驱动系统、位移测量传感器和控制系统组成。其中&#xff0c;整个压电驱动系…

oracle 使用sql语句实现交换一个表中两条记录的某个字段的内容

不要太忙了 好好珍惜眼下 的真爱 &#xff08;马晓静sorry~&#xff09; 表 test --------------- id | i_order --------------- 1 | 22 2 | 23 --------------- 转换后结果为&#xff1a; --------------- id | i_order --------------- 1 | 23 2 | …

【云原生丶Docker】Docker镜像常用命令大全

镜像是Docker中最为核心也是最具创造性的概念&#xff01;在理解Docker的核心概念文章中&#xff0c;我们理解了镜像的含义&#xff0c;下面让我们一起操作一些镜像&#xff0c;包括拉取、推送镜像等操作。 1、镜像支持哪些命令 通过 docker image help 查看 Docker 支持的镜像…

解决nacos频繁输出get changegroupkeys日志

# 1、根据心跳日志&#xff0c;定位日志输出的包名 c.a.n.client.config.impl.ClientWorker : get changedGroupKeys:[]# 2、在 IDEA 中搜索 ClientWorker 所在的包路径 package com.alibaba.nacos.client.config.impl;# 3、在任意格式的配置文件中将该包路径的日志设置为…

Unity 工具 之 Azure OpenAI 功能接入到Unity 中的简单整理

Unity 工具 之 Azure OpenAI 功能接入到Unity 中的简单整理 目录 Unity 工具 之 Azure OpenAI 功能接入到Unity 中的简单整理 一、简单介绍 二、实现原理 三、注意实现 四、简单实现步骤 五、关键代码 六、附加 创建新的 .NET Core &#xff0c;获取 Azure.AI.OpenAI d…

公司个人年终工作总结【10篇】

公司个人年终工作总结1 20__年即将过去&#xff0c;在公司领导的悉心关怀下和同事们的帮助指导下&#xff0c;结合我自身的努力&#xff0c;在工作、学习等各方面都取得了长足的进步&#xff0c;尤其是在保险理赔专业知识和技能培养方面的成熟&#xff0c;使我成为一名合格的车…

Linux_查看硬盘占用情况

一、查看是什么占用了硬盘空间 df -h 这个命令查看的是显示目前在 Linux 系统上的所有文件系统磁盘使用情况&#xff0c;并根据大小适当显示&#xff08;-h 参数代表以可读的方式展示文件的大小&#xff09;。 一下为加 -h 和不加 -h 的结果 不加 -h 加 -h Filesystem&…

探秘安卓广播:揭秘Android广播机制的神奇之处

壹 广播机制 Android中的广播(Broadcast)机制用于进程/线程间通信&#xff0c;该机制使用了观察者模式。观察者模式是一种软件设计模式&#xff0c;该模式是基于消息的发布/订阅事件模型&#xff0c;该模型中的消息发布者是广播机制中的广播发送者&#xff0c;消息订阅者是广播…

ajax原理是什么?如何实现?

一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML&#xff0c;是一种创建交互式网页应用的网页开发技术&#xff0c;可以在不重新加载整个网页的情况下&#xff0c;与服务器交换数据&#xff0c;并且更新部分网页 Ajax的原理简单来说通过XmlHttpReq…

算法——查找表

查找&#xff0c;根据一个值查找另一个值&#xff0c;value值可以是容器&#xff0c;结构&#xff0c;这样可查找的元素就更多&#xff1b; 哈希冲突&#xff1a; 主关键字&#xff1a;可以唯一的标识一个记录的关键字&#xff0c;如准考证号&#xff1b; 此关键词&#xff…

RFID微图柜的操作流程以及功能介绍

微型图书馆智能书柜是一种基于 RFID 技术的图书自助借阅延伸服务的终端设备&#xff0c;可实现 24 小时无人看守的共享的智能化设备&#xff0c;可自助借还书、自动数据记录分析、自助提醒等一体化管理服务功能。 智能书柜的操作流程 借书&#xff1a;在操作页面上选择“借书…