机器学习知识点复习 下(保研、复试、面试)百面机器学习笔记

机器学习知识点复习下

  • 第八章、采样
    • 1.采样的作用
  • 第九章、前向神经网络
    • 1.多层感知机与布尔函数
    • 2.神经网络中的激活函数
    • 3.多层感知机的反向传播算法
    • 4.神经网络训练技巧
    • 5.深度卷积神经网络
    • 6.深度残差网络
  • 第十章、循环神经网络
    • 1.循环神经网络和卷积神经网络
    • 2.循环神经网络的梯度消失问题
    • 3.循环神经网络的激活函数
    • 4.长短期记忆网络LSTM
    • 5.Seq2Seq模型
    • 6.注意力机制

第八章、采样

1.采样的作用

• 采样可以模拟随机现象,增加对随机事件的直观认识。

• 采样可以近似总体分布,降低信息维度,简化问题。

• 采样可以利用重采样技术,挖掘数据信息,调整样本分布,适应模型训练和学习。

• 采样可以用于随机模拟,近似复杂模型的求解或推理。

• 采样可以用于划分训练集和测试集,评估模型的性能。

第九章、前向神经网络

深度前馈网络是一类网络模型的统称,我们常见的多层感知机、自编码器、限制玻尔兹曼机,以及卷积神经网络等,都是其中的成员。

1.多层感知机与布尔函数

多层感知机(Multi-Layer Perceptron, MLP) 是一种前馈神经网络,它由一个输入层,一个或多个隐藏层,和一个输出层组成,每一层都由若干个神经元构成,每个神经元都有一个激活函数,例如Sigmoid,ReLU等。多层感知机可以用于实现复杂的非线性函数逼近,例如分类,回归,聚类等。

布尔函数(Boolean Function) 是一种从布尔域到布尔域的函数,它的输入和输出都是布尔值,即真(True)或假(False)。布尔函数可以用于表示逻辑运算,例如与(AND),或(OR),非(NOT),异或(XOR)等。布尔函数可以用多层感知机来实现,例如,一个单层感知机可以实现与,或,非运算,一个双层感知机可以实现异或运算。

2.神经网络中的激活函数

  • Sigmoid
    在这里插入图片描述

  • Tanh
    在这里插入图片描述

  • ReLU
    在这里插入图片描述

问题1:为什么Sigmoid和Tanh激活函数会导致梯度消失的现象?
Sigmoid和Tanh导数在x很大或很小时趋于0,造成梯度消失;
在这里插入图片描述

问题2:ReLU 系列的激活函数相对于Sigmoid 和Tanh 激活函数的优点是什么?它们有什么局限性以及如何改进?

  • 优点:
    (1) Sigmoid和Tanh激活函数均需要计算指数,复杂度高,而 ReLU只需要一个闻值即可得到激活值。
    (2) ReLU的非饱和性可以有效地解决梯度消失的问题。
    (3) ReLU的单侧抑制提供了网络的稀疏表达能力。
  • 局限性:
    ReLU在训练中,学习率过大,神经元会死亡。
  • 改进:
    设计LReLU:保留了部分负梯度信息,能够不完全丢失
    设计PReLU:防止LReLU的a参数选择不易,一定程度上起正则化的作用。
    在这里插入图片描述

3.多层感知机的反向传播算法

用通俗易懂的话来解释前向传播和反向传播的区别。

首先想象一下,你是一家快餐店的老板,有一种新式汉堡想推出市场。

前向传播(Forward Propagation) 就相当于你让员工按照配方做汉堡,然后卖给顾客,看看顾客的反应如何。这个过程是:

  1. 员工按配方制作汉堡(输入数据传递到网络模型)
  2. 将做好的汉堡卖给顾客(网络模型输出结果)
  3. 观察顾客的反馈(计算输出与期望的差距)

如果顾客不满意,反应太差,那就需要反向传播(Back Propagation) 了。反向传播就相当于:

  1. 你根据顾客的反馈,分析制作过程中可能出现的问题(计算误差对每个参数的敏感度)
  2. 修改汉堡的配方(调整模型参数)
  3. 再次做汉堡试售给顾客(进行下一轮前向传播)

通过不断地前向传播获取反馈,再反向传播优化参数,你就能逐步改善汉堡的配方,使之获得顾客的青睐。

