机器学习:数据降维主成分分析PCA

一、引言

  • 1.数据分析的重要性
      在当今的信息爆炸时代,数据已经渗透到各个行业和领域的每一个角落,成为决策制定、科学研究以及业务发展的重要依据。数据分析则是从这些数据中提取有用信息、发现潜在规律的关键手段。通过数据分析,我们能够更深入地了解问题的本质,把握市场趋势,优化业务流程,提高决策效率,从而为企业和社会创造更大的价值。

  • 2.引出降维的需求与意义
      然而,在实际的数据分析过程中,我们往往面临着数据维度过高的问题。高维数据不仅增加了计算复杂度和存储成本,而且可能导致“维度灾难”,使得数据分析变得困难重重。此外,高维数据中的许多变量之间可能存在相关性,导致信息冗余和干扰。因此,降维成为了数据分析中不可或缺的一环。通过降维,我们可以去除冗余变量,降低数据复杂度,提高分析效率,同时保留数据中的主要信息。

  • 3.主成分分析(PCA)的概念及其在数据分析中的角色
      主成分分析(PCA)是一种广泛应用的降维方法,它通过线性变换将原始的高维数据映射到一个低维空间中,同时尽可能保留数据中的主要变化模式。PCA的基本思想是将数据中的多个变量通过线性组合的方式转化为少数几个互不相关的综合变量,这些综合变量称为主成分。每个主成分都是原始变量的线性组合,它们按照方差大小进行排序,第一个主成分具有最大的方差,即保留了数据中的最大变化信息。通过选择前几个主成分,我们可以在降低数据维度的同时保留大部分的信息。

  在数据分析中,PCA扮演着重要的角色。它不仅可以用于数据的可视化、去噪和压缩,还可以作为其他机器学习算法的预处理步骤,提高算法的性能和稳定性。此外,PCA还可以用于特征提取和降维后的数据解释,帮助我们更深入地理解数据的结构和内在规律。


一句话概括主成分分析

  主成分分析是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种将把多个变量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。

二、主成分分析的基本概念

1、PCA的定义与原理

  主成分分析(Principal Component Analysis,简称PCA)是一种统计分析方法,它旨在通过正交变换将原始特征空间中的线性相关变量转换为新的线性无关变量,即主成分。这些主成分能够保留原始数据的大部分信息,同时降低数据的维度,使得数据的处理和分析更加高效。

  PCA的原理基于数据的方差最大化思想。方差代表了数据的离散程度,方差越大,说明数据在该维度上的变化越丰富,所包含的信息也就越多。因此,PCA通过找到一个正交变换矩阵,将原始数据投影到一个新的坐标系中,使得投影后的数据在每个维度上的方差尽可能大。这些新的维度就是主成分,它们之间互不相关,且能够尽可能多地保留原始数据的信息。

  具体来说,PCA的实现过程包括以下几个步骤

  • 数据标准化:将原始数据进行标准化处理,消除量纲和数值大小对分析结果的影响。
  • 计算协方差矩阵:计算标准化后数据的协方差矩阵,反映各变量之间的相关性。
  • 特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。
  • 选择主成分:根据特征值的大小选择前k个主成分,通常选择累计贡献率达到一定阈值(如80%)的前k个主成分。
  • 转换数据:将原始数据转换到由前k个主成分构成的新坐标系中,得到降维后的数据。
