深度学习入门(4)

神经网络的构建

import numpy as np
import matplotlib.pyplot as plt
def sigmoid(x):return 1/(1+np.exp(-x))
def identity_function(x):#恒等函数return x
def init_network():#进行权重和偏置的初始化,并保存到字典中network={}network['W1']=np.array([[0.1,0.3,0.5],[0.2,0.4,0.6]])network['b1']=np.array([0.1,0.2,0.3])network['W2']=np.array([[0.1,0.4],[0.2,0.5],[0.3,0.6]])network['b2']=np.array([0.1,0.2])network['W3']=np.array([[0.1,0.3],[0.2,0.4]])network['b3']=np.array([0.1,0.2])return networkdef forward(network,x):#输入到输出的处理W1,W2,W3=network['W1'],network['W2'],network['W3']b1,b2,b3=network['b1'],network['b2'],network['b3']a1=np.dot(x,W1)+b1z1=sigmoid(a1)a2=np.dot(z1,W2)+b2z2=sigmoid(a2)a3=np.dot(z2,W3)+b3y=identity_function(a3)return ynetwork=init_network()
x=np.array([1.0,0.5])
y=forward(network,x)
print(y)
这里定义了 init_network() forward() 函数。 init_network() 函数会进行权重和偏置的初始化,并将它们保存在字典变量 network 中。这个字典变 network 中保存了每一层所需的参数(权重和偏置)。 forward() 函数中则封 装了将输入信号转换为输出信号的处理过程。
输出层所用的激活函数,要根据求解问题的性质决定。一般地,回归问题可以使用恒等函数,二元分类问题可以使用 sigmoid函数, 多元分类问题可以使用 softmax函数。

恒等函数和softmax函数

 恒等函数会将输入按原样输出,对于输入的信息,不加以任何改动地直接输出。

exp( x ) 是表示 e x 的指数函数( e 是纳皮尔常数 2 . 7182 ... )。式( 3 . 10 )表示假设输出层共有 n 个神经元,计算第 k 个神经元的输出 y k 。如式( 3 . 10 )所示, softmax 函数的分子是输入信号 a k 的指数函数,分母是所有输入信号的指数 函数的和。
import numpy as np
a=np.array([0.3,2.9,4.0])
exp_a=np.exp(a)
print(exp_a)
sum_exp_a=np.sum(exp_a)
print(sum_exp_a)
y=exp_a/sum_exp_a
print(y)#softmax的函数形式
def softmax(a):exp_a=np.exp(a)sum_exp_a=np.sum(exp_a)y=exp_a/sum_exp_areturn y

实现softmax函数时的注意事项 

softmax存在的问题是会发生溢出导致数据不准确,因此采用下面这种方式进行优化

 

在进行 softmax 的指数函数的运算时,加上(或者减去)某个常数并不会改变运算的结果。这里的 C 可以使用任何值,但是为了防 止溢出,一般会使用输入信号中的最大值。
def softmax(a):c=np.max(a)exp_a=np.exp(a-c)sum_exp_a=np.sum(exp_a)y=exp_a/sum_exp_areturn y

 softmax函数的特征

 softmax函数的输出是0.01.0之间的实数。并且,softmax函数的输出值的总和是1。输出总和为1softmax函数的一个重要性质。正因为有了这个性质,我们才可以把softmax函数的输出解释为“概率”。

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

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

相关文章

UniApp 中的路由守卫与拦截器:守护应用的每一步

正文: 路由守卫和拦截器在前端开发中扮演着重要的角色,它们可以用来控制页面访问权限、全局请求拦截等。在 UniApp 中,路由守卫和拦截器同样具有强大的功能,能够保护应用的安全和稳定性。本文将深入探讨 UniApp 中的路由守卫和拦…

【ARM Cache 系列文章 12 – Cache Tag与 物理地址】

文章目录 Cache Tag 和 物理地址缓存的关键组成部分和功能Cache 与 MMUCache Tag 和 物理地址 在ARM架构中,缓存(Cache)的设计是提高数据访问效率的关键机制。每个缓存行(Cache Line)都有一个与之关联的标签(Tag),该标签记录了与该行相关联的外部存储器的物理地址。缓…

关于Android优化

Android优化是一个复杂且多方面的过程,涉及到应用程序的各个方面,包括性能、用户体验、安全性等。以下是对Android优化的详细阐述,包括优化策略、优化方法以及优化工具,并辅以具体的案例或示例。 优化策略 一、用户体验优化 用…

ezplot--Matlab学习

目录 一、代码 二、效果 ​编辑 三、ezplot讲解 四、如何自定义一个函数 一、代码 clc; clear; t0:32; x4(t) cos(2*pi*t/4).*sin(2*pi*t/4); x8(t) cos(2*pi*t/8).*sin(2*pi*t/8); x16(t) cos(2*pi*t/16).*sin(2*pi*t/16); subplot(3,1,1) ezplot(x4,[0,32]); subplot…

POCEXP编写—多线程