这就是机器学习模型学习的核心过程。前向传播让模型尝试当前的参数配置,反向传播根据结果的偏差对参数进行调整,一轮一轮地学习,直到模型性能令人满意为止。
在这里插入图片描述
问题:平方误差损失函数和交叉熵损失函数分别适合什么场景?
一般来说,平方损失函数更适合输出为连续,并且最后一层不含Sigmoid或Softmax激活函数的神经网络;
交叉熵损失则更适合二分类或多分类的场景。

4.神经网络训练技巧

解决过拟合的方法:
解决“过拟合”的方法有很多,包括数据集增强(Data Augmentation)、参数范数惩罚/正则化(Regularization)、模型集成(Model Ensemble) 等;其中Dropout是模型集成方法中最高效与常用的技巧。
同时,深度神经网络的训练中涉及诸多手调参数,如学习率、权重衰减系数、Dropout比例等,这些参数的选择会显著影响模型最终的训练效果。批量归一化(Batch Normalization,BN)方法有效规避了这些复杂参数对网络训练产生的影响,在加速训练收敛的同时也提升了网络的泛化能力。

  1. 问题:为什么Dropout可以抑制过拟合?它的工作原理和实现?
    Dropout是指在深度网络的训练中,以一定的概率随机地 “临时丢弃”一部分神经元节点。Dropout作用于每份小批量训练数据,由于其随机丢弃部分神经元的机制,相当于每次迭代都在训练不同结构的神经网络。

  2. 问题:批量归一化的基本动机与原理是什么?在卷积神经网络中如何使用?
    归一化原因: 神经网络训练过程的本质是学习数据分布,如果训练数据与测试数据的分布不同将大大降低网络的泛化能力,因此我们需要在训练开始前对所有输入数据进行归一化处理。
    批量归一化可以看作在每一层输入和上一层输出之间加入了一个新的计算
    层,对数据的分布进行额外的约束,从而增强模型的泛化能力。

5.深度卷积神经网络

卷积神经网络(Convolutional Neural Networks,CNN)也是一种前馈神经网络,其特点是每层的神经元节点只响应前一层局部区域范围内的神经元(全连接网络中每个神经元节点响应前一层的全部节点)。一个深度卷积神经网络模型通常由若干卷积层叠加若干全连接层组成,中间也包含各种非线性操作以及池化操作。
在这里插入图片描述

  1. 问题1 卷积操作的本质特性包括稀疏交互和参数共享,具体解释这两种特性及其作用。
    稀疏交互: 而在卷积神经网络中,卷积核尺度远小于输入的维度,这样每个输出神经元仅与前一层特定局部区域内的神经元存在连接权重(即产生交互),我们称这种特性为稀疏交互,如图9.16所示。
    稀疏交互的物理意义是,通常图像、文本、语音等现实世界中的数据都具有局部的特征结构,我们可以先学习局部的特征,再将局部的特征组合起来形成更复杂和抽象的特征。
    在这里插入图片描述参数共享是指在同一个模型的不同模块中使用相同的参数,它是卷积运算的固有属性。全连接网络中,计算每层的输出时,权值参数矩阵中的每个元素只作用于某个输入元素一次;而在卷积神经网络中,卷积核中的每一个元素将作用于每一次局部输入的特定位置上。只需要学习一组参数集合,而不需要针对每个位置的每个参数都进行优化,降低了模型的存储需求
    参数共享的物理意义是使得卷积层具有平移等变性。也就是说,在猫的图片上先进行卷积,再向右平移 I 像素的输出,与先将图片向右平移 l 像素再进行卷积操作的输出结果是相等的。

  2. 问题2 常用的池化操作有哪些?池化的作用是什么?
    常用的池化操作主要针对非重叠区域,包括均值池化(mean pooling)、最大池化(max pooling)等。此外,特殊的池化方式还包括对相邻重叠区域的池化以及空间金字塔池化。相邻重叠区域的池化,顾名思义,是采用比窗口宽度更小的步长,使得窗口在每次滑动时存在重叠的区域。
    在这里插入图片描述
    作用: 池化操作除了能显著降低参数量外,还能够保持对平移、伸缩、旋转操作的不变性。平移不变性是指输出结果对输入的小量平移基本保持不变。
    在这里插入图片描述

  3. 问题3 卷积神经网络如何用于文本分类任务?
    卷积神经网络的核心思想是捕捉局部特征,起初在图像领域取得了巨大的成功。
    卷积神经网络的优势在于能够自动地对N-gram特征进行组合和筛选,获得不同抽象层次的语义信息。由于在每次卷积中采用了共享权重的机制,因此它的训练速度相对较快,在实际的文本分类任务中取得了非常不错的效果。
    在这里插入图片描述

