【速通版】吴恩达机器学习笔记Part4

news2024/11/25 22:37:41

开启第二课!

目录

1.神经网络概述

2 前向传播(forward propogation)神经网络

3. tensorflow实现

 Numpy中的matrix:

用循环写NN:

​用numpy写NN:​

 AGI​

关于矩阵运算的解释(略)

 用tf训练NN(部分):


1.神经网络概述

为什么近些年DL开始飞速发展?因为近年随着手机、电脑的发展,电子数据量飞速增长,而传统的AI模型(如之前的线性回归、逻辑斯蒂回归)的性能不够用了,也就是人类喂进去再多的数据,这些算法的性能也不会有太大的提高。因此,为了能更好利用数据,发展了NN。 

 一个单输入变量的简单例子:以T恤价格和是否销量高作为输入和输出,用logistics回归的公式,值得注意的是,我们用a替代原本回归模型中的f,这是因为在神经元中我们用激活(activate)表示这个函数启用了,所以为了统一此处用a。

 接下来,以一个四维输入-一维输出为例构造一个三层的网络结构。

 也可以多个隐藏层,我们只需要确定需要多少层和每一层提取多少特征,然后电脑会帮我们提取合适的特征

 一个人脸识别的例子:输入1000*1000像素的黑白照片,输出这个人是谁,那么对应NN的输入就是1000*1000维向量(如果RGB彩色图像那就是3million了)

随着层数加深,考虑的特征范围更广更宏观 

 细致写了一下一层的输出,每一层用上标[i],每一层内部不同的神经元用下标1,也就是说,第一层的第二个神经元标识出来就是a^{[1]}_2,对应参数是w^{[1]}_2b^{[1]}_2

 同理,第一层的输出作为第二层的输入,其内部的表示如下图:

 最后,也可以增加一个predict category,也就是划为10(高维用one-hot)

 更复杂的NN(其实也很简单),注意,为了notation统一,输入X也可以被写成a_0

 以识别手写的01为例,其中0是黑色,255是亮白,两者之间是不同灰色

2 前向传播(forward propogation)神经网络

于是,我们学会了典型的前向传播的神经网络模型,

3. tensorflow实现

以咖啡烘焙是否出好豆子为例,输入是(烘焙温度,烘焙时间),输入是否为好豆子(是1否0)

我们考虑一个两层的神经网络,第一层有三个神经元、第二层有一个,都用sigmoid函数

 Numpy中的matrix:

这个我必须保存一波,天天记不得。

一重方括号表示的是向量vector,vector没有行列的概念,

二重方括号表示矩阵matrix,有行列

 代码显示如下:

 

我做了一个笔记

python中使用numpy包的向量矩阵相乘_ViviranZ的博客-CSDN博客

用循环写NN:

 如果完全用循环写,二层的NN是这样的:

(注意np.dot后面一个应该改为转置)


用numpy写NN:

 AGI

 生物实验表明,同一块大脑的部分可能会有不同的功能。比如,生物学家切断了大脑一部分控制听觉的区域和耳朵的神经链接,转而给它图像信息,结果它学会看了。因此,AGI可能是可行的。

关于矩阵运算的解释(略)

神经网络模型的发展得益于利用矩阵乘法表示,在GPU和部分CPU中的函数非常擅长矩阵乘法的并行运算。

代码:

 两种不同的表示矩阵乘法的方式如上图,可以用np.matmul也可以直接用算符@。在这些基础上,就可以把NN进一步写成矩阵运算的形式(这样方便计算机进行并行计算):

  np.dot和np.matmul在二维是一样的,具体笔记在博客附录:

python中使用numpy包的向量矩阵相乘np.dot和np.matmul_ViviranZ的博客-CSDN博客

 用tf训练NN:

 epoch:对应第一课讲过的梯度下降法中,最多要走多少步。

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

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

相关文章

Redis主从、哨兵、集群原理

1、 前言 大家好,我是捡田螺的小男孩。今天跟小伙伴们一起学习Redis的主从、哨兵、Redis Cluster集群。 Redis主从 Redis哨兵 Redis Cluster集群 1、Redis 主从 面试官经常会问到Redis的高可用。Redis高可用回答包括两个层面,一个就是数据不能丢失&#…

叮当网上书城项目简介

叮当网上书城项目 一、项目功能 1.前台功能 图书基本展示,包括推荐图书展示和类图书类型展示.推荐图书包括条幅推荐,热销推荐和新品推荐.按照图书类型展示商品.图书详细信息展示.图书加入购物车.修改购物车内图书信息,例如数量等.用户登录.用户注册.修改个人信息,包括密码和…

漏洞修改全记录(工作总结)

漏洞修改记录1 : zookeeper 取消对外暴露2 : web服务器配置 CSP header 配置安全配置3 : 不安全的访问4 : 静态资源未授权访问1 : zookeeper 取消对外暴露 解决方式:增加密码增加密码 2 : web服务器配置 CSP header 配置安全配置 解决方式:接口配置CS…

new bing的申请与使用教程

