人工智能福利站,初识人工智能,机器学习,第四课

在这里插入图片描述

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。
🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。
🎉欢迎 👍点赞✍评论⭐收藏

🔎 人工智能领域知识 🔎

链接专栏
人工智能专业知识学习一机器学习专栏
人工智能专业知识学习二机器学习专栏
人工智能专业知识学习三机器学习专栏
人工智能专业知识学习四机器学习专栏

文章目录

  • 🏆 初识人工智能(机器学习)
    • 🔎 一、 机器学习(4)
      • 🍁 31. 什么是聚类算法中的层次聚类?
      • 🍁 32. 什么是神经网络的权重初始化策略?
      • 🍁 33. 什么是优化器(Optimizer)?
      • 🍁 34. 什么是深度学习中的正则化方法?
      • 🍁 35. 什么是数据增强?
      • 🍁 36. 什么是迁移学习?
      • 🍁 37. 什么是循环神经网络(RNN)?
      • 🍁 38. 什么是自动编码器(Autoencoder)?
      • 🍁 39. 解释一下批归一化(Batch Normalization)。
      • 🍁 40. 解释一下卷积操作。

🏆 初识人工智能(机器学习)


🔎 一、 机器学习(4)

在这里插入图片描述


🍁 31. 什么是聚类算法中的层次聚类?

层次聚类是一种无监督聚类算法,通过在数据点之间构建层次化的聚类结构来进行数据分类和群组化。 层次聚类不需要预先指定聚类数量,而是根据数据之间的相似性来自动划分为不同的簇。

层次聚类算法有两种主要的方法:凝聚聚类(Agglomerative Clustering)和分裂聚类(Divisive Clustering)。

  1. 凝聚聚类(自底向上):凝聚聚类从每个数据点作为一个簇开始,然后迭代地将最相似的簇合并成一个新的簇,直到最终形成一个包含所有数据点的簇。该算法通过计算簇与簇之间的相似性(如距离或相似性度量)来决定合并的顺序和方式。

  2. 分裂聚类(自顶向下):分裂聚类从所有数据点作为一个簇开始,然后迭代地将某个簇分裂成更小的簇,直到每个簇仅包含一个数据点。该算法通过计算簇内部数据点的异质性来确定分裂的位置和方式。

层次聚类的优点是可以提供多个层次的聚类结果,以不同的细粒度观察数据的结构。它还可以帮助识别任意大小和形状的簇,并且不需要预先指定聚类数量。然而,层次聚类的计算复杂度相对较高,尤其是对于大型数据集。

在层次聚类中,聚类结果可以用树状结构(称为聚类树或树状图)表示,其中每个节点表示一个簇,节点之间的连接表示簇的合并或分裂过程。根据应用的需求,可以通过剪枝树状图来选择合适的聚类结果,或者根据特定的相似性水平来划分簇。


🍁 32. 什么是神经网络的权重初始化策略?

神经网络的权重初始化策略是指在神经网络模型中初始化权重参数的方法和策略。初始化权重是神经网络模型训练的重要步骤之一,它可以对模型的收敛速度、性能和稳定性产生影响。

以下是一些常用的权重初始化策略:

  1. 常数初始化(Constant Initialization):将所有权重初始化为相同的常数值。例如,可以将所有权重初始化为0或者一个小的随机值。这种初始化策略一般适用于浅层网络或者某些特定的网络层(如全连接层)。

  2. 随机初始化(Random Initialization):将权重初始化为随机值。常见的做法是从均匀分布或者高斯分布中随机采样来初始化权重。这种初始化策略的好处是能够打破对称性,使得模型能够更好地学习。

  3. Xavier初始化(Xavier Initialization):也称为Glorot初始化。这种初始化策略是根据前一层和后一层的单元数来设置权重的初始范围,以保持信号传播的稳定性。通过 Xavier 初始化,可以有效地避免梯度消失或梯度爆炸问题。

  4. He初始化(He Initialization):也称为He-et-al初始化。这种初始化策略是根据前一层的单元数来设置权重的初始范围。与 Xavier 初始化类似,He 初始化主要用于激活函数为 ReLU(Rectified Linear Unit)或其变种的神经网络层。

  5. 预训练初始化(Pretrained Initialization):如果已经有一个在类似任务上训练得到的模型,可以使用其权重作为初始值。这种初始化策略称为预训练初始化,适用于迁移学习或继续训练的场景。

