吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

目录

  • 导入Tensorflow的库
  • 无激活函数 vs 有激活函数?
    • 1.无激活函数
    • 2.有激活函数
  • 无激活函数的神经元-回归/线性模型
    • 1.创建训练集散点图
    • 2.创建层
    • 3.层输入
    • 4.获取层参数
    • 5.层参数的形状
    • 6.手动设置层的参数
    • 7.层计算vs线性回归模型计算
  • 有激活函数sigmoid的神经元
    • 1.创建训练集散点图
    • 2.快速创建具备前向传播算法的神经网络模型
    • 3.获取模型信息
    • 4.获取模型层信息
    • 5.神经网络模型计算 vs sigmoid计算
  • 总结

导入Tensorflow的库

Tensorflow 是由 Google 开发的机器学习包。2019 年,Google 将 Keras 集成到 Tensorflow 中,并发布了 Tensorflow 2.0。Keras 是由 François Chollet 独立开发的框架,它为 Tensorflow 提供了一个简单的、以层为中心的接口。本课程将使用 Keras 接口。

import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow.keras.layers import Dense, Input
from tensorflow.keras import Sequential
from tensorflow.keras.losses import MeanSquaredError, BinaryCrossentropy
from tensorflow.keras.activations import sigmoid
from lab_utils_common import dlc
from lab_neurons_utils import plt_prob_1d, sigmoidnp, plt_linear, plt_logistic
plt.style.use('./deeplearning.mplstyle')
import logging
logging.getLogger("tensorflow").setLevel(logging.ERROR)
tf.autograph.set_verbosity(0)

无激活函数 vs 有激活函数?

1.无激活函数

神经元使用线性回归模型,即f(x)=wx+b。

2.有激活函数

神经元使用sigmoid函数,sigmoid函数是激活函数,wx+b不能称为激活函数,它只是用来计算sigmoid中的z。神经元通过sigmoid函数的输出才能被称为神经元的激活项(截止目前的课,神经元都使用逻辑回归模型)。
在这里插入图片描述

无激活函数的神经元-回归/线性模型

1.创建训练集散点图

使用第一课时的例子,房价预测,绘制散点图。
在这里插入图片描述

2.创建层

参数1:指定神经元数量,餐数2:指定激活函数,此处为线性激活函数。Dense表示全连接层,截止目前我们学习的神经网络都是使用这种类型的层。
在这里插入图片描述

3.层输入

-参数必须为二维数组。
在这里插入图片描述

4.获取层参数

给层输入,linear_layer就被实例化了,才能够查看层的参数,否则无法查看,此时w,b参数是被自动初始化。
在这里插入图片描述

5.层参数的形状

  • w:(输入特征的数量,本层神经元数量)。
  • b:(本层神经元数量,)。

6.手动设置层的参数

  • set_weights设置层的神经元参数w,b。
  • 本例中的神经元数量为1,输入的特征数量为1。
    在这里插入图片描述

7.层计算vs线性回归模型计算

  • 使用一个训练样本,可以看到层计算的结果和线性回归模型计算的结果相同。
    在这里插入图片描述
  • 使用全部的训练样本,看到两者计算结果也相同。在这里插入图片描述

有激活函数sigmoid的神经元

1.创建训练集散点图

在这里插入图片描述

2.快速创建具备前向传播算法的神经网络模型

  • Sequential是构建神经网络模型的一种便捷方式,可以设置多层,并且自动使用前向传播。参数1:指定本层神经元数量。参数2:指定输入样本的特征数。参数3:设置激活函数。参数4:设定层名称。在这里插入图片描述

3.获取模型信息

包含每个层的名称、类型、输出形状和参数数量等。对于快速查看模型结构和参数数量很有用。示例中只有一个神经元和一个特征,因此参数只有一个w和b,因此Param-2。
在这里插入图片描述

4.获取模型层信息

在这里插入图片描述

5.神经网络模型计算 vs sigmoid计算

  • 手动设定wb,带入一个训练样本,两者计算的值是一样的。
    在这里插入图片描述

  • 使用神经网络模型预测,plt_logistic分别展示了模型预测和sigmoid预测的过程。
    在这里插入图片描述

  • 模型的预测
    在这里插入图片描述

  • sigmoid函数的预测。
    在这里插入图片描述

  • 阴影反应了sigmoid的输出,使用Tensorflow和使用原始的sigmoid预测分类一致。
    在这里插入图片描述

