机器学习特征-学习篇

news/2024/9/18 13:39:12/ 标签: 机器学习, 学习, 计算机视觉

一、特征概念

1. 什么是特征

特征是事物可供识别的特殊的征象或标志学习>机器学习中,特征是用来描述样本的属性或观测值的变量。它们可以是任何类型的数据,包括数字、文本、图像、音频等。
作用: 特征是训练和评估学习>机器学习模型的基础。好的特征选择和提取能够显著提高模型的性能和准确度。

特征选择: 对一个学习任务而言,有些特征可能很有用,另一些可能没什么用
对当前任务有用的属性称为“相关特征”、没用的属性称为“无关特征”。从给定的特征集合中选出相关特征子集的过程称为“特征选择”。

比如: 有经验的人往往只需要看看根蒂、听听敲声就知道是否好瓜
可以用很多属性来描述一个西瓜,比如色泽、根蒂、敲声、纹理、触感等,这些描述事物的属性称为 特征

2. 特征的类型

数字特征: 如年龄、身高、体重等,这些是可以直接量化的数据。
文本特征: 在文本处理中,特征可能是词袋模型、TF-IDF权重、N-gram模型、主题模型等。
图像特征: 在图像分类或识别中,特征可以是像素值、颜色直方图、纹理描述符、边缘检测等。
音频特征: 在音频处理中,特征可以是MFCC(Mel Frequency Cepstral Coefficients)、Spectrogram等。

3. 常用的图像特征

常用的特征有:Harris角点特征,Canny边缘特征,直方图特征等

  1. Harris角点特征
    定义:Harris角点检测是一种基于图像灰度强度变化的角点检测算法,它通过计算图像中每个像素点周围邻域内的灰度强度变化来判断该点是否为角点。
    特点:
    旋转不变性:Harris角点对图像的旋转变化具有一定的鲁棒性。
    平移不变性:角点的位置在图像平移后仍能保持不变。
    光照变化敏感性:Harris角点对光照变化较为敏感,但可以通过适当的预处理(如归一化)来减轻这种影响。
    尺度变化敏感性:Harris角点检测本身不具有尺度不变性,即当图像尺度发生变化时,检测到的角点位置可能会发生变化。但可以通过与其他尺度不变特征提取方法(如SIFT)结合使用来弥补这一不足。
    应用场景:
    Harris角点检测广泛应用于图像匹配、三维重建、目标跟踪等领域。
    在这里插入图片描述

  2. Canny边缘特征
    定义:Canny边缘检测是一种多级边缘检测算法,由John F. Canny于1986年提出。该算法旨在以最优的方式检测图像中的边缘,即尽可能多地标识出实际边缘,同时减少噪声产生的误报。
    特点:
    低错误率:能够准确标识出图像中的实际边缘,同时减少噪声的干扰。
    高定位精度:标识出的边缘位置与实际边缘位置非常接近。
    单边缘响应:图像中的边缘只被标识一次,避免了边缘的重复检测。
    应用场景:
    Canny边缘检测在图像分割、图像识别、图像增强等领域有着广泛的应用。
    在这里插入图片描述

  3. 直方图特征
    定义:
    直方图是一种统计图表,用于展示数据分布的情况。在图像处理中,直方图特征通常指的是图像的灰度直方图或颜色直方图。
    特点:
    数据分组:将图像的像素值或颜色值分成若干连续的组(区间或桶),每个区间包含一定范围内的数据值。
    频数表示:每个区间内的像素数量或颜色数量用柱状图表示,柱子的高度代表该区间内数据的频数或频率。
    直观性:直方图能够直观地展示图像的灰度分布或颜色分布情况。
    应用场景:
    直方图特征在图像分割、图像检索、图像压缩等领域有着广泛的应用。例如,在图像检索中,可以通过比较两幅图像的直方图相似度来判断它们是否相似;在图像压缩中,可以利用直方图的统计特性来优化压缩算法。
    在这里插入图片描述

4.典型的文本特征