文章目录新必应申请新必应免代使用教程总结新必应申请 下载安装 Edge dev 版本,这个版本可以直接使用 对于没有更新的用户而言,不容易找到入口,所以我们直接使用 集成new bing的dev版本 Edge dev 下载链接:https://www.microso…

14- 决策树算法 (有监督学习) (算法)

决策树是属于有监督机器学习的一种决策树算法实操: from sklearn.tree import DecisionTreeClassifier # 决策树算法 model DecisionTreeClassifier(criterionentropy,max_depthd) model.fit(X_train,y_train)1、决策树概述 决策树是属于有监督机器学习的一种,起源…

Python网络爬虫 学习笔记(2)BeaufitulSoup库

文章目录BeautifulSoup库的基本介绍HTML标签的获取和相关属性HTML文档的遍历prettify()方法使用BeautifulSoup库对HTML文件进行内容查找信息的标记的相关概念(非重点)find_all()方法(重点)综合实例:爬取软科2022中国大…

L2-037 包装机

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品&#x…

SegPGD

在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为SegPGD。此外,我们还提供了收敛性分析,表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例。此外,我们建议应用我们的Seg…

【STM32笔记】晶振及旁路电容设计避坑(低速外部晶振LSE无法起振的可能原因)

【STM32笔记】晶振及旁路电容设计避坑(低功耗低速外部晶振LSE无法起振的可能原因) 晶振无法起振 无非就是旁路电容设计的有问题 一般旁路电容选10pF 12pF 20pF等等 都没啥问题 尤其是高速晶振 基本不会出问题 但是对于低速晶振 电容没选对 就很可能不起…

17- 梯度提升回归树GBRT (集成算法) (算法)

梯度提升回归树: 梯度提升回归树是区别于随机森林的另一种集成方法,它的特点在于纠正与加强,通过合并多个决策树来构建一个更为强大的模型。该模型即可以用于分类问题,也可以用于回归问题中。在该模型中,有三个重要参数分别为 n_…

海盗峡湾——NFT 作品集来袭!

陌生人们,通过这个作品集,可以让你沉浸在海盗们的文化和魔法中。这可能是你唯一的机会,用这些资产把你的土地变成海盗王国,所以不要犹豫了! 这个由 Alina Siniakova 制作的系列于 2 月 3 日晚上 11 点在 The Sandbox 市…

倒带ChunJun,同心前行|2022年度回顾2023年共建规划

ChunJun是一个开始于2018年的批流一体数据集成框架项目,原名FlinkX。2022年2月22日,在FlinkX进行初版开源的整整四年后,技术团队决定对FlinkX进行整体升级,并更名为ChunJun,希望为大家真正提供一个稳定、高效、易用的批…

服务器常见的网络攻击以及防御方法

网络安全威胁类别 网络内部的威胁,网络的滥用,没有安全意识的员工,黑客,骇客。 木马攻击原理 C/S 架构,服务器端被植入目标主机,服务器端通过反弹连接和客户端连接。从而客户端对其进行控制。 病毒 一…

蓝桥杯C/C++VIP试题每日一练之报时助手

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…

Nacos——Nacos简介以及Nacos Server安装

资料来源:02-Nacos配置管理-什么是配置中心_哔哩哔哩_bilibili nacos记得下载2.x版本的,负责以后新建配置的时候会出现“发布错误,请检查参数是否正确”错误!!!! 目录 一、Nacos简介 1.1 四…

【CS224W】(task4)图嵌入表示学习

note node2vec: 计算随机游走概率从节点uuu开始模拟rrr条长度为lll的游走链路使用 Stochastic Gradient Descent 优化损失函数 Node2vec在节点分类方面表现更好;而其他方法在链路预测上效果更好,如random walk效率更高;graph emb…

请注意,PDF正在传播恶意软件

据Bleeping Computer消息,安全研究人员发现了一种新型的恶意软件传播活动,攻击者通过使用PDF附件夹带恶意的Word文档,从而使用户感染恶意软件。 类似的恶意软件传播方式在以往可不多见。在大多数人的印象中,电子邮件是夹带加载了恶…

Redis-简单动态字符串

Redis中字符串应该是我们使用最多的一种数据类型了,但是有没有想过Redis是如何存储字符串的呢?Redis并没有用C语言传统的字符串(C语言中的字符串一般末尾采用空字符结尾,\0),而是采用它们自己实现的一种简单动态字符串(SDS)实现的…

若依ruoyi——手把手教你制作自己的管理系统【二、修改样式】

阿里图标一( ̄︶ ̄*)) 图片白嫖一((* ̄3 ̄)╭ ********* 专栏略长 爆肝万字 细节狂魔 请准备好一键三连 ********* 运行成功后: idea后台正常先挂着 我习惯用VScode操作 当然如果有两台机子 一个挂后台一个改前端就更好…

java中volatile与synchronized的区别,volatile为什么不能保证原子性

1.volatile与synchronized的区别 2.volatile为什么不能保证原子性 定义: 即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。 原子性是拒绝多线程操作的,不论是多核还是单核,具有原子性的量…