6.深度残差网络

问题 ResNet的提出背景和核心理论是什么?
ResNet的提出背景是解决或缓解深层的神经网络训练中的梯度消失问题。ResNet可以有效改善深层的神经网络学习问题,使得训练更深的网络成为可能。
如果某一层的输出已经较好的拟合了期望结果,那么多加入一层不会使得模型变得更差,因为该层的输出将直接被短接到两层之后,相当于直接学习了一个恒等映射,而跳过的两层只需要拟合上层输出和目标之间的残差即可。
在这里插入图片描述

第十章、循环神经网络

1.循环神经网络和卷积神经网络

循环神经网络(Recurrent Neural Network,RNN) 是用来建模序列化数据的一种主流深度学习模型。

问题 处理文本数据时,循环神经网络与前馈神经网络相比有什么特点?

  1. 一般的前馈神经网络,如卷积神经网络,通常接受一个定长的向量作为输入。但是两个单词之间的长距离依赖关系还是很难被学习到。
  2. 循环神经网络却能很好地处理文本数据变长并且有序的输入序列。它模拟了人阅读一篇文章的顺序,从前到后阅读文章中的每一个单词,将前面阅读到的有用信息编码到状态变量中去,从而拥有了一定的记忆能力,可以更好地理解之后的文本。
    在这里插入图片描述

2.循环神经网络的梯度消失问题

问题 循环神经网络为什么会出现梯度消失或梯度爆炸?有哪些改进方案?
实践发现,使用BPTT算法学习的循环神经网络并不能成功捕捉到长距离的依赖关系,这一现象主要源于深度神经网络中的梯度消失。梯度消失意味着无法通过加深网络层次来改善神经网络的预测效果,因为无论如何加深网络,只有靠近输出的若干层才真正起到学习的作用。这使得循环神经网络模型很难学习到输入序列中的长距离依赖关系。
改进方法:
梯度爆炸:通过梯度裁剪来缓解;
梯度消失:长短时记忆模型[23]及其变种门控循环单元(Gated recurrent unit,GRU)等模型可以加入门控机制

3.循环神经网络的激活函数

问题 在循环神经网络中能否使用ReLU作为激活函数?
答案是肯定的,但是需要对矩阵的初值做一定限制,否则十分容易引发数值问题。当采用ReLU作为循环神经网络中隐含层的激活函数时,只有当W的取值在单位矩阵附近时才能取得比较好的效果,因此需要将W初始化为单位矩阵。
初始化W为单位矩阵并使用ReLU激活函数在一些应用中取得了与
长短期记忆模型相似的结果,并且学习速度比长短期记忆模型更快,是一个值得尝试的小技巧。

4.长短期记忆网络LSTM

长短期记忆网络(Long Short Term Memory,LSTM)是循环神经网络的最知名和成功的扩展。LSTM可以对有价值的信息进行长期记忆,从而减小循环神经网络的学习难度。

  1. 问题1 LSTM是如何实现长短期记忆功能的?
    与传统的循环神经网络相比,LSTM加入了输入门 i t i_{t} it遗忘门 f t f_{t} ft以及输出门 o t o_{t} ot三个门和一个内部记忆单元 c t c_{t} ct
    输入门控制当前计算的新状态以多大程度更新到记忆单元;
    遗忘门控制前一步记忆单元中的信息有多大程度被遗忘掉;
    输出门控制当前的输出有多大程度上取决于当前的记忆单元。
    在这里插入图片描述
    在一个训练好的网络中,
    (1)当输入的序列中没有重要信息时,LSTM的遗忘门的值接近于1,输入门的值接近于0,此时过去的记忆会被保存,从而实现了长期记忆功能;
    (2)当输入的序列中出现了重要的信息时,LSTM应当把其存入记忆中,此时其输入门的值会接近于1;
    (3)当输入的序列中出现了重要信息,且该信息意味着之前的记忆不再重要时,输入门的值接近1,而遗忘门的值接近于0,这样旧的记忆被遗忘,新的重要信息被记忆。
    经过这样的设计,整个网络更容易学习到序列之间的长期依赖。
  2. 问题2 LSTM里各模块分别使用什么激活函数,可以使用别的激活函数吗?
    在LSTM中,遗忘门、输入门和输出门使用Sigmoid函数作为激活函数;在生成候选记忆时,使用双曲正切函数Tanh作为激活函数。
    注意:这两个激活函数都是饱和的,也就是说在输入达到一定值的情况下,输出就不会发生明显变化了。
    原因:Sigmoid函数的输出在0~1之间,符合门控的物理定义。且当输入较大或较小时,其输出会非常接近1或0,从而保证该门开或关。②在生成候选记忆时,使用Tanh函数,是因为其输出在−1~1之间,这与大多数场景下特征分布是0中心的吻合。