常用的特征有:词属性,词频TF-IDF,词向量,Bag of Words等

  1. 词属性
    词属性通常指的是词语本身所携带的信息,如词性(名词、动词、形容词等)、词长(单词的字符数)、是否为大写、是否包含数字或特殊字符等。这些属性在文本处理中可以用来丰富文本的特征表示,但通常不是直接用于文本分类或聚类的主要特征。词属性更多地被用于文本预处理阶段,如词性标注、停用词过滤等。
    在这里插入图片描述
  2. 词频TF-IDF
    TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于评估一个词语对于一个文件集或一个语料库中的其中一份文件的重要程度的统计方法。它由两部分组成:
    TF(Term Frequency):词频,即某个词在文档中出现的频率。通常,词频越高,表示该词在文档中越重要。但是,为了消除文档长度的影响,TF通常会被归一化,即某个词在文档中出现的次数除以文档的总词数。
    IDF(Inverse Document Frequency):逆文档频率,是一个词语普遍重要性的度量。如果包含某个词的文档越少,那么IDF值越大,说明这个词具有很好的类别区分能力。IDF的计算方法是语料库中的文档数除以包含该词的文档数(通常加1以避免分母为0),然后取对数。
    TF-IDF的值是TF和IDF的乘积,它综合了词频和逆文档频率两个因素,能够更准确地评估一个词在文档中的重要程度。TF-IDF在文本分类、信息检索等领域有广泛应用。在这里插入图片描述
    在这里插入图片描述
    例子:
#假设我们有以下三个文档:
文档1:我 喜欢 学习 学习>机器学习
文档2学习>机器学习 是 很 有趣 的
文档3:我 喜欢 编程 和 学习>机器学习
#第一步:计算每个词的词频(TF)
#计算每个文档中每个词的词频:#文档1:我 喜欢 学习 学习>机器学习
我:1/4 = 0.25
喜欢:1/4 = 0.25
学习1/4 = 0.25
学习>机器学习1/4 = 0.25#文档2:学习>机器学习 是 很 有趣 的
学习>机器学习1/5 = 0.20
是:1/5 = 0.20
很:1/5 = 0.20
有趣:1/5 = 0.20
的:1/5 = 0.20#文档3:我 喜欢 编程 和 学习>机器学习
我:1/5 = 0.20
喜欢:1/5 = 0.20
编程:1/5 = 0.20
和:1/5 = 0.20
学习>机器学习1/5 = 0.20#第二步:计算逆文档频率(IDF)
文档1:我 喜欢 学习 学习>机器学习
文档2学习>机器学习 是 很 有趣 的
文档3:我 喜欢 编程 和 学习>机器学习#计算IDF:
学习>机器学习:log(3 / (1 + 3)) = log(3 / 4) = -0.124
我:log(3 / (1 + 2)) = log(3 / 3) = 0
喜欢:log(3 / (1 + 2)) = log(3 / 3) = 0
学习:log(3 / (1 + 1)) = log(3 / 2) = 0.176
是:log(3 / (1 + 1)) = log(3 / 2) = 0.176
很:log(3 / (1 + 1)) = log(3 / 2) = 0.176
有趣:log(3 / (1 + 1)) = log(3 / 2) = 0.176
的:log(3 / (1 + 1)) = log(3 / 2) = 0.176
编程:log(3 / (1 + 1)) = log(3 / 2) = 0.176
和:log(3 / (1 + 1)) = log(3 / 2) = 0.176#第三步:计算每个词的TF-IDF
#将每个词的词频乘以其逆文档频率:#文档1:我 喜欢 学习 学习>机器学习
我:0.25 * 0 = 0
喜欢:0.25 * 0 = 0
学习0.25 * 0.176 = 0.044
学习>机器学习0.25 * -0.124 = -0.031#文档2:学习>机器学习 是 很 有趣 的
学习>机器学习0.20 * -0.124 = -0.0248
是:0.20 * 0.176 = 0.0352
很:0.20 * 0.176 = 0.0352
有趣:0.20 * 0.176 = 0.0352
的:0.20 * 0.176 = 0.0352#文档3:我 喜欢 编程 和 学习>机器学习\
我:0.20 * 0 = 0
喜欢:0.20 * 0 = 0
编程:0.20 * 0.176 = 0.0352
和:0.20 * 0.176 = 0.0352
学习>机器学习0.20 * -0.124 = -0.0248文档1分析:
“学习”的TF-IDF值最高(0.044),表明在文档1中,“学习”是最重要的词语。
“我”和“喜欢”的TF-IDF值为0,因为它们在多个文档中都很常见。
“学习>机器学习”的TF-IDF值为-0.031,表明它虽然在文档中出现,但在所有文档中都很常见,因此在区分这个文档时并不重要。文档2分析:
“是”、“很”、“有趣”、“的”这四个词的TF-IDF值相同(0.0352),表明它们在文档2中同等重要。
“学习>机器学习”的TF-IDF值为-0.0248,同样因为它在所有文档中都很常见。文档3分析:
“编程”和“和”的TF-IDF值最高(0.0352),表明它们在文档3中最重要。
“我”和“喜欢”的TF-IDF值为0,因为它们在多个文档中都很常见。
“学习>机器学习”的TF-IDF值为-0.0248,同样因为它在所有文档中都很常见。应用TF-IDF结果
这些TF-IDF值帮助我们更准确地理解每个文档的关键内容和主题。例如:
在文档1中,“学习”是关键词,可以推测文档的主题是学习相关内容。
在文档2中,“是”、“很”、“有趣”、“的”这几个词同等重要,可能表示文档在描述学习>机器学习的有趣性。
在文档3中,“编程”和“和”是关键词,可以推测文档的主题涉及编程和学习>机器学习的关系。
通过这些TF-IDF值,我们可以更有效地进行文本分类、主题提取和信息检索,提高处理文本数据的准确性和效率。
  1. 词向量
    词向量是将词语表示为高维空间中的向量,以便进行数学运算和学习>机器学习处理。词向量的表示方法有多种,如One-Hot编码、词嵌入(Word Embedding)等。其中,词嵌入是目前最常用的词向量表示方法,它通过神经网络模型(如Word2Vec、GloVe等)将词语映射到高维空间中,使得语义上相似的词语在向量空间中的距离也较近。词向量能够捕捉词语之间的语义关系,对于文本处理和分析具有重要意义。