2、PCA与其他降维方法的比较

  PCA与线性判别分析(LDA)、t-SNE等降维方法有着各自的特点和适用场景。

  LDA是一种监督学习的降维技术,它在降维的同时考虑了类别信息,使得投影后的数据类内方差最小,类间方差最大。因此,LDA在分类问题中表现较好。然而,LDA需要数据的类别标签,这使得它在无监督学习场景中受到限制。

  相比之下,PCA是一种无监督的降维方法,它不需要数据的类别标签,仅基于数据的方差进行降维。这使得PCA在探索性数据分析和预处理阶段具有广泛的应用。PCA通过最大化投影方差来保留数据的主要信息,但可能忽略了与类别相关的信息。

  t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种用于高维数据可视化的降维方法。它通过保留数据点之间的局部相似性来将高维数据映射到二维或三维空间中,以便进行可视化。t-SNE在可视化复杂结构和发现数据中的簇群方面表现出色,但计算成本较高,且对参数的选择较为敏感。

  综上所述,PCA、LDA和t-SNE等降维方法各有其特点和适用场景。在选择降维方法时,需要根据具体任务和数据特点进行权衡和选择。例如,在无监督学习场景中,PCA可能是一个更好的选择;而在分类问题中,LDA可能更具优势;对于需要可视化高维数据的情况,t-SNE则是一个有力的工具。

三、PCA的数学描述

  PCA的原理图如下所示:
在这里插入图片描述

  主成分分析的数学形式描述的计算步骤如下:
1)设原始变量 X 1 , X 2 , ⋯   , X p X_1,X_2,\cdots,X_p X1,X2,,Xp n n n次观测数据矩阵为:
X = [ x 11 x 12 ⋯ x 1 p x 21 x 22 ⋯ x 2 p ⋮ ⋮ ⋮ ⋮ x n 1 x n 2 ⋯ x n p ] = ( X 1 , X 2 , ⋯   , X p ) X=\left[ \begin{matrix} x_{11} & x_{12} & \cdots & x_{1p}\\ x_{21} & x_{22} & \cdots & x_{2p}\\ \vdots & \vdots & \vdots & \vdots\\ x_{n1} & x_{n2} & \cdots & x_{np}\\ \end{matrix} \right]=(X_1,X_2,\cdots,X_p) X= x11x21xn1x12x22xn2x1px2pxnp =(X1,X2,,Xp)
2) 将数据矩阵按列进行中心标准化。为了方便,将标准化后的数据矩阵仍然记为 X X X
3)求相关系数矩阵 R R R, R = ( r i j ) p ∗ p R=(r_{ij})_{p*p} R=(rij)pp, r i j r_{ij} rij的定义为:
r i j = ∑ k = 1 n ( x k i − x i ˉ ) ( x k j − x j ˉ ) / ∑ k = 1 n ( x k i − x i ˉ ) 2 + ∑ k = 1 n ( x k j − x j ˉ ) 2 r_{ij}=\sum_{k=1}^{n}(x_{ki}-\bar{x_i})(x_{kj}-\bar{x_j})/\sqrt{\sum_{k = 1}^{n} (x_{ki}-\bar{x_i})^2+ \sum_{k = 1}^{n} (x_{kj}-\bar{x_j})^2} rij=k=1n(xkixiˉ)(xkjxjˉ)/k=1n(xkixiˉ)2+k=1n(xkjxjˉ)2
其中, r i j = r j i r_{ij}=r_{ji} rij=rji, r i i = 1 r_{ii}=1 rii=1
4)求 R R R的特征方程 d e t ( R − λ E ) = 0 det(R-\lambda E)=0 det(RλE)=0的特征根 λ 1 ≥ λ 2 ≥ λ p > 0 \lambda_1 \geq \lambda_2 \geq \lambda_p > 0 λ1λ2λp>0
5)确定主成分的个数 m m m: ∑ i = 1 m λ i ∑ i = 1 P λ i ≥ α \frac{\sum_{i=1}^{m}\lambda_i}{\sum_{i=1}^{P}\lambda_i} \geq \alpha i=1Pλii=1mλiα, α \alpha α根据实际问题确定,一般取80%。
6)计算 m m m个相应的单位特征向量:
β 1 = [ β 11 β 21 . . . β p 1 ] , β 1 = [ β 12 β 22 . . . β p 2 ] , . . . , β 1 = [ β 1 m β 2 m . . . β p m ] \beta_1 = \left [\begin{array}{cccc} \beta_{11} \\ \beta_{21} \\ . \\ . \\ . \\ \beta_{p1} \\ \end{array}\right], \beta_1 = \left [\begin{array}{cccc} \beta_{12} \\ \beta_{22} \\ . \\ . \\ . \\ \beta_{p2} \\ \end{array}\right],...,\beta_1 = \left [\begin{array}{cccc} \beta_{1m} \\ \beta_{2m} \\ . \\ . \\ . \\ \beta_{pm} \\ \end{array}\right] β1= β11β21...βp1 ,β1= β12β22...βp2 ,...,β1= β1mβ2m...βpm
7) 计算主成分:
Z i = β 1 i X 1 + β 2 i X 2 + . . . + β p i X p , i = 1 , 2 , . . . , m Z_i = \beta_{1i}X_1+\beta_{2i}X_2+...+\beta_{pi}X_p, i=1,2,...,m Zi=β1iX1+β2iX2+...+βpiXp,i=1,2,...,m

