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

news2024/9/26 1:17:23

机器学习知识点复习下

  • 第八章、采样
    • 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.coloradmin.cn/o/1533661.html

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

相关文章

RustDesk 快速部署,搭建自己的“向日葵”

前言:为什么要搭建自己的远程控制 一直都是用向日葵来做远程控制和一些运维服务提供,but经常性卡出翔,时好时坏,所以萌生了搭建一套自己的远程控制的软件。到目前远程控制的服务器和设置已经搭建完毕,高级的自编译客户…

【Selenium】隐藏元素的定位和操作

一、selenium 中隐藏元素如何定位? 如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~能定位到并不意味着能操作元素(如click,clear,send_keys) 二、隐藏元素 如下图有个输入框…

如何在 Postman 中执行断言测试?

在当今的软件构建流程中,应用程序编程接口,简称 API,起到了不可或缺的作用,它们使得不同的软件应用能够互相沟通和交换数据。随着应用程序的不断演进变得越发复杂,保障API的可靠性及其稳定性显得格外关键。正因如此&am…

ARM64汇编08 - 块访存指令

armv8 里面似乎没有了 v7 中的块访存指令,就是一次性访问一块内存的指令。我们还是先介绍下 v7 中的块访存指令。 V7中的块访存指令​ 手册中介绍了很多种该指令的变种形式,其实了解了这个指令的英文含义就都很好理解。 LD - load,加载 M …

C++:部分题目

1. 封装、继承、多态 封装:将所需的数据成员,以及对数据的操作方法(成员函数),绑定在一起成为类(类型),定义该类型的对象时,成员被自动隐藏在对象内部。通过封装可以限定…

SOLIDWORKS Simulation子模型分析的使用方法

子模型介绍 SOLIDWORKS Simulation的子模型基于圣维南原理。对于一个比较复杂的模型,如果想升级局部的应力计算精度,就需要对整个模型的网格进行调整并重新进行计算,整个过程耗时较长而且不容易得到满意的结果。 SOLIDWORKS Simulation的子…

【深度学习】训练Stable Diffusion环境

仓库: https://github.com/bmaltais/kohya_ss.git 基础镜像: from kevinchina/deeplearning:sdxllighting_trt_nginx_002api docker run --net host --gpus device0 -e APIWORKS1 -it t1:t1 bash构建环境: sudo -i git clone https://git…

面试常问:为什么 Vite 速度比 Webpack 快

前言 最近作者在学习 webpack 相关的知识,之前一直对这个问题不是特别了解,甚至讲不出个123....,这个问题在面试中也是常见的,作者在学习的过程当中总结了以下几点,在这里分享给大家看一下,当然最重要的是…

【MySQL配置】Windows环境下载并安装MySQL数据库(内含图片,保姆级指引)

一、下载自身所需Mysql 官网链接:https://dev.mysql.com/downloads/installer/ 点击Download后,跳转如下页面。你可以点击注册一个谷歌账号(不是硬性要求),或者直接如图开始下载。 二、安装所下载的版本 1、双击下载的MySQL文件 2、选择…

深入理解与实践AB测试:从理论到实战案例解析

一、引言 在互联网产品优化和运营策略制定中,AB测试(也称为分组测试或随机化对照实验)是一种科学且严谨的方法。它通过将用户群体随机分配至不同的实验组(通常是A组和B组),对比不同版本的产品或策略对关键…

MySQl基础入门⑫

上一遍文章内容 查询时选择行 1.查询指定记录 假设students表包含字段name, major, 和 email,我们可以构造一个查询来找出所有专业为“计算机科学”且邮箱中包含"university.edu"的学生姓名和邮箱: SELECT name, email FROM students WHER…

种植新革命:科技赋能绿色未来

《种植新革命:科技赋能绿色未来》 一、种植技术的颠覆式创新 随着科技的飞速发展,种植技术也在经历一场颠覆式的创新。传统的种植方式,虽然历史悠久,经验丰富,但在面对现代化、大规模、高效的需求时,逐渐…

一分钟带你入门Selenium入门!【建议收藏】

Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识。 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件测试的基本原理,为我们进一步完成Selenium自动化测试做好准备。 软件…

解决GNURadio自定义Python OOT块-导入块时报错问题

文章目录 前言一、问题描述二、解决方法1、卸载已安装的 OOT 块2、重新编译及安装3、重新测试 前言 本文记录在 GNURadio 自定义Python OOT 块后导入块时报错 ModuleNotFoundError: No module named xxx。 一、问题描述 参考官方教程 Creating Python OOT with gr-modtool 创…

【ppt技巧】PPT转换为图片,方法有哪些?

想要将ppt文件转换为图片,其实很简单,一起来看一下如何操作吧! 方法一: 使用格式转换器,有些文件格式转换器,支持ppt转换为图片。 方法二: 不需要转换器,直接在ppt中进行操作即可…

linux上安装locust并进行压测demo

我的linux服务器上有两个python版本 使用python3 pip3 install locust 过程中有一些报错 第一个报错 gcc: error trying to exec cc1plus: execvp: No such file or directoryerror: command gcc failed with exit status 1第二个报错 src/greenlet/greenlet_refs.hpp:181:19…

数据库:基本操作与用户授权

一 基本操作 1 SQL分类 数据库:database 表:table,行:row 列:column 索引:index 视图:view 存储过程:procedure 存储函数:function 触发器:trigger 事…

文件操作:文本文件(写/读)

文件操作可以将数据永久化&#xff0c;C中对文件操作需要包含头文件 < fstream > 文件类型分为两种&#xff1a; 1. 文本文件&#xff1a;文件以文本的ASCII码形式存储在计算机中 2. 二进制文件&#xff1a;文件以文本的二进制形式存储在计算机中&#xff0c;…

理解计算属性等

计算属性 计算属性的作用是将写在computed内的写了对应的属性名&#xff0c;属性值都是函数&#xff0c;将这属性值的函数调用之后的返回值赋给属性名的变量。因此其实计算属性内的是值&#xff0c;不是方法&#xff0c;因此写插值等语句是只是写变量&#xff0c;而不是调用。且…

电气接点在线测温解决方案--ARTM电气接点在线测温装置

ARTM系列电气接点在线测温装置适用于高低压开关柜内电缆接头、断路器触头、刀闸开关、高压电缆中间头、干式变压低压大电流等设备的温度监测&#xff0c;防止在运行过程中因氧化、松动、灰尘等因素造成接点接触电阻过大而发热成为安全隐者、患&#xff0c;提高设备安全保障&…