比如这个文本就是一句话:今日计划,啥也不干:
分词之后得到的词汇表vocab:[“今日”,“计划”,“啥”,“也”,“不干”,“,” ];这个文本的词汇个数就是N=6,
根据one-hot编码依次转换为词向量:

今日:[1,0,0,0,0,0]
计划:[0,1,0,0,0,0]
啥:[0,0,1,0,0,0]
也:[0,0,0,1,0,0]
不干:[0,0,0,0,1,0]
,:[0,0,0,0,0,1]
  1. Bag of Words(词袋模型)
    Bag of Words(词袋模型)是一种简单的文本表示方法,它将文本看作是一个无序的词汇集合,不考虑词汇之间的顺序和语法关系。在词袋模型中,每个文本被表示为一个向量,向量的维度是词典(或字典)的长度,向量中的每个元素对应词典中的一个词,元素的值是该词在文本中出现的次数(或经过TF-IDF加权后的值)。词袋模型忽略了文本的语法和语序信息,但能够快速地提取文本的特征,适用于一些对文本顺序要求不高的场景。
    在这里插入图片描述
5. 学习>机器学习数据库UCI
  1. 概念
    UCI(University of California, Irvine)学习>机器学习数据库是一个广泛使用的数据集集合,它包含了用于学习>机器学习研究和实验的各种类型的数据集。这些数据集被广泛应用于分类、聚类、回归、预测等多种学习>机器学习任务的训练和测试。UCI数据库中的数据集涵盖了从生物信息学到经济学,从图像识别到文本处理的多个领域。
    UCI学习>机器学习数据库可以通过UCI的官方网站访问,网址通常是:UCI Machine Learning Repository。在这个网站上,你可以浏览、搜索、下载和上传数据集。

  2. 数据集类型
    UCI数据库中的数据集大致可以分为以下几类:
    分类(Classification):数据集用于训练分类模型,将输入数据分为预定义的类别之一。
    回归(Regression):数据集用于训练回归模型,预测数值型输出。
    聚类(Clustering):数据集用于训练聚类模型,将输入数据划分为多个组或簇,使得同一簇内的数据点彼此相似,而不同簇的数据点则不同。
    时间序列(Time-Series):数据集包含随时间变化的数据点,用于分析时间相关的模式或预测未来的值。
    其他:还包括多标签分类、异常检测等特殊类型的数据集。

  3. 示例数据集
    UCI数据库中一些著名的数据集包括:
    鸢尾花数据集(Iris dataset):一个常用的分类数据集,包含三种鸢尾花各50个样本,每个样本有四个特征。
    乳腺癌数据集(Breast Cancer Wisconsin (Diagnostic) Dataset):用于诊断乳腺癌的医学数据集,包含良性和恶性肿瘤的样本。
    波士顿房价数据集(Boston Housing Dataset):用于回归任务的数据集,目标是预测波士顿地区房屋的价格。
    手写数字数据集(MNIST Database of handwritten digits):虽然MNIST不直接托管在UCI上,但它是一个广泛使用的图像识别数据集,展示了学习>机器学习在图像处理中的应用。

  4. 如何使用UCI数据集
    下载数据集:从UCI网站下载你感兴趣的数据集。
    数据预处理:根据需要进行数据清洗、转换和特征选择。
    选择学习>机器学习算法:根据你的任务类型(如分类、回归等)选择合适的算法。
    模型训练:使用处理后的数据训练模型。
    模型评估:通过测试集评估模型的性能。