选择合适的权重初始化策略取决于具体的神经网络结构、问题类型和激活函数等因素。合理的权重初始化可以帮助加速模型的收敛,避免梯度问题,提高模型的性能和泛化能力。


🍁 33. 什么是优化器(Optimizer)?

优化器(Optimizer)是深度学习中一种用于调整神经网络模型权重和参数的算法。在神经网络的训练过程中,目标是通过最小化损失函数来优化模型,优化器的作用就是根据损失函数的梯度信息来更新模型的参数,以便逐步优化模型的性能。

优化器通过使用不同的更新规则和算法来更新网络中的权重和偏差,以便实现最小化损失的目标。常见的优化算法有:

  1. 随机梯度下降(Stochastic Gradient Descent,SGD):SGD 是最基本的优化器算法,每次迭代时,它通过计算损失函数对参数的梯度,并进行参数的小幅度更新。

  2. 动量优化器(Momentum Optimizer):动量优化器在 SGD 的基础上引入了动量概念,利用一个动量项来累积之前迭代步骤的梯度,并加速收敛速度。它可以帮助跳出局部最小值,并且在参数更新过程中减少震荡。

  3. 自适应学习率优化器(Adaptive Learning Rate Optimizer):自适应学习率优化器可以根据参数的梯度自动调整学习率的大小。常见的自适应学习率优化器有 AdaGrad、RMSprop 和 Adam 等。

  4. 学习率衰减(Learning Rate Decay):学习率衰减是指在训练过程中逐渐降低学习率的方法。这可以帮助优化器在训练后期更加精细地调整参数,以便更好地收敛。

除了以上列举的算法之外,还有其他更高级的优化器,如 AdaDelta、Nesterov Accelerated Gradient(NAG)等。每种优化器都有其独特的优缺点,选择适合的优化器取决于具体的任务和模型性质。


🍁 34. 什么是深度学习中的正则化方法?

在深度学习中,正则化方法是一种用于减少模型过拟合(Overfitting)的技术。正则化通过对模型的损失函数添加额外的惩罚项,来限制模型参数的增长和复杂度,从而促使模型学习到更一般化的特征和规律。

下面介绍几种常见的深度学习中的正则化方法:

  1. L1 正则化(L1 Regularization):L1 正则化通过在损失函数中增加所有参数的绝对值之和乘以一个正则化参数 λ,来惩罚大部分参数为零的情况。这使得模型趋向于产生稀疏的权重,即将某些特征的权重设置为0,从而实现特征选择和降维的效果。

  2. L2 正则化(L2 Regularization):L2 正则化通过在损失函数中增加所有权重的平方和乘以一个正则化参数 λ,来惩罚权重的大小。这使得模型的权重更加平滑,并降低特征权重之间的差异,从而防止过拟合。

  3. Dropout:Dropout 是一种正则化技术,通过在每次训练迭代中以一定的概率(通常是0.5)随机地丢弃一部分神经元的输出,使得模型不会过度依赖某些特定的神经元,从而减少神经元之间的耦合和过拟合。

  4. Batch Normalization:批标准化是通过对神经网络的每一层在训练过程中进行归一化处理,使得输入数据在每层都具有相似的均值和方差。这有助于加速网络的训练,减少内部协变量偏移,并且可以作为一种正则化的效果。

正则化方法能够帮助模型在训练过程中更好地约束参数,降低过拟合风险,提高模型的泛化能力。在选择正则化方法时,需要根据具体的问题和数据集特点进行合理的调参和选择。


🍁 35. 什么是数据增强?

数据增强(Data Augmentation)是一种在深度学习中常用的预处理技术,通过对训练数据进行一系列随机变换和扩充,来增加样本量并改变样本的外观、姿态或其他方面的特征。这样做的目的是增加数据的多样性,提高模型的鲁棒性和泛化能力。

