生命在于学习——Python人工智能原理(3.3)

在这里插入图片描述

三、深度学习

4、激活函数

激活函数的主要作用是对神经元获得的输入进行非线性变换,以此反映神经元的非线性特性。常见的激活函数有线性激活函数、符号激活函数、Sigmod激活函数、双曲正切激活函数、高斯激活函数、ReLU激活函数

(1)线性激活函数

F(x)=kx+c,其中k和c是常量、线性函数常用在线性神经网络中。

(2)符号激活函数

在这里插入图片描述

(3)Sigmod激活函数

Sigmod函数又称为S形函数,是最为常见的激活函数:
在这里插入图片描述其图像如下
在这里插入图片描述

(4)双曲正切激活函数

在这里插入图片描述

图像如下所示:
在这里插入图片描述

(5)高斯激活函数

在这里插入图片描述

(6)ReLU激活函数

在这里插入图片描述

也可以表示为F(x)=max(0,x),图像如下图所示:

在这里插入图片描述
在神经网络中,ReLU激活函数得到广泛应用,尤其在卷积神经网络中,往往不选择Sigmod或Tanh而选择ReLU,原因主要有以下几点:
a、Sigmod函数求导涉及指数,计算复杂,ReLU代价小,计算速度快。
b、Sigmod函数导数最大值为1/4,链式求导会导致梯度越来越小,训练深度神经网络容易导致梯度消失,但是ReLU函数的导数为1,不会出现梯度消失。
c、有研究表明,人脑在工作时大概只有5%的神经元被激活,而Sigmod函数激活比例是50%,人工神经网络理想状态下激活率为15%-30%,ReLU函数在小于0时完全不激活,可以适应理想网络的激活率要求。

5、梯度下降法

梯度下降法是神经网络模型训练中最常用的优化算法之一,将其应用于寻找损失函数或代价函数的极值点。
常见的梯度下降法有批量下降法、随机梯度下降法和小批量梯度下降法,一般采用小批量梯度下降法。

(1)批量梯度下降法

此方法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。
优点:
a、每次更新使用全部样本,能更准确的朝向极值所在的方向,如果目标函数是凸函数,一定能收敛到全局最小值。
b、它对梯度的无偏估计,样例越多,估计越准确。
c、以此迭代时对所有样本进行计算,可以利用向量化操作实现并行。
缺点:
a、遍历计算所有样本不仅耗时还消耗大量资源。
b、每次更新遍历所有样本,有一些样本对参数更新价值不大。
c、如果是非凸函数,可能会陷入局部最小值。
迭代曲线如下:
在这里插入图片描述

(2)随机梯度下降

每次迭代时只使用一个样本对参数进行更新。
优点:
a、每次只计算一个样本,更新速度大大加快。
b、在学习过程中加入了噪声和随机性,提高了泛化误差。
c、对于非凸函数,它的随机性有助于逃离某些不理想的局部最小值,获得全局最优解。
缺点:
a、更新所有样本需要大量时间。
b、学习过程波动较大。
迭代曲线如下:
在这里插入图片描述

6、交叉熵损失函数

神经网络中分类问题较常使用交叉熵作为损失函数,二分类问题中公式如下,y*表示为真实标签,y表示预测标签:
在这里插入图片描述

多分类问题中公式可以写成下面形式:
在这里插入图片描述

二分类的交叉熵python实现如下:
def binary_crossentropy(t,o):
#y_true是真实标签,y_pred是预测值
return -(y_true * np.log(y_pred)+(1-y_true)*np.log(1-y_pred))

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

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

相关文章

【elementui源码解析】如何实现自动渲染md文档-第二篇

目录 1.概要 2.引用文件 1)components.json 2)json-template/string 3)os.EOL 3.变量定义 4.模版填充 5.MAIN_TEMPLATE填充 6.src下的index.js文件 1)install 2)export 7.总结 1.概要 今天看第二个命令no…

videoJS 视频 + 独一无二皮肤 + mp4/m3u8

推荐和参考文章: video.js调用-腾讯云开发者社区-腾讯云> 一、总结(点击显示或隐藏总结内容)一句话总结:网上有各种细致的现成的代码可以拿来用,没必要自己死专1、video.js有两种初始化方式?一种是在v…

C++并发之条件变量(std::condition_variable)

目录 1 概述2 使用实例3 接口使用3.1 wait3.2 wait_for3.3 wait_until3.4 notify_one3.5 notiry_all3.5 notify_all_at_thread_exit1 概述 条件变量是一个能够阻塞调用线程直到被通知恢复的对象。   当调用其中一个等待函数时,它使用unique_lock(通过互斥锁)来锁定线程。线程…

hadoop和hbase对应版本关系

https://hbase.apache.org/book.html#configuration

DuDuTalk语音工牌:如何帮助房企打造数字化的案场接待体验

房地产案场接待作为客户体验的第一站,其服务质量直接影响客户的购房决策。然而,传统的案场接待方式存在诸多挑战,如信息记录不准确、服务流程难以标准化、客户反馈收集困难等。语音工牌作为一种创新的智能设备,凭借其独特的功能和…