6. Iris数据集
  1. 简介
    学习>机器学习数据库中的Iris数据集,也称为鸢尾花卉数据集(Anderson’s Iris dataset),是一个常用的分类实验数据集,在统计学习学习>机器学习领域经常被用作示例。
    来源:Iris数据集由Fisher在1936年收集整理。
    内容:该数据集包含150个数据样本,分为3类,每类50个数据。每个数据样本包含4个属性,即花萼长度(Sepal Length)、花萼宽度(Sepal Width)、花瓣长度(Petal Length)和花瓣宽度(Petal Width),单位均为厘米(cm)。
    用途:通过这四个属性,可以预测鸢尾花卉属于三个种类中的哪一类,即山鸢尾(Iris Setosa)、杂色鸢尾(Iris Versicolour)和维吉尼亚鸢尾(Iris Virginica)。

  2. 数据集特点
    多重变量分析:Iris数据集是一类多重变量分析的数据集,适合用于测试和学习分类算法。
    线性与非线性可分离:在Iris数据集中,山鸢尾与其他两种鸢尾是线性可分离的,而后两种鸢尾则是非线性可分离的。这一特点使得该数据集在测试分类算法的性能时具有挑战性。

  3. 数据结构与操作
    数据结构:Iris数据集通常以一个二维表的形式呈现,包含150行(样本)和4列(特征)。此外,还有一个目标列(label),用于标识每个样本所属的类别。
    数据加载:在Python中,可以使用scikit-learn库中的datasets.load_iris()函数来加载Iris数据集。加载后的数据集包含数据(data)、目标值(target)、特征名(feature_names)和目标名(target_names)等属性。
    数据处理:在进行学习>机器学习建模之前,通常需要对数据集进行预处理,包括数据清洗、特征选择、特征缩放等步骤。

  4. 应用场景
    Iris数据集因其简单而全面的特点,常被用于学习>机器学习的入门教学和实验中。通过该数据集,学习者可以掌握分类算法的基本原理和操作步骤,并了解数据预处理、模型训练、评估等学习>机器学习流程。