至此整个PCA算法的流程整个推理结束。在python中,主成分分析的函数位于Scikit-Learn下:

sklearn.decomppsition.PCA(n_componets=None, copy=True, whiten=False)

参数说明:

  • ( 1 ) n_components
      意义:PCA 算法中所要保留的主成分个数n,也即保留下来的特征个数n。
      类型:int或者string,缺省时默认为None,所有成分被保留。赋值为int,比如n_compo-nents=1,将把原始数据降到一个维度。赋值为string,比如n_components=‘mle’,将自动选取特征个数n,使得满足所要求的方差百分比。

  • ( 2 ) copy
      类型: bool,True或者False,缺省时默认为True。
      意义:表示是否在运行算法时,将原始训练数据复制一份。若为True,则运行PCA算法后,原始训练数据的值不会有任何改变,因为是在原始数据的副本上进行运算;若为False,则运行PCA算法后,原始训练数据的值会改,因为是在原始数据上进行降维计算。

  • ( 3 ) whiten
      类型:bool,缺省时默认为False。
      意义:白化,使得每个特征具有相同的方差。

将数据降维到一维的情况下的图片如下所示:
在这里插入图片描述

四、PCA的优缺点分析

1、PCA的优点

  降低数据维度,简化模型:PCA通过正交变换将原始的高维数据映射到低维空间,显著减少了数据的维度,从而简化了后续的数据处理和模型训练过程。这不仅可以提高计算效率,还可以减少过拟合的风险,使得模型更加稳健。

  保留数据中的主要变化模式:PCA通过最大化投影方差的方式,保留了数据中的主要变化模式。这意味着降维后的数据仍然能够反映原始数据的主要特征和结构,从而保证了信息的有效传递。

  去除噪声和冗余信息:PCA能够去除数据中的噪声和冗余信息,提高数据的信噪比。这对于提高数据分析的准确性和可靠性具有重要意义。通过去除不重要的变量和相关性较强的变量,PCA可以帮助我们更好地聚焦于关键信息。

2、PCA的缺点

  对数据的线性关系敏感:PCA是一种基于线性变换的降维方法,它假设数据之间的关系是线性的。然而,在实际情况中,数据之间可能存在复杂的非线性关系。在这种情况下,PCA可能无法有效地捕捉数据的内在结构,导致信息丢失或失真。

  可能丢失非线性结构信息:由于PCA是基于线性变换的,它可能无法有效地处理具有非线性结构的数据。当数据中存在复杂的非线性关系时,PCA可能无法准确地揭示这些关系,从而导致信息的损失。

  对缺失值和异常值敏感:PCA对数据的完整性要求较高,对缺失值和异常值较为敏感。缺失值可能导致协方差矩阵的计算不准确,从而影响PCA的结果;而异常值则可能导致主成分的选择出现偏差。因此,在使用PCA之前,通常需要对数据进行预处理,以消除缺失值和异常值的影响。

五、PCA的实际应用领域

