吴恩达机器学习全课程笔记第四篇

目录

前言

P61-P68

激活函数

Softmax算法

P69-P73

Adam算法

更多类型的层

模型评估

P74-P79

偏差和方差

建立表现基准

学习曲线

偏差和方差与神经网络

前言

这是吴恩达机器学习笔记的第四篇,第三篇笔记请见:

吴恩达机器学习全课程笔记第三篇

完整的课程链接如下:

吴恩达机器学习教程(bilibili)

推荐网站:

scikit-learn中文社区

吴恩达机器学习资料(github)

P61-P68

激活函数

激活函数(Activation Function)是一种添加到人工神经网络中的函数,旨在帮助网络学习数据中的复杂模式。在神经元中,输入的input经过一系列加权求和后作用于另一个函数,这个函数就是这里的激活函数

sigmoid的替代品-ReLU

对于二进制分类问题,使用sigmoid激活函数或许是最好的选择,输出的刚好是标签为1的概率

在解决一个回归问题的时候,可以选择不同的激活函数,对于股票问题,可以选择普通的线性激活函数,对于其它的结果不为负的问题,可以选用ReLU

使用relu激活函数不仅本身计算快,而且可以使神经网络梯度下降得快一些

结合之前的神经网络例子,给出tensorflow代码:

在神经网络的隐藏层中需要使用非线性激活函数, 这是因为需要在网络中引入非线性来学习复杂的模式。 如果没有非线性激活函数,具有许多隐藏层的神经网络将成为一个巨大的线性回归模型,这对于从现实世界数据中学习复杂模式毫无用处。 

如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,即W = W3*[W2*(W1*x)]。
如果隐藏层不使用激活函数,仅在输出层使用sigmoid函数,那么效果仅仅和标准Logistic回归一样

Softmax算法

多分类问题:

softmax回归算法是logistics回归的推广

下面展示softmax的成本函数

softmax作为输出的激活函数可以使每个激活值都依赖于z的所有值,还是拿之前那个识别手写数字的例子来看

写成代码的形式:

数字精确度问题:

通过这个例子知道,虽然我们计算softmax成本函数的方法是正确的,还有一种更加准确的计算方法可以去减少误差

对于logistics回归

对于softmax

完整的tensorflow代码为:

多标签输出分类问题(注意和多分类问题的区别)

解决这种问题的一种方法是把它看作三个完全独立的机器学习问题,建立神经网络检测是否有车?是否有公交?等

还有一种方法是训练一个可以直接输出三个结果的神经网络

P69-P73

Adam算法

梯度下降是一种最小化成本函数的方法,下面介绍其它的方法

有一种方法叫做Adam algorithm可以自动调整学习率

算法的原理是:如果w和b能够朝着一个大致相同的方向移动,那么就提高学习率,反之,降低学习率,将其应用在MNIST的例子中,代码如下:在compile中增加一个优化器的参数即可,同时包含了初始的学习率

更多类型的层

到目前为止,我们使用的所有神经网络层都是密集层型的,下面给出一个不同类型的神经网络层的例子

密集层

卷积层

卷积神经网络

卷积神经网络(CNN)是一种深度学习模型,主要用于处理具有类似网格结构的数据,如图像。CNN通过使用卷积层自动学习空间层次的特征,无需手动特征提取。卷积层内的卷积操作帮助模型学习图像中的小部分,然后将这些局部特征组合成更高级的形式,以实现复杂任务的学习

核心组件介绍
卷积层:使用一组可学习的滤波器来扫描输入数据,每个滤波器负责提取一种特定的特征。
激活函数:引入非线性,使网络能够学习复杂的模式,常用的激活函数有ReLU。
池化层:降低特征图的空间维度,减少计算量和参数数量,防止过拟合。
全连接层:将前面卷积层和池化层提取到的特征图转换为一维特征向量,进行最终的分类或回归分析。

调试学习算法

模型评估

将数据集分为训练集和测试集

然后分别计算误差

对于分类问题(使用分类的成本函数)

模型选择

此时有一个问题,这里的测试集主要目的是为了挑选在测试集上表现最好的模型,也就是说最后得到模型之后,这个值一定是最小的,但是这个值是被挑选出来的,并不能真正反映模型的性能

还有一种优化的方法是把数据集分为三个部分,除了训练集和测试集,加上一个交叉验证集