7. Adult数据集
  1. 概述
    学习>机器学习数据库Adult数据集是一个经典的数据挖掘项目数据集,它来源于美国1994年的人口普查数据库,因此也被称为“人口普查收入”数据集。
    来源:美国1994年人口普查数据库。
    用途:用于预测居民年收入是否超过5万美元,是一个二元分类问题。
    数据量:共包含48842条记录,其中训练数据32561条,测试数据16281条。
    类变量:年收入是否超过5万美元,占比分别为23.93)和76.07%(≤5万美元)。
  2. 属性变量
    Adult数据集包含14个属性变量,所采用的特征包括:年龄、工作类型、教育程度、受教育时间、婚姻状况、职业、种族、性别、每周工作小时数、原籍、收入等。
    这些变量可以分为数值连续型变量和类别离散型变量两大类:
    数值连续型变量(6个):如年龄(age)、每周工作时长(hours-per-week)等。
    类别离散型变量(8个):如工作分类(workclass)、教育程度(education)、婚姻状态(marital-status)等。
  3. 数据预处理
    由于Adult数据集是csv格式的数据,因此在进行学习>机器学习建模之前,需要进行一系列的数据预处理工作,包括:
    数据读取:使用pandas等库读取csv文件,并设置合适的列名。
    缺失值处理:数据集中可能存在缺失值,通常以" ?"表示。需要将这些缺失值转换为NaN或进行填充处理,填充方式可以是众数、均值或特定值等。
    数据转换:将类别型变量转换为数值型变量,以便学习>机器学习算法能够处理。这通常通过编码方式实现,如独热编码(One-Hot Encoding)或标签编码(Label Encoding)。
    特征选择:根据业务需求和数据特点,选择对预测目标有重要影响的特征进行建模。
    数据划分:将数据集划分为训练集和测试集,以便进行模型训练和评估。
  4. 应用场景
    Adult数据集因其丰富的属性和广泛的应用场景,在学习>机器学习领域具有重要地位。它常被用于测试和学习各种分类算法,如决策树、朴素贝叶斯、逻辑回归、随机森林等。通过对该数据集的分析和建模,可以深入了解不同算法在解决分类问题时的性能表现,并为实际业务问题提供解决方案。
8. 特征编码

特征编码是将原始数据(如分类变量、日期、文本等)转换为数值型数据的过程,以便于学习>机器学习模型进行训练和预测。其目的主要是提高数据的可用性和模型的学习效率。

学习>机器学习和数据预处理中,常见的编码方式包括序号编码(Ordinal Encoding)、独热编码(One-Hot Encoding)、标签编码(Label Encoding)和频数编码(Count Encoding)等。

序号编码(Ordinal Encoding)
序号编码是一种将离散特征的各个类别映射为整数序号的方法。这种方法适用于有序特征,其中类别之间存在一定的顺序关系,但没有明确的意义。例如,在学历中,“本科”、“硕士”和“博士”可以分别映射为1、2和3,因为这三者之间存在明确的顺序关系。序号编码可以通过Pandas的map函数或自定义字典来实现。

独热编码(One-Hot Encoding)
独热编码是最常用的编码方式之一,它将每个离散属性的每个类别创建一个新的二进制特征。对于每个样本,只有一个二进制特征为1,表示它属于对应的类别,其他特征为0。这种方法适用于具有有限数量的类别,并且类别之间没有明确的顺序关系。独热编码可以通过Sklearn的OneHotEncoder类来实现,也可以手动使用Numpy等库来创建。

标签编码(Label Encoding)
标签编码将每个类别映射到整数值,从0开始递增。这种方法对于具有有序关系的类别特征很有用,但它不适用于没有明显顺序的类别。例如,在颜色特征中,“红色”、“绿色”和“蓝色”可以分别映射为0、1和2,但如果这些颜色之间没有明显的顺序关系,使用标签编码可能会引入误解。标签编码可以通过Sklearn的LabelEncoder类来实现。

频数编码(Count Encoding)
频数编码将每个类别替换为该类别在数据集中的频数或出现次数。这种编码方法可以提供关于类别的频率信息,但可能引入一定的信息泄漏。因为模型可能会学习到某些类别在数据集中更频繁出现,从而对这些类别产生偏见。频数编码可以通过Pandas的value_counts函数结合map函数来实现,但需要注意信息泄漏和过拟合的风险。