POC&EXP编写—多线程 1. 前言2. 多进程&多线程2.1. 多进程2.1.1. 案例 2.2. 多线程2.2.1. 案例: 2.3. POC的案例(模板) 3. UA头设置3.1. 随机UA头3.1.1. 案例3.1.2. 模板拼接 4. 代理Proxy4.1. 单代理案例4.2. 多代理案例4.2.1. 请求…

【AI心理咨询应用】继Woebot之后,国内诞生的“LLM+CBT”应用:白小喵

导言 AI认知行为疗法(Cognitive Behavioral Therapy,CBT)早在2017年便有了首例,即美国知名CBT治疗机器人Woebot。 然而,Woebot在CBT的完整落地上仍有缺陷问题,LLM的出现促进了对该问题的解决,…

逻辑填空。

文章目录 句子与填空间的逻辑与搭配 并 符合 文意23省直:侧重搭配21省直:侧重搭配20省直:搭配辨析19/10省直19/8省直17省直词语辨析与搭配置若罔闻/熟视无睹横跨/跨越/横亘征程/征途激活/刺激监管/监督/管理曲径通幽/千回百转消散/淹没/消弭/…

【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录 一. 什么是机器学习1. 概念2. 机器学习算法分类 二. 利用预测模型解决问题的步骤三. 机器学习的Python生态圈 一. 什么是机器学习 1. 概念 机器学习(Machine Learning,ML)是一门多领域的交叉学科,涉及概率论、统计学、…

设计模式学习笔记 - 项目实战三:设计实现一个支持自定义规则的灰度发布组件(设计)

概述 上篇文章,我们介绍了灰度组件的一个需求场景,将公共服务平台的 RPC 接口,灰度替换为新的 RESTful 接口,通过灰度逐步放量,支持快速回滚等手段,来规避代码质量问题带来的不确定性风险。 跟前面两个框…

服务器数据恢复—Storwize V3700存储数据恢复案例

服务器存储数据恢复环境: 某品牌Storwize V3700存储,10块硬盘组建了2组Mdisk加入到一个存储池中,一共创建了1个通用卷来存放数据,主要数据为oracle数据库。 服务器存储故障: 其中一组Mdisk中两块磁盘出现故障离线&…

【每日刷题】Day28

【每日刷题】Day28 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 ​ 1. 121. 买卖股票的最佳时机 - 力扣(LeetCode) 2. 205. 同构字符串 - 力扣…

解决python file.read()读取文件为空报错

问题描述 今天写的python脚本出现了file.read()读不到文件内容的问题,原脚本如下: with open(path,r) as f:znre.compile(rZN ZN)znallzn.findall(f.read())if len(znall) 1:list2.append(id)for i in list1:#print(f.read())if i in f.read():lis…

如何写得一手优雅规范的SpringBoot 接口?

导语 优雅的代码赏心悦目,你的代码触目惊心。 当编写 Spring Boot 接口时,优雅和规范是至关重要的。一个良好设计的接口能够提高代码的可读性、可维护性和可扩展性,从而为整个应用程序的开发和维护带来便利。 在本文中,我们将探讨…

关于discuz论坛网址优化的一些记录(网站地图sitemap提交)

最近网站刚上线,针对SEO做了些操作,为了方便网站网页百度被收录,特此记录下 discuz有免费的sitemap插件可以用,打开后台管理,找到插件栏,然后找到更多插件,进入插件市场。 选择这个免费的sitem…

【数据分析面试】34.填充NaN值 (Python:groupby/sort_value/ffill)

题目:填充NaN值 (Python) 给定一个包含三列的DataFrame:client_id、ranking、value 编写一个函数,将value列中的NaN值用相同client_id的前一个非NaN值填充,按升序排列。 如果不存在前一个client_id,则返…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露 如果进程进入了僵尸状态,kill…

Tcp自连接

Tcp自连接 如果客户端和服务端都在同一个环境,并且客户端先于服务端启动,那么很有可能产生自连接的现象。 所谓自连接,就是tcp两端使用了同一个端口进行连接,即localhost:port->localhost:port。 实现自连接 下面提供一个例…

GITEE 基于OAuth2的API V5版本

为了构建更好的码云生态环境,我们推出了基于OAuth2的API V5版本。 API V5接口使用方式以及Url都参照GitHub,为了各位开发者更好的兼容已经存在的第三方应用。 API 使用条款 OSCHINA 用户是资源的拥有者,需尊重和保护用户的权益。不能在应用…

4.29 IO多路复用

管道,就是用于进程之间的通信文件,根本不会用到磁盘内容,只是用来标记一块缓冲区,所以无论任何时候大小都是0。 管道必须要同时打开,只开一端是不行的,这样的话不能进行后续的操作,会卡在那里&…

基于SpringBoot+Vue高校竞赛管理系统的设计与实现

项目介绍: 高校竞赛管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、竞赛公告管理、获奖管理、老师管理、评审管理、评审分配管理、评审打分管理、赛事管理、赛事提交管理、赛事报名管理、用户管理、专家管理、管理员管理。用…