数据增强的常见操作包括:

  1. 随机翻转(Random Flipping):将图像水平或垂直随机翻转,使得模型对于物体在图像中的位置变化更具鲁棒性。

  2. 随机旋转(Random Rotation):对图像进行随机旋转,可以模拟物体角度的变化,增加模型对于不同角度目标的识别能力。

  3. 随机缩放和裁剪(Random Scaling and Cropping):对图像进行随机的缩放和裁剪操作,改变图像的尺寸和视角,从而增加模型对于不同大小和视野的目标的感知能力。

  4. 随机亮度、对比度和色彩变换(Random Brightness, Contrast, and Color Transformations):对图像进行随机的调整,如改变亮度、对比度和色彩等,增加模型对于不同光照和环境条件的鲁棒性。

  5. 加入噪声(Adding Noise):向图像中添加随机的噪声,如高斯噪声或椒盐噪声,能够模拟真实世界的不完美情况,使得模型更加鲁棒。

通过数据增强,可以有效增加训练数据的多样性,减轻模型的过拟合现象,提高深度学习模型的泛化能力。同时,数据增强也降低了对于大量标注数据的依赖,减少了数据采集和标注的成本。然而,需要注意的是,对于每个应用场景和数据集,适当的数据增强操作需要经过实验验证,以保证扩充后的数据仍然保持正确的标注和可解释性。


🍁 36. 什么是迁移学习?

迁移学习(Transfer Learning)是一种机器学习方法,通过将已经在一个任务上学习到的知识和模型参数转移到另一个相关的任务上,从而加快新任务的学习过程,提高模型性能。

传统的机器学习方法通常在每个任务上都需要从头开始学习和构建模型,这样会消耗大量的计算资源和标注数据。而迁移学习则可以通过在源任务上学习到的知识和模型参数,提供给目标任务来减少学习成本。迁移学习适用于源任务和目标任务之间存在一定相关性的情况下。

迁移学习的具体应用方法有以下几种:

  1. 特征提取(Feature Extraction):将在源任务上预训练好的深度神经网络模型的前几层(也称为特征提取层)冻结,并保留其已学到的权重。然后将目标任务的数据传入模型,仅训练后续层(全连接层等),以学习适应目标任务的特征表示。

  2. 神经网络微调(Fine-tuning):将在源任务上预训练好的深度网络模型的权重作为初始权重,然后在目标任务上继续使用反向传播算法微调模型参数。此方法适用于目标任务与源任务差异较大的情况,可以更充分地调整网络权重以适应目标任务的特征。

  3. 多任务学习(Multi-task Learning):使用共享的底层网络层来同时学习多个相关的任务。通过训练网络在多个任务上共享特征提取层,可以提高模型的泛化能力和学习效率。

通过迁移学习,可以克服数据稀缺、计算资源有限、标注成本高昂等问题,更好地应对实际的问题场景。同时,迁移学习还可以使得模型更具普适性,能够从一个任务中学到通用的知识,并将其应用于其他任务中。然而,需要注意的是,迁移学习的成功与否取决于源任务和目标任务之间的相似性和相关性,适当的选择源任务和设计迁移学习策略非常重要。


🍁 37. 什么是循环神经网络(RNN)?

循环神经网络(Recurrent Neural Network,RNN)是一种在序列数据上处理和学习的神经网络模型。与传统的前馈神经网络不同,RNN在处理序列数据时引入了时间依赖关系。

RNN的主要特点是它有一个循环结构,可以将前一个时间步的输出作为当前时间步的输入,这样独特的结构使得RNN可以对序列数据进行记忆和建模,能够捕捉序列中的时间依赖关系。

RNN的一个重要组成部分是隐藏状态(Hidden State),它可以看作是网络的记忆单元。在每个时间步中,RNN会根据当前输入和前一个时间步的隐藏状态来计算当前时间步的隐藏状态。这种记忆机制使得网络能够记住之前的信息,从而更好地理解和预测序列中的下一个元素。

RNN的基本形式是简单循环神经网络(Simple RNN),它使用全连接层将当前时间步的输入和前一个时间步的隐藏状态进行计算。然而,简单RNN存在梯度消失和梯度爆炸的问题,导致难以处理长期依赖关系。为了解决这个问题,出现了一些改进的RNN变体,如长短期记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)等。这些变体通过引入门控机制来控制信息的传递和遗忘,更有效地捕捉和利用序列中的长期依赖关系。