9.特征选择
  1. 定义与目的
    特征选择是从原始特征集中选择对任务有用的特征的过程。其主要目的是通过减少数据集的维度来提高模型的准确性和性能,同时减少计算复杂度和过拟合的风险。
    从一组可用的特征中选择出最优的子集,以提高模型的性能、减少训练时间和复杂度,并帮助更好地理解数据。

  2. 常见方法
    特征选择的方法大致可以分为三类:过滤式特征选择、包裹式特征选择和嵌入式特征选择。

    1. 过滤式特征选择(Filter Methods)
      定义:过滤式特征选择是一种预处理方法,它按照某种度量来评估每个特征的重要性,并根据这个度量选择最优的特征子集。
      特点:过滤式特征选择通常比较快,因为它可以独立于学习>机器学习模型进行。但其缺点是不能保证选择出来的特征子集一定是最优的。
      评估标准:包括基于特征所含信息量的高低(如方差法)、基于相关性(如相关系数、互信息等)等。
    2. 包裹式特征选择(Wrapper Methods)
      定义:包裹式特征选择是一种贪心算法,它在不断地添加或删除特征,并不断地训练学习>机器学习模型来寻找最优的特征子集。
      特点:包裹式特征选择可以保证选择出来的特征子集一定是最优的,但其计算复杂度通常比较高,因为它需要不断地训练学习>机器学习模型。
      具体方法:包括递归特征消除(RFE)、序贯特征选择(SFS)等。
    3. 嵌入式特征选择(Embedded Methods)
      定义:嵌入式特征选择是一种将特征选择和模型训练结合起来的方法。它通过在模型训练过程中逐步减少特征的维度来实现特征选择。
      特点:嵌入式特征选择方案简洁高效,通常被视为集成了过滤法和包裹法两种方案的优点。但其也可能存在不能识别高相关性特征的短板。
      具体方法:包括基于Lasso、Ridge Regression等正则化方法的特征选择,以及基于树模型和集成算法的特征选择等。

http://www.ppmy.cn/news/1524821.html

相关文章

VScode 的简单使用

目录 1. VScode 的使用 1.1 常用插件 1.2 常用快捷键 1. VScode 的使用 1.1 常用插件 1.2 常用快捷键 也可以“ CTRLD ”;使用“CTRL滚轮”即可; ctrl /-,是用来展开/收起代码的; 比如:js 的多行注释是 shiftalt…

电脑开机速度慢怎么解决?

电脑开机速度慢怎么解决?电脑开机速度慢的原因可以是多方面的,以下是一些常见的原因: 启动项过多: 许多软件在系统启动时会自动启动,导致启动项过多,从而延长了开机时间。过时的驱动程序: 设备…

NFTScan | 09.02~09.08 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.09.02~ 2024.09.08 NFT Hot News 01/ 数据:NFT 8 月销售额跌破 4 亿美元,创年内新低 9 月 2 日,数据显示,8 月 NFT 的月销售额仅为 …

【计算机网络 - 基础问题】每日 3 题(一)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

Spring Boot 注解探秘:Bean 管理的艺术

在 Spring Boot 应用开发中,Bean 的管理是核心功能之一。Spring Boot 提供了一套强大的注解系统,帮助开发者轻松管理 Bean 的生命周期和依赖注入。本文将深入探讨 Spring Boot 中常用的 Bean 处理注解及其应用场景。 一、Component注解 Component是一个…

第L6周:机器学习-随机森林(RF)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标: 1.什么是随机森林(RF) 随机森林(Random Forest, RF)是一种由 决策树 构成的 集成算法 &#…

python库安装失败问题

pip install XXXX 报错信息如下 D:\Dev>pip install D:\Dev\robotlib-0.0.33.tar.gz DEPRECATION: Loading egg at d:\app\dev\python\lib\site-packages\fs11a3_package-1.3-py3.11.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replace…

mac安装swoole过程

1.很重要的是得根据自己环境的php版本来选择swoole版本!否则都是做无用功。 Swoole 文档 2.通常pecl install swoole是安装最新版本的,当然安装的方式很多种,这里选择编译安装,因为可以选择不同的swoole版本进行安装,…

CTF中Web题目的常见题型及解题方法