5.Seq2Seq模型

Seq2Seq,全称Sequence to Sequence模型,暂且称之为序列到序列模型。意思是将一个序列信号,通过编码和解码生成一个新的序列信号。

  1. 问题1 什么是Seq2Seq模型?Seq2Seq模型有哪些优点?
    Seq2Seq模型的核心思想是,通过深度神经网络将一个作为输入的序列映射为一个作为输出的序列,这一过程由编码输入解码输出两个环节构成。(简单理解:而对于大多数普通人,很难记忆长距离、长时间的信息。在考前只好临时抱佛脚,编码很短期的序列信号,考试时也是听天由命,能答多少写多少,解码出很短时效的信息。)
    在这里插入图片描述
  2. 问题2 Seq2Seq模型在解码时,有哪些常用的办法?
    Seq2Seq模型最核心的部分是其解码部分
    (1)Seq2Seq模型最基础的解码方法是贪心法,即选取一种度量标准后,每次都在当前状态下选择最佳的一个结果,直到结束。
    (2)集束搜索是常见的改进算法,它是一种启发式算法。先选择b个当前最佳,然后拓展许多个,然后选择前b个,循环,最后选择最佳一个。
    在这里插入图片描述
    (3)解码时使用堆叠的RNN、增加Dropout机制、与编码器之间建立残差连接等,均是常见的改进措施。
    (4)一个重要的改进是注意力机制

6.注意力机制

问题 Seq2Seq模型引入注意力机制是为了解决什么问题?为什么选用了双向的循环神经网络模型?
(1)①随着输入序列的增长,模型的性能发生了显著下降。这是因为编码时输入序列的全部信息压缩到了一个向量表示中。随着序列增长,句子越前面的词的信息丢失就越严重
②Seq2Seq模型的输出序列中,常常会损失部分输入序列的信息,这是因为在解码时,当前词及对应的源语言词的上下文信息和位置信息在编解码过程中丢失了。
Seq2Seq模型中引入注意力机制就是为了解决上述的问题。

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

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

相关文章

【前端Vue】Vue3+Pinia小兔鲜电商项目第2篇:什么是pinia,1. 创建空Vue项目【附代码文档】

全套笔记资料代码移步: 前往gitee仓库查看 感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~ 全套教程部分目录: 部分文件图片: 什么是pinia Pinia 是 Vue 的专属状态管理库,可以实现跨组件或页面共享状态,是…

数字电源浅析

电力电子技术是关于能量转换、调节、控制和管理等方面的学科,而数字电源则是电力电子技术的一种应用,是利用数字电路技术实现电源控制和管理的新型电源。 一、什么是数字电源 数字电源是一种数字控制的电源设备,可以通过数字控制芯片(DSP、MCU等)实现输出电压、电流、功…

TypeScript在学习(0)

1.什么是TypeScript? 答:TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。 个人浅见,我一直把ts简单理解成,其实就是javascript上多了…

插入排序+希尔排序

目录 插入排序&#xff1a; 希尔排序&#xff1a; 插入排序&#xff1a; 注意这里不要将插入排序和冒泡排序弄混&#xff1a; 插入排序是将数据不断放入前一个有序数列&#xff1a; // 插入排序 void InsertSort(int* a, int n) {for (int j 1; j < n; j){for (int i j;…

【嵌入式硬件】步进电机

1.步进电机简介 1.1步进电机基本原理 步进电机的英文是stepping motor。step的中文意思是行走、迈步。所以仅从字面上我们就可以得知,步进电机就是一步一步移动的电动机。说的官方一点儿,步进电机是一种将电脉冲信号转换成相应角位移或者线位移的电动机(直线电机)。下图为…

什么是物联网远程模块

在数字化和信息化的浪潮下&#xff0c;物联网技术正在以惊人的速度改变着我们的生活和生产方式。物联网远程模块&#xff0c;作为物联网技术的核心组件之一&#xff0c;正引领着这场变革。HiWoo Box就是这样一款出色的物联网远程模块&#xff0c;它通过支持远程透传、远程锁机、…