RNN在自然语言处理(NLP)、语音识别、机器翻译、时间序列预测等领域取得了很好的应用效果。它能够处理可变长度的输入序列,并对序列中的每个元素进行建模,具有较强的记忆能力和灵活性。然而,RNN也存在着训练困难、计算效率低等问题。随着深度学习的发展,一些基于RNN的变体,如双向RNN、注意力机制等被提出来进一步提升性能。


🍁 38. 什么是自动编码器(Autoencoder)?

自动编码器(Autoencoder)是一种无监督学习的神经网络模型,用于学习数据的低维表示或压缩表示。它由一个编码器和一个解码器组成,可以将输入数据编码为低维的隐藏特征表示,再通过解码器进行逆转换重建输入数据。

自动编码器的目标是最小化输入数据与重建数据之间的重构误差,通过这个过程,自动编码器学习到的低维隐藏表示可以提取数据的重要特征,并且保留足够的信息以便能够还原输入数据。

自动编码器的基本结构包括:

  1. 编码器(Encoder):将输入数据映射到低维的隐藏表示。编码器通常由多个全连接层组成,其中最后一层的输出就是隐藏表示。

  2. 解码器(Decoder):将隐藏表示映射回原始空间,并生成与输入数据尽可能接近的重建数据。解码器的结构与编码器相似,但是在输出层使用的激活函数可能会不同。

自动编码器的训练过程包括两个阶段:

  1. 编码阶段:输入数据通过编码器,经过降维处理得到隐藏表示。这一过程可以看作是特征提取。

  2. 解码阶段:由隐藏表示通过解码器进行逆转换,重建输入数据。这一过程可以看作是特征重建。

通过这样的训练过程,自动编码器可以学习到一种紧凑而有表达力的数据表示,它能够去除噪声、冗余和不重要的特征,具有一定的去噪和降维能力。

自动编码器有广泛的应用,包括特征学习、数据压缩、图像去噪、生成模型、生成对抗网络(GANs)等。它可以通过无监督学习的方式来发现数据中的结构和模式,并在一些特定任务中提供有用的特征表示。


🍁 39. 解释一下批归一化(Batch Normalization)。

批归一化(Batch Normalization)是一种常用的深度学习技术,用于加速神经网络的训练过程并提高模型的稳定性。它通过对每个小批量输入进行归一化处理,使得每层输入的分布被规范化,从而减少了内部协变量偏移(Internal Covariate Shift)。

内部协变量偏移是指在深度神经网络中,由于每一层的参数发生变化,前一层输出的分布会发生变化,导致训练过程中每一层需要不断地适应前一层输出分布的变化。这会使得网络的收敛过程变得缓慢,并且对参数初始化和学习率的选择非常敏感。

批归一化通过将每一层的输入进行归一化处理,使得其均值接近0,标准差接近1。归一化的计算公式如下:

z = (x - μ) / σ

其中,x是输入数据,μ是批次中的均值,σ是批次中的标准差。归一化后的数据z通过缩放和平移操作,将其映射到一个新的均值为β,方差为γ^2的分布上,最终得到归一化后的输出。

批归一化的好处包括:

  1. 加速收敛:通过将每层的输入归一化,使得激活函数的输入保持在较小的范围内,有助于避免梯度消失或爆炸的问题,从而加快模型的收敛速度。

  2. 提高泛化能力:批归一化可以一定程度上减少对参数初始化的依赖,使网络更具鲁棒性,提高模型的泛化能力。

  3. 抑制过拟合:批归一化具有正则化的效果,通过在每个小批量上进行规范化,可以一定程度上抑制网络的过拟合。

  4. 具有规范化的效果:由于每层输入的归一化处理,批归一化可以一定程度上减少网络对输入数据分布的依赖,从而使网络对于某些变换、平移、旋转等数据的扰动具有鲁棒性。

批归一化已经广泛应用于各种深度神经网络结构中,包括卷积神经网络(CNN)、完全连接神经网络(FCN)等。它是一种简单而有效的技术,能够显著提高神经网络的性能和训练效果。


🍁 40. 解释一下卷积操作。