此时:三部分数据集的各功能就如下所示:

训练集 (训练阶段)
用于构建我们的模型,我们的模型在训练集上进行学习,通常在这个阶段我们可以有多种方法进行训练
验证集 (模型挑选阶段)
用于挑选最优模型超参的样本集合:使用验证集可以得到反向传播什么时候结束以及超参怎么设置最合理。主要目的是为了挑选在验证集上表现最好的模型。
测试集 (验证阶段 评估泛化误差)
在我们挑选好验证集上表现最好的模型之后,用于评估该模型泛化能力的数据集。

P74-P79

偏差和方差

这部分我没看太懂网课,因为没字幕,但是有一个博客写得很明白,链接如下:

诊断偏差与方差

诊断偏差和方差

欠拟合为高偏差,过拟合为高方差

当 Jtrain(θ) ≈ Jcv(θ),但两者都非常高时,是模型欠拟合导是高偏差引起的,可以适当增加多项式次数解决
当 Jcv(θ) >> Jtrain(θ),是由于模型过拟合导致高方差引起,可以通过增加样本数据量解决

接下来看看正则化参数λ对偏差和方差的影响:

如图所示,当λ很大时,会发生高偏差,另一个极端,当λ很小时,会发生高方差

具体的Jtrain和Jcv与λ的定性关系,如下所示

建立表现基准

误差达到多大算大?达到多大算小?这时需要建立一个对比的标准去判断一个新算法的性能,可以根据下面三个方面去对比

当然也可以结合上述的基准去研究前面学习的偏差和方差

学习曲线

学习曲线是用来帮助理解算法如何工作的一种方法,如下所示,对于二次多项式,当增加训练集的数量时,Jtrain和Jcv的变化

对于高偏差的算法,就算增大数据集的量,也不能明显地改善算法的性能

而对于高方差的曲线,增大数据集数量,有利于改善算法,使学习的效果达到表现基准左右

在debug的时候,下面常见的六个操作对偏差和方差的影响关系如下

偏差和方差与神经网络

神经网络给了我们一种新的方法去解决高偏差和高方差的问题,如下所示:

更大的神经网络导致了更大的计算量,这也就促进了gpu等加速硬件的发展

只要合适的进行规则化,神经网络就不会出现方差过大的问题

规则化的神经网络tensorflow代码如下

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

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

相关文章

react使用@reduxjs/toolkit和react-redux实现store状态管理

一、概述 reduxjs/toolkit和react-redux是用于在React应用中管理全局状态的工具库 1、reduxjs/toolkit: reduxjs/toolkit是Redux官方推荐的工具库,是对 Redux 的二次封装,它提供了一些便捷的API和工具,帮助开发者更快速地编写R…

上海雷卯推出USB4接口的静电浪涌保护方案

一、 USB4技术性能特点 USB4是USB3.2 的后继版本,是最新的USB规范。USB4是通信协议,采用的硬件接口是USB Type-C 接口,USB Type-C 端口根据 USB3.x 和 USB4 协议传输数据。它的接口标准是由 USB Promoter Group 制定的,主要规范了USB4 接口的…

基于x86架构的OpenHarmony应用生态挑战赛等你来战!

为了更快速推进OpenHarmony在PC领域的进一步落地,加快x86架构下基于OpenHarmony的应用生态的繁荣,为北向应用开发者提供一个更加便捷的开发环境,推动OpenHarmony北向应用开发者的增加,助力OpenHarmony在PC领域实现新的突破&#x…

【c语言】探索结构体---解锁更多选择

前言 结构体属于自定义类型的一种,这增加了我们写代码的选择,跟着我的脚步一起来探索结构体吧~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 认识结构体 结构是⼀些值的集合,这些值…

iMazing3安全吗?好不好用?值不值得下载

一、安全性 iMazing在设计和开发过程中,始终把用户数据的安全性放在首位。它采用了多种先进的安全技术来确保用户数据在传输、备份和存储过程中的安全。 iMazing3Mac-最新绿色安装包下载如下: https://wm.makeding.com/iclk/?zoneid49816 iMazing3Wi…

深度学习 精选笔记(6)模型选择与正则化

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

vue3基础教程(1)——nodejs环境搭建