总结

有激活函数的案例和无激活函数的案例,展示了两种不同的构建一个层的方式,一种是以Dense为主的函数式API形式创建层以及和层的操作,另一种是以Sequential为主的创建一个层的模型,以及通过模型对层的相关操作。

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

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

相关文章

【FX110】台湾修改洗钱法已加强对虚拟资产的监管

台湾正在通过修订《洗钱控制法》加强其反洗钱法规,使其法律与亚太反洗钱组织 (APG) 制定的国际标准保持一致。 此次修正案的重点是将虚拟资产和虚拟资产服务提供商置于台湾反洗钱制度的严格监管之下。修订后的法律对“虚拟资产”和“虚拟资产服务提供商”增加了明确…

CH340 RTS DTR引脚编程驱动OLED

我们常用的四线OLED就是IIC通信的,那么我们能不能用ch340来模拟一个IIC呢,当然可以我移植了中景园的OLED驱动,接下来就是见证奇迹的时刻,成功点亮,受限于CH340的引脚速度,模拟IIC的通信速度只有3k左右 注意…

centos7.9系统rabbitmq3.8.5升级为3.8.35版本

说明 本文仅适用rabbitmq为RPM安装方式。 升级准备 查看环境当前版本: # cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # rabbitmqctl status Status of node rabbitmq01 ... RuntimeOS PID: 19333 OS: Linux Uptime (seconds): 58 Is under …

React 第三十一章 虚拟DOM

面试题:什么是虚拟DOM?其优点有哪些? 标准且浅显的答案 虚拟dom本质上就是一个普通的 JS 对象,用于描述视图的界面结构 虚拟 DOM 最早是由 React 团队提出来的,因此 React 团队在对虚拟 DOM 的定义上面有绝对的话语权。…

bitmap requires a valid src attribute

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、问题记录四、 推…

深度剖析Comate智能产品:科技巧思,实用至上

文章目录 Comate智能编码助手介绍Comate应用场景Comate语言与IDE支持 Comate安装步骤Comate智能编码使用体验代码推荐智能推荐生成单测注释解释注释生成智能问答 Comate实战演练总结 Comate智能编码助手介绍 市面上现在有很多智能代码助手,当时互联网头部大厂百度也…

如何看待云计算的第三次浪潮?

如何看待云计算的第三次浪潮? 来自云栖大会的演讲你如何看待云计算的第三次浪潮?云计算的第三次浪潮将会给社会带来怎样的变革?开发者在云计算的第三次浪潮中将会有哪些机遇和挑战?机遇挑战 来自云栖大会的演讲 在2023云栖大会上…

linux性能监控之top

说完了atop和htop,我们在来说说Linux自带的top,我们先看看命令效果: 可以看到是一个实时的系统监控工具,提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。 我们先来解析下命…

Linux磁盘IO、网络IO、零拷贝详解

一、什么是I/O? 在计算机操作系统中,所谓的I/O就是输入(input)和输出(output),也可以理解为读(read)和写(write),针对不同的对象,I/O模式可以划分…

波卡 2024 一季度报告:XCM 创下历史新高,JAM 链将引领 Polkadot 2.0 新风向

作者:Nicholas Garcia|Messari 研究分析师 编译:OneBlock 原文:https://messari.io/report/state-of-polkadot-q1-2024 近期,Messari Crypto 发布了 Polkadot 2024 年 Q1 状况的数据报告。OneBlock 为你梳理了本篇报…

LLMs应被视为一种文字计算器?

编者按:当前,大语言模型已经成为自然语言处理领域的热点。LLMs 是否真的“智能”?它们又为我们带来了哪些启发?针对这些问题,Darveen Vijayan 为我们带来了这篇引人深思的文章。 作者主要阐释了两个观点:第…

STM32_HAL_RTC_中断实现闹钟

1STM32设置 在STM32Cude中设置RTC//具体设置看先前发的文章 再打开闹钟中断(如下图) 2代码思路 2.1启动闹钟(HAL_RTC_SetAlarm_IT(&hrtc,&sAlarm,FORMAT_BCD)) 2.2设置回调函数(void HAL_RTC_AlarmAEventC…