卷积操作是一种在深度学习中常用的数学运算,用于处理二维或多维数据,特别是在图像处理和计算机视觉任务中广泛应用。卷积操作通过滑动一个卷积核(也称为过滤器)在输入数据上进行计算,以提取特征信息。

在二维情况下,卷积操作可以理解为一个滑动窗口在输入图像上移动,对于窗口内的图像区域,通过乘以对应的权重矩阵进行加权求和的操作。这个滑动窗口的大小和步长(即滑动的间隔)由卷积核的大小和步长来确定。同样,对于三维或更高维的数据,卷积操作的原理类似。

数学上,卷积操作可以表示为两个函数的加权求和。假设有两个函数f和g,它们的卷积操作可表示为:

(f * g)(t) = ∫f(a)g(t-a)da

其中,*表示卷积操作,t是时间(或空间)上的变量,a是积分变量。对于离散情况,卷积操作可以表示为:

(f * g)(t) = ∑f(a)g(t-a)

在深度学习中,卷积操作常用于卷积神经网络(Convolutional Neural Networks, CNNs)中。CNNs通过使用多个卷积核,逐层地进行卷积,从而提取输入数据的不同特征。卷积操作可以捕获图像的局部关系和特征,并通过堆叠多个卷积层实现对更加复杂的特征的学习。

卷积操作具有以下几个特点:

  1. 共享参数:在卷积操作中,卷积核的权重是共享的,因此可以减少模型的参数量,提高模型的泛化能力。

  2. 局部感知:卷积操作只关注输入数据的局部区域,而不会受到整体位置的影响,这使得卷积操作在处理图像和其他空间数据时能够有效地保留空间特征。

  3. 参数共享:由于卷积核的权重是共享的,CNNs可以对不同位置上的特征使用相同的权重,实现对平移不变性的建模。

卷积操作是深度学习中的关键操作之一,它在图像处理、自然语言处理和其他许多领域都取得了很好的效果。通过卷积操作,可以提取输入数据的特征表示,帮助神经网络学习到更加复杂和抽象的特征,并在许多计算机视觉和模式识别任务中取得出色的性能。

在这里插入图片描述

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

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

相关文章

我已经入驻多多

我已经入驻多多面包多平台 啦! 作为一位专注于帮助人们部署Python环境、探索人工智能和JavaEE技术,并创作计算机课程设计相关作品的创作者。我的作品类型涵盖了各种技术领域,旨在为学习者提供实用的资源和指导。 在CSDN拥有1100个粉丝的基础上&#x…

arcgis javascript api4.x加载非公开或者私有的arcgis地图服务

需求: 加载arcgis没有公开或者私有的地图服务,同时还想实现加载时不弹出登录窗口 提示:​ 下述是针对独立的arcgis server,没有portal的应用场景; 如果有portal可以参考链接:https://mp.weixin.qq.com/s/W…

MapStruct 使用

MapStruct最详细的使用教程,别在用BeanUtils.copyProperties () mapstruct使用和详解 项目背景 之前查看网上别人写的文章,很多都提到了BeanUtils(org.springframework.beans) 利用反射性能比较差。大家都推荐使用 MapStruct。因为这个组件使用 Java 原…

zookeeper 应该这样学

ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 Hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分…

C# 使用 MailKit 接收邮件(附demo)

C# 使用 MailKit 接收邮件(附demo) 介绍安装包(依赖)案例简单代码 获取附件核心代码完整代码 介绍一下POP3 介绍 MailKit 是一个开源的 C# 邮件处理库,用于在应用程序中发送和接收电子邮件。它提供了一个强大且易于使…

Redis核心技术与实战【学习笔记】 - 6.Redis 的统计操作处理

1.前言 在 Web 业务场景中,我们经常保存这样一种信息:一个 key 对应了一个数据集合。比如: 手机 APP 中的每天用户登录信息:一天对应一系列用户 ID。电商网站上商品的用户评论列表:一个商品对应了一些列的评论。用户…

【云原生之kubernetes系列】--污点与容忍

污点与容忍 污点(taints):用于node节点排斥Pod调度,与亲和效果相反,即taint的node排斥Pod的创建容忍(toleration):用于Pod容忍Node节点的污点信息,即node节点有污点,也将新的pod创建…

Ubuntu远程连接登录信息解读(ubuntu登录信息、远程登录信息)

