MachineLearningWu_13/P60-P64_Tensorflow

P60-P64的学习目录如下,

x.1 TF网络模型实现

请添加图片描述

以一个简单的TF的分类网络为例,将模型翻译成框架下的语义,即如右侧所表达的。

请添加图片描述

当然上面对于分类网络的解释是一个简洁的解释,我们来进行更加具象的了解一下。左边是机器学习的三步骤:1. 给定输入x和参数x,b,如何定义模型;2. 如何定义损失;3. 如何最小化损失。中间是对应的逻辑回归的数学表达公式。右边是对应的TF框架下的代码表达。

代码表达部分其实就三行代码,model = ... # TF下的组件拼接而成的model; model.compile(loss = ... ) # TF下的一个loss; model.fit(x, y, epochos=...) # 封装好的梯度下降方法

请添加图片描述

我们将代码部分重新摘出来,复习一遍,

请添加图片描述

使用封装好的loss函数,上面那个是二值交叉熵损失用作分类,下面哪个是MSE损失用作回归,

请添加图片描述

使用封装好的梯度下降函数算法,这里会自动计算多个batch的均值,

请添加图片描述

x.2 多种激活函数和激活函数选择以及为何要用激活函数

关于多种激活函数,基本上只有三种类型,线性,sigmoid及其变体(Softmax),ReLU及其变体(leaky ReLU)。其中后两种是非线性激活函数,关于为何要从sigmoid变为ReLU,这是从需求出发的,如果你需要的输出你想让他较大方差的分布在一个范围,而不是小方差的分布在一个范围,则你需要将sigmoid改为ReLU,可以联想灰度直方图均衡化道理。

常见的激活函数的表达式和函数图像如下,

请添加图片描述

关于激活函数如何选择,我们则要分层看问题。我们会将模型分为输入层,隐藏层,输出层。其中激活函数在输出层和隐藏层是有区别的。在输出层的激活函数,主要取决于你想解决的问题和期望得到的输出是什么样子的,例如你在解决分类问题,分类结果只有0,1则sigmoid是好的选择;例如你在解决回归问题,你期望得到有正数有负数的输出,则使用线性激活函数为妙;例如如果你在解决回归问题,但你期望得到的输出只有正数,则使用ReLU为妙。

请添加图片描述

在隐藏层中,我们一般只会使用非线性激活函数。而在sigmoid和ReLU的选择中,我们现在通常使用ReLU函数。原因在于:1. 计算简单。2. sigmoid在两边较平,这就导致了在其形成的损失函数里面平滑的地方较多,下降较慢。

请添加图片描述

接下来我们举一个例子,

请添加图片描述

关于为何要引入激活函数,因为我们要引入非线性因素。这么说可能还不太理解,我们以线性激活函数为例来说明如下,我们能够发现如果使用线性层作为激活函数,线性回归多层后仍然可以只用一层线性回归来表示,

请添加图片描述

请添加图片描述

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

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

相关文章

LeetCode题解:判断是否能拆分数组

⭐简单说两句⭐ 作者:后端小知识 CSDN个人主页:后端小知识 🔎GZH:后端小知识 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 上周做了力扣周赛的题,给大家分享一个中等题目&#xff…

文章采集伪原创发布工具-147采集

在当今信息爆炸的时代,企业和个人都意识到了获取高质量、原创的内容的重要性。然而,手动撰写大量的原创内容是一项耗时费力的任务。为了解决这个问题,我向您介绍一款颠覆性的数据采集工具——147采集。 147采集是一款专业且高效的数据采集软件…

Linux安装配置nginx+php搭建以及在docker中配置