Flink GateWay、HiveServer2 和 hive on spark

Flink SQL Gateway简介 从官网的资料可以知道Flink SQL Gateway是一个服务&#xff0c;这个服务支持多个客户端并发的从远程提交任务。Flink SQL Gateway使任务的提交、元数据的查询、在线数据分析变得更简单。 Flink SQL Gateway的架构如下图&#xff0c;它由插件化的Endpoi…

AI原生安全 亚信安全首个“人工智能安全实用手册”开放阅览

不断涌现的AI技术新应用和大模型技术革新&#xff0c;让我们感叹从没有像今天这样&#xff0c;离人工智能的未来如此之近。 追逐AI原生&#xff1f;企业组织基于并利用大模型技术探索和开发AI应用的无限可能&#xff0c;迎接生产与业务模式的全面的革新。 我们更应关心AI安全原…

工控机丨丨工业电脑丨工控计算机丨工业一体机丨什么是工业一体机

工业一体机俗称工控机&#xff0c;是一种专门为工业应用而设计的计算机设备&#xff0c;主要应用于工厂、车间、仓库等工业场所。此外工控机还叫做工控计算机&#xff0c;通常采用工业级主板、工业级CPU、工业级硬盘、工业级内存和工业级电源等硬件组件&#xff0c;以确保其在高…

【Canvas与艺术】绘制一款色彩斑斓的调色盘状时钟表盘

【效果】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>调色盘时钟表</title><style type"text/css">…

Android Audio相关

AudioManager AudioService的Bp端&#xff0c;调用AudioManager>AudioService&#xff08;代码实现&#xff09; AudioService 继承自IAudioService.Stub&#xff0c;为Bn端 AudioSystem AudioService功能实现都依赖于AudioSystem&#xff0c;AudioService通过AudioSys…

大数据推给需要的人

1.编写一个程序&#xff0c;把变量n的初始值设置为1678&#xff0c;然后利用除法运算和取余运算把变量的每位数字都提出来并打印&#xff0c;输出结果为&#xff1a;n1678n的每位数字是1,6,7,8。 public static void main(String[]args) {int n1678;int a,b,c,d;an%10;bn/10%1…

vscode中转(跳板)连接目标主机

vscode中转&#xff08;跳板&#xff09;连接目标主机 文章目录 引言正文跳转配置本地密钥 总结 引言 简单讲解如何通过vscode经过跳板机到达目标机的方式&#xff0c;本文基于linux平台&#xff0c;理论上vscode是跨平台的1。 如下本机通过两层跳板到目标主机如何通过vscode…

TortoiseGit的安装和配置

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

【RPG Maker MV 仿新仙剑 战斗场景UI (七)】

RPG Maker MV 仿新仙剑 战斗场景UI 七 法术物品窗口代码仿新仙剑效果 法术物品窗口 继续水点内容 现在发出及确认物品窗口显示及操作。 代码 function Window_BattleItem() {this.initialize.apply(this, arguments); }Window_BattleItem.prototype Object.create(Pal_Wind…

hololens 2 投屏 报错

使用Microsoft HoloLens投屏时&#xff0c;ip地址填对了&#xff0c;但是仍然报错&#xff0c;说hololens 2没有打开&#xff0c; 首先检查 开发人员选项 都打开&#xff0c;设备门户也打开 然后检查系统–体验共享&#xff0c;把共享都打开就可以了

第十节HarmonyOS 常用容器组件2-Counter

1、描述 计数器组件&#xff0c;提供相应的增加或者减少的计数操作。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 2、子组件 可以包含子组件。 3、接口 Counter() 从API version 9开始…

【python】

1.编译型和解释型 编译器软件&#xff1a;将书写的代码转换成一个二进制文件&#xff0c;优点是执行效率高&#xff0c;缺点是代码存在编码错误的时候&#xff0c;就不能产生中间文件。如&#xff1a;c. 解释型软件&#xff1a;在代码执行的时候&#xff0c;将代码转换…

1236 - 二分查找

代码 #include<bits/stdc.h> using namespace std; int a[1100000]; int main() {int n,x,l,r,p,mid,i;cin>>n;for(i1;i<n;i)cin>>a[i];cin>>x;l1;rn;p-1;while(l<r){mid(rl)/2;if(a[mid]x){pmid;break;}else if(x<a[mid]) rmid-1;else if(x…

数据结构——循环队列的实现

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…