Office 2021 mac/win版:智慧升级,办公新风尚

Office 2021是微软公司推出的一款高效、智能且功能丰富的办公软件套件。它集成了Word、Excel、PowerPoint等多个经典应用程序,旨在为用户提供更出色的办公体验。 Office 2021 mac/win版获取 Office 2021在继承了前代版本优点的基础上,进行了大量的优化…

接口测试之用Fiddler对手机app进行抓包

Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应,因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持…

JVC摄像机SD卡变成RAW的恢复方法

JVC小日本胜利公司,公司名字绕口且产品线极广,涉及汽车、影音、娱乐……,而JVC在摄像机产品方面也有涉及,不过市场上极为少见。下边我们来看下这个JVC摄像机MP4恢复案例。 故障存储: 32G存储卡 RAW文件系统 故障现象: 客户无…

万字长文讲解如何快速搭建一个Spring Cloud项目

文章目录 概念基本概念微服务七大组件 初始化Maven父工程整合注册中心组件整合远程调用与负载均衡组件组件整合网关组件整合配置中心组件以gateway模块为例 整合分布式事务组件操作数据库模拟创建订单和扣减库存整合Seata 整合熔断降级组件整合链路追踪组件源码地址参考来源 概…

springcloud gateway转发websocket请求的404问题定位

一、问题 前端小程序通过springcloud gateway接入并访问后端的诸多微服务,几十个微服务相关功能均正常,只有小程序到后端推送服务的websocket连接建立不起来,使用whireshark抓包,发现在小程序通过 GET ws://192.168.6.100:8888/w…

Robot Operating System (ROS)中,发布与订阅

在Robot Operating System (ROS)中,发布与订阅是一种基于主题的异步消息传递机制,用于节点间的通信。ROS的设计是围绕着这一概念,它允许不同节点之间解耦,每个节点专注于自己的任务,通过发布和订阅消息来与其他节点交互…

计算机体系结构重点学习

从外部I/O与上层应用交互的整体软硬件过程 上层应用发出I/O请求:上层应用程序,如一个文本编辑器、网络浏览器或者任何软件应用,需要读取或写入数据时,会通过调用操作系统提供的API(如文件操作API、网络操作API等&…

SpringBoot之请求映射原理

前言 我们发出的请求,SpringMVC是如何精准定位到那个Controller以及具体方法?其实这都是 HandlerMapping 发挥的作用,这篇博文我们以 RequestMappingHandlerMapping 为例并结合源码一步步进行分析。 定义HandlerMapping 默认 HandlerMappi…

Docker部署常见应用之桌面版系统ubuntu-desktop

文章目录 ubuntu-desktop 简介ubuntu-desktop 部署参考文章 ubuntu-desktop 简介 colinchang/ubuntu-desktop 是一个Docker镜像,基于KasmWeb⁠的 Ubuntu 22.04 桌面版(Web) Docker Image。镜像替换了阿里云Ubuntu Jammy镜像源,安…

重生之 SpringBoot3 入门保姆级学习(21、场景整合 Redis 定制对象序列化存储)

重生之 SpringBoot3 入门保姆级学习(21、场景整合 Redis 定制对象序列化存储) 6.4 定制化 6.4 定制化 需求:保存一个 Person 对象到 redis 创建 Person 类 package com.zhong.redis.entity;import lombok.AllArgsConstructor; import lombok…

浅谈C++基本框架内涵及其学习路线

目录 一.C的内涵本质 1. 面向对象编程(OOP) 2. 低级控制 3. 模板编程 4. 标准库(STL) 5. 多范式支持 二.学习路线 1. 基础阶段 C基础语法 函数 数组和指针 2. 面向对象编程 类和对象 继承和多态 运算符重载 3. 高级…

【服务的主从切换实现原理】

文章目录 主从架构介绍zookeeper利用ZK实现主从架构 主从架构介绍 主从服务架构是一种常见的分布式系统设计模式,常用于提高系统的性能、可用性和扩展性。在这种架构中,系统中的节点被分为两类:主节点(Master)和从节点…

Java基础面试重点-1

0. 符号: *:记忆模糊,验证后特别标注的知识点。 &:容易忘记知识点。 *:重要的知识点。 1. 简述一下Java面向对象的基本特征(四个),以及你自己的应用? 抽象&#…

R可视化:ggpubr包学习

欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者 Xiao hong书:生信学习者 知hu:生信学习者 CDSN:生信学习者2 介绍 ggpubr是我经常会用到的R包,它傻瓜式的画图方式对很多初次接触R绘图的人来…

提升你的编程体验:自定义 PyCharm 背景图片

首先,打开 PyCharm 的设置菜单,点击菜单栏中的 File > Settings 来访问设置,也可以通过快捷键 CtrlAItS 打开设置。 然后点击Appearance & Behavior > Appearance。 找到Background image...左键双击进入。 Image:传入自己需要设置…