Linux安装配置nginxphp搭建以及在docker中配置 文章目录 Linux安装配置nginxphp搭建以及在docker中配置1.nginx源码包编译环境和安装相应的依赖1.1 安装编译环境1.2 安装pcre库、zlib库和openssl库 2.安装nginx2.1 在[nginx官网](https://nginx.org/en/download.html)上获取源码…

IDEA 指定spring.profiles.active本地启动

spring.profiles.activedev spring.profiles.activepro

Android开发实践:Android.mk模板

关于Android NDK开发的文章已经比较多了,我的博客中也分享了很多NDK开发相关经验和技巧,今天简单写了一个 Android.mk 的示例模板,供初学者参考。 本模板主要给大家示例 Android NDK 开发中的如下几个问题: 如何自动添加需要编译…

15_基于Flink将pulsar数据写入到ClickHouse

3.8.基于Flink将数据写入到ClickHouse 编写Flink完成数据写入到ClickHouse操作, 后续基于CK完成指标统计操作 3.8.1.ClickHouse基本介绍 ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C语言编写,主要用…

K最近邻算法:简单高效的分类和回归方法(三)

文章目录 🍀引言🍀训练集和测试集🍀sklearn中封装好的train_test_split🍀超参数 🍀引言 本节以KNN算法为主,简单介绍一下训练集和测试集、超参数 🍀训练集和测试集 训练集和测试集是机器学习和深…

【LeetCode】数据结构题解(11)[用队列实现栈]

用队列实现栈 😉 1.题目来源👀2.题目描述🤔3.解题思路🥳4.代码展示 所属专栏:玩转数据结构题型❤️ 🚀 >博主首页:初阳785❤️ 🚀 >代码托管:chuyang785❤️ &…

C语言文件操作基本方法

1、文件的分类 ANSI C 的缓冲文件系统 缓冲文件系统 缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。 从磁盘文件向内…

Python爬虫的Selenium(学习于b站尚硅谷)

目录 一、Selenium  1.为什么要学习Selenium  (1)什么是Selenium  (2)为什么使用selenium?  (3)代码演示 2. selenium的基本使用  (1)如何安装selenium  (2…

探析STM32标准库与HAL库之间的差异与优劣

引言: 在嵌入式开发领域,STMicroelectronics的STM32系列芯片广受欢迎。STM32提供了两种主要的软件库,即标准库和HAL库,用于开发各种应用。本文将探讨这两种库之间的差异,比较它们的优劣,并分析在选择库时需…

数仓架构模型设计参考

1、数据技术架构 1.1、技术架构 1.2、数据分层 将数据仓库分为三层,自下而上为:数据引入层(ODS,Operation Data Store)、数据公共层(CDM,Common Data Model)和数据应用层&#xff…

Android 数据库之GreenDAO

GreenDAO 是一款开源的面向 Android 的轻便、快捷的 ORM 框架,将 Java 对象映射到 SQLite 数据库中,我们操作数据库的时候,不再需要编写复杂的 SQL语句, 在性能方面,greenDAO 针对 Android 进行了高度优化,…

IPWorks S3 Delphi Edition Crack

IPWorks S3 Delphi Edition Crack IPWorksS3使集成基于云的文件存储变得容易。易于使用的组件可用于与任何S3兼容的存储提供商集成,如Amazon S3、Digital Ocean Spaces、Wasabi、Backblaze B2、IBM Cloud Object storage、Oracle Cloud、Linode等。强大的客户端加密…

springboot+vue智能化网络电子相册图片管理系统_84ds3

随着计算机技术发展,计算机系统的应用已延伸到社会的各个领域,大量基于网络的广泛应用给生活带来了十分的便利。所以把智能化电子相册与现在网络相结合,利用计算机搭建智能化电子相册系统,实现智能化电子相册的信息化。则对于进一…

01_什么是ansible、基本架构、ansible工作机制、Ansible安装、配置主机清单、设置SSH无密码登录等

1.什么是ansible 1.1.基本介绍 1.2.基本架构 1.3.基本特征 1.4.优点 1.5.ansible工作机制 2.Ansible安装 2.1.机器准备 2.2.安装ansible 2.2.1.安装epel源 2.2.2.安装ansible 2.2.3.查看ansible版本 2.2.4.树状结构展示文件夹 2.2.4.1.其中ansible.cfg的内容如下 2.2.4.2.host的…

jmeter 二次开发详解

目录 背景: 自定义 BeanShell 功能 自定义请求编写(Java Sampler) 实现 Java Sampler 功能的两种方式 案例:使用 JavaSampler 重写 HTTP 的 POST 请求 自定义函数助手 背景: JMeter 是一个功能强大的性能测试工具…

The ‘kotlin-android-extensions‘ Gradle plugin is no longer supported.

Android使用kotlin开发,运行报错 The kotlin-android-extensions Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.an…

linux umask 详解

1. umask 定义 在 linux 系统中,umask 被定义在 /etc/profile 配置文件中,有一段 shell 脚本对 umask 是这么定义的。在 shell 会话输入命令: $ cat /etc/profile # 查看 /etc/profile 配置文件的内容 if [ $UID -gt 199 ] &&…

Vue3中v-model在原生元素和自定义组件上的使用

目录 前言 一、原生元素上的用法 1. 输入框(input) 2. 多行文本域(textarea) 3. 单选按钮(radio) 4. 多选框(checkbox) 5. 下拉选择框(select) 二、自定义组件上的用法 1. 定义一个名为 modelValue 的 props 属性和一个名为 update:modelValue 的事件 2.使用一个可…