文章目录 1. Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-100-generic aarch64)2. 三个链接是官方提供的文档、管理工具和技术支持3. System information as of Thu 01 Feb 2024 03:30:45 PM HKT4. System load: 1.16:系统负载指数5. Processes: 1096系统正在运…

【AI视野·今日Robot 机器人论文速览 第七十七期】Mon, 15 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Mon, 15 Jan 2024 Totally 14 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Learning Joint Space Reference Manifold for Reliable Physical Assistance Authors Amirreza Razmjoo, Tilen Brecelj, Kri…

【智能家居入门4】(FreeRTOS、MQTT服务器、MQTT协议、微信小程序)

前面已经发了智能家居入门的1、2、3了,在实际开发中一般都会使用到实时操作系统,这里就以FreeRTOS为例子,使用标准库。记录由裸机转到实时操作系统所遇到的问题以及总体流程。相较于裸机,系统实时性强了很多,小程序下发…

Cache Lab:Part B(52.6/53分)【矩阵转置的分块算法】

目录 任务描述 32 32 baseline try1:给对角线上的块再次细分块 try2:对角块依次错位 成功:对角块两两交换 成功:其他方法 64 64 baseline 对角线优化普通块转置顺序调整(7.6/8分) 61 67 成…

Vue3+vite搭建基础架构(3)--- 使用dayjs

Vue3vite搭建基础架构(3)--- 使用dayjs 说明官方文档vite.config.js别名配置安装dayjs安装命令 使用dayjs将dayjs封装为自己的日期工具类使用dataUtil.js日期工具类示例 说明 这里记录下自己在Vue3vite的项目使用dayjs的过程,不使用ts语法&a…

最新XC主题 支持六种主题样式 去除域名授权全解密源码 一款多样式主题

Typecho 最新XC主题 去除域名授权全解密源码 这是一款多样式主题,首页支持六种主题样式,支持Pjax优化访问速度,多种单页,如友链、说说等。评论支持表情,自定义编辑器,支持其他样式功能。该主题功能性挺高&…

音视频数字化(音频数字化)

在音视频领域,人们始终追求无限还原现场效果,因此音频越逼真越好,视频越清晰越好。之所以我们需要将音视频信号由模拟转为数字,目的是在录制、存储、编辑、复制、回放等环节的不失真,尽量保持原有细节,不因以上操作,导致音画的质量下降。 为此,视频系统分辨率越来越高,…

【Java程序设计】【C00207】基于(JavaWeb+SSM)的宠物领养管理系统(论文+PPT)

基于(JavaWebSSM)的宠物领养管理系统(论文PPT) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的宠物领养系统 本系统分为前台系统、管理员、收养者和寄养者4个功能模块。 前台系统:游客打开系统…

k8s-HPA

前提条件 安装有**Metrics Server**,HPA的运行监控指标需要由Metrics Server 提供 文档:https://github.com/kubernetes-sigs/metrics-server?tabreadme-ov-file#readme 快速自动缩放,每15秒收集一次指标(可配置)。 资源效率,为集群中的每…

网络防御安全:2-6天笔记

第二章:防火墙 一、什么是防火墙 防火墙的主要职责在于:控制和防护。 防火墙可以根据安全策略来抓取流量之后做出对应的动作。 二、防火墙的发展 区域: Trust 区域,该区域内网络的受信任程度高,通常用来定义内部…

VSCode 设置代理

Open Visual Studio Code, click the settings icon in the lower left corner, and click Settings.

yii2 mongodb 操作

->where([<>,review,""]) 不等于空 $where [newstypeid>[$in>$categoryIdArr]]; 类似mysql in操作 &#xff08;$categoryIdArr是数组&#xff09; ->where([label>[$regex >赞美诗]]) 模糊搜索操作 $where [status>1,name>[$rege…

C++语法 内存区域 和 引用

代码区 存放函数体的二进制代码 由操作系统进行管理 全局区 存放全局变量和静态变量以及常量 存放全局变量 静态变量 常量&#xff08;字符串常量 全局const常量&#xff09; 栈区 由编译器自动分配释放&#xff0c;存放函数的参数值&#xff0c;局部变量等。不要返回局部…