基础知识类题目# 考察基本的查看网页源代码、HTTP请求、修改页面元素等。 这些题很简单,比较难的比赛应该不会单独出,就算有因该也是Web的签到题。 实际做题的时候基本都是和其他更复杂的知识结合起来出现。 姿势:恶补基础知识就行 查看网…

【无人机设计与控制】固定翼四旋翼无人机UAV俯仰姿态飞行模糊自整定PID控制Simulink建模

摘要 本研究设计了一种基于模糊自整定PID控制的固定翼四旋翼无人机俯仰姿态控制系统。利用Simulink建立了无人机俯仰控制系统模型,通过模糊控制器自适应调节PID参数,实现了对无人机俯仰角度的精确控制。实验结果表明,该控制策略在不同飞行状…

Java中NoSQL 与分布式数据库

Java 中的 NoSQL 与分布式数据库 随着大数据、云计算和分布式系统的快速发展,传统的关系型数据库(如 MySQL、PostgreSQL 等)在处理大规模数据时往往会遇到扩展性和性能上的瓶颈。为了解决这些问题,NoSQL 数据库和分布式数据库应运…

启动 Spring Boot 项目时指定特定的 application.yml 文件位置

java -jar your-spring-boot-app.jar --spring.config.locationfile:/path/to/your/config/application.yml your-spring-boot-app.jar 是你的 Spring Boot 应用的 JAR 文件名。file:/path/to/your/config/application.yml 是配置文件的绝对路径。 如果你有多个配置文件&#…

机器学习--神经网络

神经网络 计算 神经网络非常简单,举个例子就理解了(最后一层的那个写错了,应该是 a 1 ( 3 ) a^{(3)}_1 a1(3)​): n o t a t i o n notation notation: a j ( i ) a^{(i)}_j aj(i)​ 表示第 i i i 层的…

嵌入式学习路线+嵌入式校招建议 嵌入式学习面试规划

随着物联网、人工智能以及5G等技术的迅猛发展,嵌入式系统的需求逐渐增多。作为毕业生,如何制定一个合理的学习路线,以确保在找工作、参加校招时有足够的竞争力,是非常重要的。我会为你提供一个更加详细、系统的学习路线建议&#…

【必看!多系统萎缩患者的维生素补给站,守护你的健康每一天✨】

亲爱的朋友们,今天我们要聊一个温暖而重要的话题——关于多系统萎缩(MSA)患者如何科学补充维生素,让爱与健康同行!💖 🌈 认识多系统萎缩MSA 首先,让我们简单了解一下多系统萎缩。M…

k8s的配置管理

一、配置管理分为两种: 1. 加密配置:用来保存密码和token密钥对以及其它敏感的k8s资源。 2.应用配置:我们需要定制化的给应用进行配置,我们需要把定制好的配置文件同步到pod当中的容器。 二、加密配置 1.secret三种类型&#xf…

Java笔试面试题AI答之单元测试JUnit(3)

文章目录 13. 什么是注释以及它们如何在JUnit中有用?什么是注释(Annotation)?注释在JUnit中的用途 14. 解释如何测试”受保护”方法?1. 使用子类2. 同一包内直接测试3. 反射(在支持的语言中)4. …

Oracle数据库中的动态SQL(Dynamic SQL)

Oracle数据库中的动态SQL是一种在运行时构建和执行SQL语句的技术。与传统的静态SQL(在编写程序时SQL语句就已经确定)不同,动态SQL允许开发者在程序执行过程中根据不同的条件或用户输入来构建SQL语句。这使得动态SQL在处理复杂查询、存储过程中…

一、链表-算法总结

文章目录 一、链表1.1 提纲1.2 链表删除1.2.1 删除排序链表中的重复元素(仅保留一个重复元素)1.2.2 删除排序链表中的重复元素 II (删除所有重复的元素) 1.3 链表反转1.3.1 反转链表1.3.2 反转链表 1.4 合并链表1.4.1 合并两个有序…

STM32_startup文件详解

一、堆栈内存分配 Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN3 Stack_Mem SPACE Stack_Size __initial_sp ; <h> Heap Configuration ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; </h> Heap_Siz…