1、图像识别与处理

  在图像识别与处理领域,PCA发挥着重要作用。由于图像数据往往维度巨大,包含大量的像素点,直接处理这类数据不仅计算量大,而且容易遭遇“维度灾难”。通过PCA,我们可以将高维的图像数据转换为低维表示,同时保留图像的主要特征。这种方法在图像压缩、去噪、特征提取等方面都有广泛应用。例如,在人脸识别系统中,PCA可以用于提取人脸的主要特征,降低识别算法的复杂度,提高识别准确率。

2、基因组学数据分析

  在基因组学研究中,PCA同样展现出了其强大的应用潜力。基因表达数据通常包含成千上万个基因的表达水平,数据维度极高。通过PCA,我们可以将这些高维数据转换为少数几个主成分,从而更好地理解基因之间的相互作用和调控关系。这有助于揭示基因与疾病、表型之间的关联,为疾病的预防和治疗提供新的思路。

3、金融市场分析

  金融市场分析中,PCA也被广泛应用。金融数据通常包含大量的股票价格、汇率、宏观经济指标等变量,这些变量之间可能存在复杂的相关性。通过PCA,我们可以将这些变量转换为少数几个主成分,从而简化分析过程,揭示金融市场的内在结构。这有助于投资者更好地理解市场走势,制定更有效的投资策略。

4、其他领域的应用举例

  除了上述领域外,PCA在其他领域也有广泛的应用。例如,在化学领域,PCA可以用于分析化学物质的组成和结构;在生物医学领域,PCA可以用于研究生物分子的相互作用和信号传导机制;在环境科学领域,PCA可以用于分析环境污染物的来源和分布等。

六、PCA的注意事项与技巧

1、选择合适的主成分数量

  选择合适的主成分数量是PCA应用中的关键步骤。主成分数量过多可能导致模型过于复杂,而过少则可能丢失重要信息。一种常用的方法是观察主成分贡献率的累积百分比,选择累积贡献率达到一定阈值(如80%)的主成分数量。此外,还可以结合业务背景和实际需求,选择具有实际意义的主成分。

2、数据预处理的重要性

  PCA对数据的质量和完整性要求较高,因此数据预处理至关重要。首先,需要对数据进行标准化处理,消除量纲和数值大小对分析结果的影响。其次,需要处理缺失值和异常值。对于缺失值,可以采用插值、删除或填充等方法进行处理;对于异常值,则需要进行检测并视情况进行处理或剔除。

3、PCA与其他机器学习方法的结合使用

  PCA作为一种特征提取和降维工具,可以与其他机器学习方法结合使用,以提高模型的性能。例如,PCA可以作为分类、聚类或回归等算法的预处理步骤,通过降低数据维度和去除噪声,提高后续算法的准确性和效率。此外,PCA还可以与深度学习、神经网络等复杂模型结合,共同解决复杂的数据分析问题。

4、零均值化

当对训练集进行 PCA 降维时,也需要对验证集、测试集执行同样的降维。而对验证集、测试集执行零均值化操作时,均值必须从训练集计算而来,不能使用验证集或者测试集的中心向量。

其原因也很简单,因为我们的训练集时可观测到的数据,测试集不可观测所以不会知道其均值,而验证集再大部分情况下是在处理完数据后再从训练集中分离出来,一般不会单独处理。如果真的是单独处理了,不能独自求均值的原因是和测试集一样。

另外我们也需要保证一致性,我们拿训练集训练出来的模型用来预测测试集的前提假设就是两者是独立同分布的,如果不能保证一致性的话,会出现 Variance Shift 的问题。

七、PCA的实现案列


主成分分析降维代码
import pandas as pd

#参数初始化
inputfile = '../data/components.xls'    #降维前的数据地址
outputfile = '../tmp/dimention.xls'     #降维后的数据地址