博主个人小程序已经上线:【中二少年工具箱】 小程序二维如下: 正文开始 专栏简介1. 环境菜单2.为什么下载node3. nodejs简介4. nodejs安装5. 编辑器选择 专栏简介 本系列文章由浅入深,从基础知识到实战开发,非常适合入门同学。…

sql面试题--业务培训(一)

题目 为管理业务培训信息,现需建立3个表: 表S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄、 表C(C#,CN)C#,CN分别代表课程编号,课程名称 表SC(S#,C#,G)S#,C#,G分别代表学号&#xf…

程序员副业大赏:一边赚钱一边提升技能!

在AI时代,程序员有许多副业选择,可以充分发挥他们的技术能力和创造力。以下是几个值得考虑的副业方向: 1. 深耕技术 1)开发AI项目 通过为特定领域提供AI驱动的定制解决方案,程序员可以满足用户的需求并获得回报。 例…

刷题第2天(中等题):LeetCode59--螺旋矩阵--考察模拟能力(边界条件处理)

LeetCode59: 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n 3 输出:[[1,2,3],[8,9,4],[7,6,5]]示例 2: 输入&#xff1a…

leetcode — 动态规划 — 打家劫舍、完全平方数

1 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房…

HTML5+CSS3小实例:环绕小球弹性loading动画

实例:环绕小球弹性loading动画 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge&quo…

每日汇评:受疲软的美国PCE通胀数据影响,黄金可能重拾2050美元

周四&#xff0c;黄金价格连续第二天上涨&#xff0c;逼近2050美元&#xff1b; 美元因风险重置和对美国核心个人消费支出通胀数据疲软的预期而下滑&#xff1b; 4H图上的技术面仍然有利于黄金买家&#xff1b; 周四早间&#xff0c;金价连续第二天处于上涨区间&#xff0c;向2…

言语理解与表达-郭熙-02

1、上节回顾 1.1 转折关系 1.2 因果关系 1.3 主题词 2、本课目录 3、必要条件关系 3.1 题目 4、对策类 4.1 题目 5、反面论证 提对策 题目 6、必要关系总结 7、程度词 题目 易错&#xff1a; 8、并列关系 题目 易错&#xff1a;

java图形用户界面设计基础,腾讯面试java

理论篇 实践篇 理论模块 理解集群控制器 集群网络详解 集群伸缩原理 认证与调度 集群服务的三个要点和一种实现 镜像拉取 实践 读懂这一篇&#xff0c;集群节点不下线 节点下线姊妹篇 我们为什么会删除不了集群的命名空间? ![震惊,阿里P8都在用的深入浅出kubernetes&#x…

前端,测试,后端,该如何选择?

前端开发&#xff0c;测试&#xff0c;后端&#xff0c;该如何选择&#xff1f;说实话&#xff0c;只要对互联网行业有了解的&#xff0c;都会推荐你学测试。 首先必须声明&#xff0c;能在前端开发、测试、后端&#xff08;主要是Java&#xff09;这三个岗位中进行选择&#…

【深度优先搜索】【图论】【推荐】332. 重新安排行程

作者推荐 动态规划的时间复杂度优化 本文涉及知识点 深度优先搜索 图论 LeetCode332. 重新安排行程 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&a…

correlated double sampling (CDS)相关双采样

目录 原理内部电路和时序使用时注意事项1.内部电路非匹配2.时序要求精确 学习资料 原理 correlated double sampling (CDS)相关双采样&#xff0c;主要用在图像传感器image sensor CMOS和CCD中。 处理流程如下&#xff1a; 采集复位信号采集真正的信号真正的信号-复位信号实…

AI时代的产品文案秘籍:如何用AI提升效率

人工智能写作工具&#xff1a;解放双手&#xff0c;创作不停歇 在当前人工智能技术飞速发展的背景下&#xff0c;越来越多的个体已经开始利用这一AI写作工具&#xff0c;以显著提高自己的工作效率。这不仅标志着人工智能服务于人类的宏伟时代的到来&#xff0c;更是人人可用的创…

深度学习--神经网络基础

神经网络 人工神经网络&#xff08; Artificial Neural Network &#xff0c; 简写为 ANN &#xff09;也简称为神经网络&#xff08; NN &#xff09;&#xff0c;是一种模仿生物神经网络结构和 功能的计算模型 。人脑可以看做是一个生物神经网络&#xff0c;由众多的 神经元…