data = pd.read_excel(inputfile, header = None#读入数据

from sklearn.decompostion import PCA

pac = PCA()
pca.fit(data)
pca.components_   #返回模型的各个特征向量
pca.explained_variance_ratio_  #返回各个成分各自的方差百分比
pca.components_  #返回模型的各个特征向量

array( [ [-0.56788461-0.2280431 , -0.23281436-0.22427336-0.3358618 ,
          -0.43679539,-0.03861081,-0.46466998],
         [-0.64801531,-0.24732373,0.170854320.2089819 , 0.36050922,
           0.55908747,-0.00186891,-0.05910423],
         [-0.451397630.23802089,-0.17685792-0.11843804,-0.05173347,
          -0.20091919,-0.00124421, 0.80699041],
         [-0.19404741,0.9021939,-0.00730164,-0.01424541,0.03106289,
           0.12563004,0.11152105,-0.3448924 ],
         [ 0.06133747,0.03383817-0.12652433,-0.643256820.3896425 ,
           0.10681901, -0.63233277,-0.04720838],
         [-0.02579655,0.06678747,-0.12816343,0.57023937,0.577124,   
         0.10681901, -0.63233277,-0.04720838],                 
         [ 0.03800378-0.09520111,-0.15593386,-0.343003520.10681901, -0.63233277,-0.04720838],
         [ 0.10147399-0.03937889-0.91023327,0.18760016,-0.06193777,
           0.34598258,0.02090066,-0.02137393]])
pca.explained_variance_ratio_#返回各个成分各自的方差百分比(贡献率)

array([7.74011263e-01, 1.56949443e-01, 4.27594216e-02,
          2.40659228e-02, 1.50278048e-03, 4.10990447e-04,
          2.07718405e-04, 9.24594471e-05])

  从上面的结果可以得到特征方程 d e t ( R − λ E ) = 0 det(R-\lambda E)=0 det(RλE)=0有7个特征根、对应的7个单位特征向量以及各个成分各自的方差百分比(也称为贡献率)。其中,方差百分比越大,说明向量的权重越大。
  当选取前4个主成分时,累计贡献率已达到97.37%,说明选取前3个主成分进行计算已经相当不错了,因此可以重新建立PCA模型,设置n_components =3,计算出新的成分结果。

PCA算法在iris数据集上的应用案列
import numpy as np
from sklearn import decomposition,datasets
iris=datasets.load_iris()#加载数据
X=iris['data']
model=decomposition.PCA(n_components=2)
model.fit(X)
X_new=model.fit_transform(X)
Maxcomponent=model.components_
ratio=model.explained_variance_ratio_
score=model.score(X)
print('降维后的数据:',X_new)
print('返回具有最大方差的成分:',Maxcomponent)
print('保留主成分的方差贡献率:',ratio)
print('所有样本的log似然平均值:',score)
print('奇异值:',model.singular_values_)
print('噪声协方差:',model.noise_variance_)
g1=plt.figure(1,figsize=(8,6))
plt.scatter(X_new[:,0],X_new[:,1],c='r',cmap=plt.cm.Set1, edgecolor='k', s=40)
plt.xlabel('x1')
plt.ylabel('x2')
plt.title('After the dimension reduction')
plt.show()

八、总结与展望

总结PCA的核心思想与实际应用价值

  PCA作为一种强大的数据降维技术,在数据分析领域具有广泛的应用价值。其核心思想是通过线性变换将原始数据转换为低维表示,同时保留数据中的主要变化模式。通过PCA,我们可以降低数据维度、去除噪声和冗余信息,提高数据分析的效率和准确性。在实际应用中,PCA已被广泛应用于图像识别与处理、基因组学数据分析、金融市场分析等多个领域,为这些领域的发展提供了有力的支持。

展望PCA的未来发展趋势与研究方向

  随着大数据和人工智能技术的快速发展,PCA作为一种基础的数据分析工具,其重要性日益凸显。未来,PCA将在更多领域得到应用,并与更多先进的技术和方法结合,共同推动数据分析领域的发展。同时,随着数据的复杂性和多样性的增加,PCA算法本身也需要不断优化和改进,以适应新的数据分析需求。例如,可以研究如何将非线性变换引入PCA中,以更好地处理非线性数据;还可以探索如何将PCA与深度学习等先进技术结合,以提高数据分析的准确性和效率。总之,PCA作为一种经典的数据分析方法,其未来发展前景广阔,值得我们继续关注和研究。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【QGIS基于边界裁剪DEM】

文章目录 1、前言2、操作步骤 1、前言 QGIS内置的栅格裁剪工具(如Raster Clipping)操作简便,允许用户使用矢量图层作为裁剪掩膜,灵活定义裁剪区域。基于QGIS对相关数据依据边界进行裁剪,可以更好地进行数据可视化展示…

iOS - Runtime - Class-方法缓存(cache_t)

文章目录 iOS - Runtime - Class-方法缓存(cache_t)1. 散列表的存取值 iOS - Runtime - Class-方法缓存(cache_t) Class内部结构中有个方法缓存(cache_t),用散列表(哈希表)来缓存曾经调用过的方法,可以提高…

车载以太网AVB交换机 TSN交换机 时间敏感网络 6端口 百兆 SW100TSN

SW100 TSN时间敏感网络AVB交换机 为6端口百兆车载以太网交换机,其中包含5通道100BASE-T1泰科MATEnet接口和1个通道100/1000BASE-T标准以太网(RJ45接口),可以实现纳米级时间同步,车载以太网多通道交换,Bypass数据采集和监控等功能&…

深度学习中常用计算距离的几种算法对比与python实现

前言 距离度量在许多机器学习算法中扮演着至关重要的角色,无论是监督学习还是无监督学习。选择适当的距离度量可以显著影响模型的性能。 在高维数据集中,欧几里得距离可能会受到所谓的“维度诅咒”的影响,因为随着维度的增加,数…

linux在使用重定向写入文件时(使用标准C库函数时)使处理信号异常(延时)--问题分析

linux在使用重定向写入文件时(使用标准C库函数时)使处理信号异常(延时)–问题分析 在使用alarm函数进行序号处理测试的时候发现如果把输出重定向到文件里面会导致信号的处理出现严重的延迟(ubuntu18) #include <stdio.h> #include <stdlib.h> #include <unist…

API成网络攻击常见载体,如何确保API安全?

根据Imperva发布的《2024年API安全状况报告》&#xff0c;API成为网络攻击者的常见载体&#xff0c;这是因为大部分互联网流量&#xff08;71%&#xff09;都是API调用&#xff0c;API是访问敏感数据的直接途径。根据安全公司Fastly的一项调查显示&#xff0c;95%的企业在过去1…

线性数据结构----(数组,链表,栈,队列,哈希表)

线性数据结构 数组链表栈使用场景 队列应用场景 哈希表特点哈希函数&#xff0c;哈希值&#xff0c;哈希冲突键值对 Entry 开放寻址法和拉链法 参考文档 数组 数组(Array) 是一种很常见的数据结构。由相同类型的元素组成&#xff0c;并且是使用一块连续的内存来存储的。 在数组…

模板方法模式(继承的优雅使用)

目录 前言 UML plantuml 类图 实战代码 AbstractRoutingDataSource DynamicDataSource DynamicDataSourceContextHolder 前言 在设计类时&#xff0c;一般优先考虑使用组合来替代继承&#xff0c;能够让程序更加的灵活&#xff0c;但这并不意味着要完全抛弃掉继承。 …

使用Urllib库创建第一个爬虫程序

Urllib 是 Python 的标准库&#xff0c;它提供了一系列用于处理 URL 的函数和类&#xff0c;包括发送 HTTP 请求、处理 HTTP 响应、解析 URL 等功能。可以使用 urllib 来编写简单的网络爬虫。 request&#xff1a;它是最基本的HTTP请求模块&#xff0c;可以用来模拟发送请求。只…

CUDA安装 Windows版

目录 一、说明 二、安装工具下载 三、CUDA安装 四、cuDNN配置 五、验证安装是否成功 一、说明 windows10 版本安装 CUDA &#xff0c;首先需要下载两个安装包 CUDA toolkitcuDNN 官方教程 CUDA&#xff1a;https://docs.nvidia.com/cuda/cuda-installation-guide-micro…

面试题-Elasticsearch集群架构和调优手段(超全面)

对于Elasticsearch&#xff08;ES&#xff09;&#xff0c;我了解并有经验。在我之前的公司&#xff0c;我们有一个相对大型的ES集群&#xff0c;以下是该集群的架构和一些调优手段的概述&#xff1a; 1. 集群架构 集群规模&#xff1a;我们的ES集群由15个节点组成&#xff0c…

论文篇05-论文范文-论数据访问层设计技术及其应用(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

试题:论数据访问层设计技术及其应用 在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模型是将信息系统分…

MySQL之MVCC如何实现可重复读和提交读

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ &#x1f440;&#x1f440;&#x1f440; 个人博客&#xff1a;小奥的博客 &#x1f44d;&#x1f44d;&#x1f44d;&#xff1a;个人CSDN ⭐️⭐️⭐️&#xff1a;Github传送门 &#x1f379; 本人24应届生一枚&#xff0c;技术和水平有…

质量研发模型---V模型

质量研发模型&#xff08;V模型&#xff09; V模型强调软件开发的协作和速度&#xff0c;将软件实现和验证有机结合起来&#xff0c;在保证较高的软件质量情况下缩短开发周期。 通过对该模型的水平和垂直的关联和比较分析&#xff0c;理解软件开发和测试的关系&#xff0c;该模…

WebAR开发简介

WebAR 开发使企业能够以独特且高度有趣的方式向客户和员工提供信息。 它提供增强现实 (AR) 内容&#xff0c;人们在智能手机上将其视为视觉叠加。 然而&#xff0c;WebAR 可在手机的普通网络浏览器上运行&#xff0c;无需下载任何应用程序。 WebAR 的多种用途包括帮助零售和在…

AI大模型学习:引领智能时代的新篇章

AI大模型学习 随着人工智能技术的不断发展&#xff0c;大模型学习已经成为当前人工智能领域的热门话题。这项技术正在改变着我们对AI的认识和应用&#xff0c;同时也为未来的智能时代开启了新的篇章。 ### 什么是AI大模型学习&#xff1f; AI大模型学习指的是利用大规模数据…

可视化图表:柱状图,最直观的比较数据的方式。

可视化图表是一种将数据通过图形化的方式展示出来的工具&#xff0c;它可以帮助我们更直观地理解数据的分布、趋势和关系。其中&#xff0c;柱状图是最常见和常用的一种图表类型&#xff0c;它通过长方形的柱子来表示数据的大小。本文将介绍柱状图的定义和作用、数学原理、样式…

fl studio21.2中文版下载及使用基础教学

FL Studio 21.2.2是一款功能强大的音乐制作软件&#xff0c;也被广大用户称为“水果编曲”。这款软件支持简体中文和英语&#xff0c;适用于Windows 10/11&#xff08;仅限64位&#xff09;以及MacOS 10.13.6或更高版本的系统。 在FL Studio 21.2.2中&#xff0c;用户可以享受…

软考高级:软件构件与中间件技术概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

代码随想录训练营第58天 | LeetCode 739. 每日温度、​​​​​​LeetCode 496.下一个更大元素 I

目录 LeetCode 739. 每日温度 文章讲解&#xff1a;代码随想录(programmercarl.com) 视频讲解&#xff1a;单调栈&#xff0c;你该了解的&#xff0c;这里都讲了&#xff01;LeetCode:739.每日温度_哔哩哔哩_bilibili 思路 ​​​​​​LeetCode 496.下一个更大元素 I 文…