CN117540068A - 基于分类算法对数据进行分类的系统及其操作方法 - Google Patents
基于分类算法对数据进行分类的系统及其操作方法 Download PDFInfo
- Publication number
- CN117540068A CN117540068A CN202310505183.1A CN202310505183A CN117540068A CN 117540068 A CN117540068 A CN 117540068A CN 202310505183 A CN202310505183 A CN 202310505183A CN 117540068 A CN117540068 A CN 117540068A
- Authority
- CN
- China
- Prior art keywords
- data
- similarity
- query
- group
- scan
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000007635 classification algorithm Methods 0.000 title description 4
- 230000004044 response Effects 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 115
- 230000006870 function Effects 0.000 claims description 46
- 230000007423 decrease Effects 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000037308 hair color Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种用于对数据进行分类的系统,该系统可以包括存储器和处理器,该处理器被配置为基于存储器中存储的数据组和从外部接收到的查询的第一相似度与具有第一相似度的最大值的数据组中包括的数据片和该查询的第二相似度的最小值之间的比较结果,确定包括从存储器中存储的数据组之中选择的数据组的扫描目标,并且输出根据扫描数据片的参考数量从扫描目标中包括的数据组中的扫描数据片之中选择的扫描数据作为响应于查询的结果数据。
Description
相关申请的交叉引用
本申请要求于2022年8月8日提交至韩国知识产权局的申请号为10-2022-0098576的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开的多种实施例总体上涉及一种系统和操作该系统的方法,并且更具体地涉及一种基于分类算法对数据进行分类的系统和操作该系统的方法。
背景技术
K最近邻(K nearest neighbor,KNN)算法是一种属于监督学习的机器学习分类算法。当输入查询时,KNN算法会选择与该查询最接近(或最相似)的K个数据片并且将所选择的数据片作为结果数据输出。对于该操作,需要扫描所有数据片和具有新数据的经扫描数据片,因此可能会出现存储器访问增加和出现瓶颈(bottleneck)的问题。需要一种解决方案来克服这样的问题。
发明内容
本公开的多种实施例涉及一种执行减少了存储器访问的数据分类操作的系统以及操作系统的方法。
本公开的实施例可以提供一种系统。该系统可以包括存储器和处理器,该处理器被配置为基于存储器中存储的数据组和从外部接收到的查询的第一相似度与具有第一相似度的最大值的数据组中包括的数据片和该查询的第二相似度的最小值之间的比较结果,确定包括从存储器中存储的数据组之中选择的数据组的扫描目标,并且输出根据扫描数据片的参考数量从扫描目标中包括的数据组中的扫描数据片之中选择的扫描数据作为响应于查询的结果数据。
本公开的实施例可以提供一种系统。该系统可以包括存储器和处理器,该处理器被配置为计算存储器中存储的多个数据组与从外部装置接收到的查询之间的各个组相似度,基于多个数据组之中的具有组相似度的最大值的参考数据组中包括的数据片与查询之间的数据相似度确定参考值,确定包括多个数据组之中的组相似度等于或大于参考值的数据组的扫描目标,并且输出根据扫描数据片的参考数量以各个扫描数据片与查询之间的数据相似度的下降的顺序从扫描目标中包括的扫描数据片之中选择的扫描数据作为响应于查询的结果数据。
本公开的实施例可以提供一种操作系统的方法。该方法可以包括存储分别与多个数据组相对应的多个组向量,从外部装置接收查询,确定多个数据组之中的与查询的查询向量和多个组向量之间的组相似度的最大值相对应的数据组,基于所确定的数据组中包括的数据片的各个数据向量与查询向量之间的数据相似度的最小值,确定多个数据组之中的目标中包括的数据组中的扫描数据片,并且基于扫描数据片的各个数据向量与查询向量之间的数据相似度,确定扫描数据片之中的响应于查询的结果数据。
附图说明
图1是示出根据本公开的实施例的系统的示图。
图2是示出根据本公开的实施例的系统的操作的示图。
图3A是示出根据本公开的实施例的计算组相似度的过程的示图。
图3B是示出根据本公开的实施例的对数据组进行分组的方法的示图。
图3C是示出根据本公开的实施例的相似函数的示图。
图4是示出根据本公开的实施例的根据组相似度确定数据组的过程的示图。
图5是示出根据本公开的实施例的计算数据相似度的过程的示图。
图6是示出根据本公开的实施例的确定数据相似度的最小值的过程的示图。
图7是示出根据本公开的实施例的确定扫描目标的过程的示图。
图8是示出根据本公开的实施例的确定结果数据的过程的示图。
图9是示出根据本公开的实施例的操作系统的方法的流程图。
具体实施方式
提供本说明书或本申请中介绍的本公开的实施例中的特定结构或功能描述作为示例来描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以多种形式实施,并且不应被解释为限于本说明书或本申请中描述的实施例。
图1是示出根据本公开的实施例的系统的示图。
参照图1,系统100可以通过网络与外部装置200通信。在实施例中,系统100可以是服务器装置,并且外部装置200可以是用户的终端装置。然而,在其他实施例中,系统100和外部装置200不限于任何特定类型或名称,并且可以被实施为同类或异类电子装置。例如,外部装置200可以被实施为智能电话、个人计算机(PC)、平板PC、电视、机顶盒、智能扬声器、游戏机等。系统100可以被实施为云服务器装置、内联网服务器装置、嵌入式服务器装置、家庭服务器装置等。在其他示例中,系统100可以被实施为智能电话、智能扬声器等。
系统100可以包括网络接口110、处理器120、存储器130和存储装置140中的至少一个。
网络接口110可以是能够根据各种类型的通信标准与外部装置200通信的装置。例如,网络接口110可以被实施为执行蓝牙通信的蓝牙模块、执行WiFi通信的WiFi模块、执行有线通信的以太网模块、通用串行总线(USB)模块、雷电模块等。
处理器120可以执行计算或控制系统100的整体操作。例如,处理器120可以被实施为中央处理单元(CPU)、加速处理单元(APU)等。
存储器130可以存储各种类型的数据。具体地,存储器130可以加载可以被处理器120更快地访问的数据,并且可以临时存储加载的数据。可选地,存储器130可以临时存储由处理器120处理的数据。存储器130例如可以被实施为动态随机存取存储器(DRAM)。然而,存储器130不限于此,并且可以以各种类型的RAM来修改和实施,诸如静态RAM(SRAM)、磁阻RAM(MRAM)、自旋转移力矩MRAM(STT-MRAM)、相变RAM(PRAM)、电阻RAM(RRAM)和铁电RAM(FeRAM)。
存储装置140可以存储各种类型的数据。具体地,存储装置140可以是即使没有供电时也可以保留所存储的数据的非易失性存储器。例如,存储装置140可以被实施为闪速存储器、硬盘驱动器(HDD)、固态驱动器(SSD)等。另一方面,存储装置140可以被实施为系统100中包含的内部存储装置,或者被实施为直接附加存储(DAS)、网络附加存储(NAS)或存储区域网络(SAN)形式的、通过网络联接到系统100的外部存储装置。
在实施例中,存储器130或存储装置140可以存储多个数据组。在实施例中,存储器130或存储装置140可以存储分别与多个数据组相对应的多个组向量。
图2是示出根据本公开的实施例的系统的操作的示图。
参照图1和图2,处理器120可以从处理器120外部接收查询。此处,查询可以是请求结果数据r_data的数据。例如,查询可以是诸如图像或字符的请求K张图像作为结果数据r_data的数据。在具体示例中,查询可以是搜索与头像最相似的K张面部图片的请求。此处,K是自然数。另一方面,以上仅为实施例中查询的示例,在其他实施例中,查询可以以多种形式来修改和实施。
在图1和图2中,网络接口110可以从外部装置200接收查询。网络接口110可以将接收到的查询传送到处理器120或存储器130。
当接收到查询时,处理器120可以将存储装置140中存储的数据加载到存储器130中。在示例中,数据可以被存储在存储器130中。此处,查询可以处于未被分类为任何一个类别的状态,并且存储器130或存储装置140中存储的数据可以处于已分类的状态。例如,数据可以被分类为一类数据,并且可以被存储在存储器130或存储装置140中,其中数据被包括在数据组中。数据可以是诸如图像、字符、语音、数值或指令等各种类型的信息。
在实施例中,不同的数据组中的每一个可以包括被分类为不同类别的数据片。例如,一个数据组可以对应于一个类别并且可以包括被分类到该类别中的数据片。也就是说,在将数据片分类到不同的类别之后,可以通过将相同类别的经分类的数据片分到组来生成数据组。另一方面,类别可以指示数据片被分类到的项目(条目)。例如,可以预先按照性别、肤色、头发颜色等定义各个类别,这些类别依次被包括在不同的数据组中。上述类别仅为示例,因此在不同的实施例中这些类别可以以多种形式来修改和实施。
处理器120可以基于查询和数据片之间的相似度确定数据片之中的结果数据r_data。此处,术语“相似度”可以指表示两个数据片彼此有多相似(或相同)的量化指标。例如,处理器120可以确定在结果数据r_data中包括具有最高相似度的K个数据片。进一步,处理器120可以将结果数据r_data存储在存储器130中。可选地,处理器120可以控制网络接口110以将结果数据r_data传输到外部装置200,其中结果数据r_data可以经由外部装置200的显示器输出。
在实施例中,处理器120可以确定扫描目标,该扫描目标是从数据组之中选择的一个或多个数据组。为此,处理器120针对每个数据组计算第一相似度和第二相似度。可以通过将数据组中的每一个和查询进行比较来获得第一相似度中的每一个。可以通过将具有第一相似度的最大值的数据组中包括的数据片中的每一个与查询进行比较来获得第二相似度中的每一个。处理器120可以从根据扫描目标中包括的扫描数据片的参考数量所选择的数据组输出扫描数据作为结果数据。
更详细地,当接收到查询时,处理器120可以计算数据组和查询之间的第一相似度。第一相似度可以是指示查询和特定数据组彼此有多相似的值。第一相似度可以被描述为组相似度。
进一步,处理器120可以计算所有数据组之中的具有第一相似度的最大值的数据组中包括的各个数据片和查询之间的第二相似度。具有第一相似度的最大值的数据组可以表示多个数据组之中的与查询最相似的数据组。可以将具有第一相似度的最大值的数据组定义为参考数据组。第二相似度可以是指示参考数据组中包括的数据片中的每一个与查询彼此有多相似的值。此处,第二相似度也可以称为数据相似度。
在实施例中,处理器120可以通过将查询的查询向量和对应数据组的组向量输入到相似函数来计算第一相似度。例如,当接收到查询时,处理器120可以从查询中提取查询向量。作为将查询向量和存储器130中存储的组向量输入到相似函数的结果,处理器120可以获得第一相似度。相似函数表示使用两个向量获得相似度的函数。组向量可以表示一个数据组中包括的数据片。
在实施例中,处理器120可以通过将分别与具有第一相似度的最大值的数据组中包括的数据片相对应的数据向量和查询向量输入到相似函数来计算第二相似度。例如,处理器120可以从具有第一相似度的最大值的数据组中包括的数据片中提取各个数据向量。然后,处理器120可以通过将数据向量和查询向量输入到相似函数来计算第二相似度。在实施例中,以与后面将描述的组向量相同的方式,所有数据片的相应数据向量可以被预先提取并被存储在存储装置140中。
查询向量、组向量和数据向量中的每一个可以是n维向量,其中n是自然数。n维向量可以包括n个值。
在实施例中,存储器130可以存储分别与数据组相对应的多个组向量。例如,可以使用K均值算法预先从各个数据组中提取组向量,并将这些组向量存储在存储装置140中。进一步,当接收到查询时,处理器120可以将存储装置140中存储的组向量加载到存储器130中。处理器120可以从接收到的查询中提取查询向量。作为将查询向量和存储器130中存储的组向量输入到相似函数的结果,处理器120可以获得第一相似度。
处理器120可以基于数据组的第一相似度与第二相似度的最小值之间的比较结果来选择所有数据组中的一些数据组。此处,第二相似度的最小值反映了查询和数据组中与查询差异最大的数据之间的相似度。也就是说,处理器120可以使用第二相似度的最小值来选择所有数据组中的一些数据组。进一步,处理器120可以确定包括所选择的数据组的扫描目标。
在实施例中,处理器120可以确定扫描目标,该扫描目标包括第一相似度等于或大于第二相似度的最小值的数据组。也就是说,第一相似度等于或大于第二相似度的最小值的数据组可以是扫描目标。
在实施例中,扫描目标不包括所有数据组之中的第一相似度小于第二相似度的最小值的数据组。也就是说,第一相似度小于第二相似度的最小值的数据组可以被排除作为扫描目标。
此外,处理器120可以根据扫描数据片的参考数量从扫描目标的扫描数据片之中选择扫描数据片。扫描数据片的参考数量可以是查询所请求的扫描数据片的数量,或者是扫描数据片的预设数量。例如,参考数量可以是K。此处,K是自然数。扫描数据可以指示扫描目标中包括的数据组中包括的数据。进一步,处理器120可以将所选择的扫描数据确定为响应于查询的结果数据r_data,并且可以输出结果数据r_data。
在实施例中,处理器120可以根据扫描数据片的参考数量从扫描目标中包括的扫描数据片之中任意地(即,随机地)选择扫描数据。
在实施例中,处理器120可以根据扫描数据片的参考数量以扫描数据片与查询之间的第三相似度下降的顺序从扫描目标中包括的扫描数据片之中选择扫描数据。第三相似度可以是指示查询和每个扫描数据片彼此有多相似的值。此处,第三相似度可以被指定为数据相似度。例如,处理器120可以以第三相似度下降的顺序从扫描数据片之中选择与扫描数据片的参考数量相对应的一定数量的扫描数据片,并且可以将所选择的扫描数据确定为结果数据r_data。
处理器120可以控制网络接口110以将结果数据r_data传输到外部装置200。可选地,处理器120可以将结果数据r_data输出到存储器130,以便结果数据r_data被存储在存储器130中。
根据本公开的实施例,处理器120可以通过使用第一相似度和第二相似度来扫描存储器130中存储的部分数据而不是所有数据来确定准确的结果数据r_data,同时减少存储器访问。这样,系统100可以执行在减少存储器访问的同时保持数据分类准确性的数据分类操作。
图3A是示出根据本公开的实施例的计算组相似度的过程的示图。组相似度指的是上述第一相似度。
参照图3A,处理器120可以计算多个数据组G1至G3与查询之间的组相似度sg_1至sg_3。
例如,多个数据组G1至G3可以包括分别被分类为相应类别的数据片d_11至d_13、d_21至d_23和d_31至d_33。例如,第一数据组G1可以包括被分类为第一类数据的数据片d_11至d_13。第二数据组G2可以包括被分类为第二类数据的数据片d_21至d_23。第三数据组G3可以包括被分类为第三类数据的数据片d_31至d_33。稍后将参照图3B详细描述对未分类的数据片进行分类然后将已分类的数据分组为数据组的过程。
处理器120可以分别从多个数据组G1至G3中提取对应的组向量gv_1至gv_3。处理器120可以将所提取的组向量gv_1至gv_3存储在存储器130或存储装置140中。此后,当接收到查询时,处理器120可以从查询中提取查询向量。
处理器120可以通过将多个组向量gv_1至gv_3和查询向量qv输入到相似函数来计算组相似度。例如,处理器120可以通过将第一组向量gv_1和查询向量qv输入到相似函数来计算第一组相似度sg_1。处理器120可以通过将第二组向量gv_2和查询向量qv输入到相似函数来计算第二组相似度sg_2。处理器120可以通过将第三组向量gv_3和查询向量qv输入到相似函数来计算第三组相似度sg_3。稍后将参照图3C详细描述相似函数。
图3B是示出根据本公开的实施例的对数据组进行分组的方法的示图。
在图3B中,(1)至(6)显示了使用聚类算法对数据组进行分组的顺序。聚类算法可以对应于机器学习算法之中的无监督学习,并且可以将数据片分组到各个簇中,并使用用于搜索簇的方案对数据进行分类,使得同一簇中的元素变得彼此相似且属于不同簇的元素变得彼此不同。
参照图3B中的(1),处理器120可以将未分类的数据片布置在与向量空间中的数据向量相对应的位置。
参照图3B中的(2),处理器120可以将K个质心(centroid)321和322布置在向量空间中的任意位置。此处,K是自然数。K可以等于数据组G1和G2的数量。下面,基于K为2的假设进行说明。
参照图3B中的(3),处理器120可以将未分类的数据片的各个位置与两个质心331和332中的每一个的位置进行比较,然后可以将未分类的数据片中的每一个分配到两个质心331和332中更接近的一个。例如,更靠近第一质心331的数据片可以被分配到第一质心331,并且可以被分类为与第一质心331相对应的第一数据组G1。更靠近第二质心332的数据片可以被分配到第二质心332,并且可以被分类为与第二质心332相对应的第二数据组G2。
处理器120可以基于分别被分配到两个质心331和332的数据片来重新布置质心331和332的位置。例如,第一质心331的位置可以重新布置在被分配到第一质心331的数据片(即,分类为第一数据组G1的数据片)的中心位置。第二质心332的位置也可以使用与第一质心331相同的方式重新布置。在图3B中,(4)示出重新布置的质心341和342。也就是说,可以将质心331和332各自的位置更新为质心341和342。
参照图3B中的(5),处理器120可以将数据片中的每一个分配到多个重新布置的质心351和352中更靠近的一个。通过将被分配的数据的位置与多个质心351和352中的每一个的位置进行比较,可以将被分配的数据片重新分配到多个质心351和352中更靠近的一个。也就是说,可以对被分类为第一数据组G1和第二数据组G2的数据片重新分类。
处理器120可以再一次基于分别被分配到两个质心351和352的数据片来重新布置多个质心351和352的位置。
例如,如图3B中的(6)所示,可以重新布置质心361和362的位置。进一步,可以将数据片中的每一个分配到多个重新布置的质心361和362中更靠近的一个。可以重复执行该操作,直到质心361和362的位置不再改变。
而且,处理器120可以将分配到最终确定的一个质心361或362的数据片分组到任一数据组G1或G2中。这样,一个数据组G1或G2可以包括数据向量的位置彼此相邻的数据片。而且,可以将与一个数据组G1或G2的质心361或362相对应的向量确定为组向量。例如,第一数据组G1的组向量可以是与第一质心361相对应的向量。类似地,第二数据组G2的组向量可以是与第二质心362相对应的向量。
图3C是示出根据本公开的实施例的相似函数的示图。
参照图3C中的(1),A和B表示n维向量。此处,n是自然数。n维向量可以包括n个值。例如,每个维度(或元素)可以表示预定义的特征,诸如眼睛、鼻子或眉毛,并且每个值可以表示大小、形状、颜色等。然而,这只是实施例,因此被分配到向量维度的特征可以以各种形式修改和实施。另一方面,A可以是查询向量,并且B可以是组向量或数据向量。
在实施例中,相似函数可以是欧氏距离函数和余弦相似函数中的一个。
参照图3C中的(2-1),相似函数可以是余弦相似函数cos(θ)。余弦相似函数cos(θ)可以表示使用两个向量之间的余弦角来计算相似度的函数。作为将A和B输入余弦相似函数cos(θ)的结果,可以计算相似度。此处,相似度可以是标量值。
参照图3C中的(2-2),相似函数可以是欧氏距离函数||A-B||。欧氏距离函数||A-B||可以是使用空间中两点之间的距离来计算相似度的函数。作为将A和B输入欧氏距离函数||A-B||的结果,可以计算相似度。此处,相似度可以是标量值。
上述实施例仅用于说明,在其他实施例中,相似函数可以修改为诸如杰卡德距离(Jaccard Distance)、马氏距离(Mahalanobis Distance)、汉明距离(Hamming Distance)、曼哈坦距离(Manhattan Distance)和明考斯基距离(Minkowski Distance)函数的各种函数中的任意一种。
图4是示出根据本公开的实施例的根据组相似度确定数据组的过程的示图。
参照图4,处理器120可以将多个数据组G1至G3之中的具有组相似度sg_1至sg_3的最大值的数据组确定为参考数据组410。因此,与查询最相似的数据组可以被指定为参考数据组410,并且处理器120优先扫描参考数据组410中包括的所有数据片。
例如,第一表400示出处理器120计算查询与各个数据组G1至G3之间的组相似度sg_1至sg_3的结果。此处,假设第一组相似度sg_1最高,第三组相似度sg_3次之,并且第二组相似度sg_2最低。
在这个示例中,处理器120可以根据组相似度sg_1至sg_3的相对大小来为各个组相似度sg_1至sg_3分配排名或者排列组相似度sg_1至sg_3。处理器120可以确定第一数据组G1具有组相似度sg_1至sg_3中的最大值,即第一组相似度sg_1,因此根据这种排名或排列,第一数据组G1将是参考数据组410。
在下文中,将基于参考数据组410是第一数据组G1的假设进行说明。
图5是示出根据本公开的实施例的计算数据相似度的过程的示图。
参照图5,处理器120可以计算数据组G1至G3之中的具有组相似度的最大值的第一数据组G1中包括的数据片d_11至d_13与查询之间的数据相似度sd_11至sd_13。此处,可以选择第一数据组G1作为参考数据组410。
处理器120可以计算第一数据组G1中包括的数据片d_11至d_13的各个数据向量dv_11至dv_13与查询的查询向量qv之间的数据相似度sd_11至sd_13。可以从第一数据组G1中包括的各个数据片d_11至d_13中提取数据向量dv_11至dv_13。可以从查询中提取查询向量qv。另一方面,作为用于从查询或数据中提取向量的方案,可以使用诸如卷积神经网络(CNN)或梅尔频率倒谱系数(MFCC)算法的各种算法。
处理器120可以通过将数据向量dv_11至dv_13和查询向量qv输入到相似函数来计算数据相似度sd_11至sd_13。例如,处理器120可以使用第一数据向量dv_11和查询向量qv作为相似函数的参数来计算相似函数,并且可以获得作为相似函数的计算结果的第一数据相似度sd_11。类似地,处理器120可以获得第二数据相似度sd_12与第三数据相似度sd_13。由于关于相似函数的描述与图3C及其相关部分的描述重复,因此将省略对其的详细描述。
图6是示出根据本公开的实施例的确定数据相似度的最小值的过程的示图。
参照图6,处理器120可以确定第一数据组G1中包括的各个数据片d_11至d_13的数据相似度sd_11至sd_13的最小值为参考值610。此处,第一数据组G1可以是多个数据组G1至G3之中的具有组相似度的最大值的数据组。此处,参考值610表示查询和与该查询最相似的数据组中与该查询最不同的数据片之间的相似度,并且是作为确定是否扫描其他数据组的标准的值。
在示例中,假设第二数据相似度sd_12最高,第三数据相似度sd_13次之,并且第一组相似度sd_11最低。
处理器120可以根据第一数据组G1中包括的各个数据片d_11至d_13的数据相似度sd_11至sd_13的相对大小来向各个数据相似度sd_11至sd_13分配排名或者排列数据相似度sd_11至sd_13。例如,如第二表600所示,反映查询与各个数据片d_11至d_13之间的相似度的数据相似度sd_11至sd_13可以由处理器120计算,并且可以显示向数据相似度分配排名的结果。
处理器120可以根据排名或排列将作为数据相似度sd_11至sd_13之中的最小值的第一数据相似度sd_11确定为参考值610。在下文中,假设参考值610为第一数据相似度sd_11来进行说明。
图7是示出根据本公开的实施例的确定扫描目标的过程的示图。
参照图7,处理器120可以确定包括多个数据组G1至G3之中的组相似度等于或大于参考值sd_min的数据组的扫描目标。
例如,处理器120可以将数据组G2和G3的组相似度sg_2和sg_3的大小与参考值sd_min的大小进行比较。数据组G2和G3可以是多个数据组G1至G3之中的除了参考数据组之外的剩余数据组。参考数据组可以是具有组相似度sg_1至sg_3的最大值的第一数据组G1。参考值sd_min可以是第一数据组G1中包括的数据片d_11至d_13的数据相似度sd_11至sd_13的最小值。
在实施例中,处理器120可以确定扫描目标,该扫描目标排除了组相似度小于参考值sd_min的数据组710。例如,处理器120可以从扫描目标的选择中排除具有小于参考值sd_min的第二组相似度sg_2的第二数据组G2。
在实施例中,处理器120可以确定扫描目标,该扫描目标包括组相似度等于或大于参考值sd_min的数据组720。例如,处理器120可以允许具有等于或大于参考值sd_min的第三组相似度sg_3的第三数据组G3被包括在扫描目标中。
在实施例中,处理器120可以允许被确定为参考数据组的第一数据组G1被包括在扫描目标中。此处,第一数据组G1中包括的数据片d_11至d_13与查询之间的数据相似度sd_11至sd_13可以被预先计算和存储在存储器130中。例如,图4的第一表400可以被存储在存储器130中。
在图7中,如第三表700所示,可以从扫描目标中排除第二数据组G2,并且第三数据组G3可以被包括在扫描目标中。处理器120可以计算第三数据组G3中包括的各个数据片d_31至d_33与查询之间的数据相似度。例如,如上面参照图5所述,处理器120可以通过将数据片d_31至d_33的各个数据向量和查询向量qv输入到相似函数来计算数据相似度。而且,处理器120可以通过将先前计算的第一数据组G1中的数据片d_11至d_13和查询之间的数据相似度sd_11至sd_13与第三数据组G3中的数据片d_31至d_33和查询之间的数据相似度进行比较来确定结果数据r_data。下面将参照图8对其进行详细描述。
图8是示出根据本公开的实施例的确定结果数据的过程的示图。
参照图8,处理器120可以将扫描目标中包括的第一数据组G1中包括的数据片d_11至d_13的数据相似度sd_11至sd_13和扫描目标中包括的第三数据组G3中包括的数据片d_31至d_33的数据相似度sd_31至sd_33的大小彼此进行比较。另一方面,可以将扫描目标中包括的数据片的数据相似度sd_11至sd_13和sd_31至sd_33指定为第三相似度。
处理器120可以根据数据相似度sd_11至sd_13和sd_31至sd_33的相对大小来向数据相似度sd_11至sd_13和sd_31至sd_33分配排名或者排列数据相似度sd_11至sd_13和sd_31至sd_33。此处,可以指示排列结果,如第四表800中所示。
进一步,处理器120可以以数据相似度sd_11至sd_13和sd_31至sd_33下降的顺序(即,排名下降的顺序)从扫描目标中包括的数据片d_11至d_13和d_31至d_33之中选择数据片。数据片的参考数量可以是查询所请求的数据片的数量,或者是数据片的预设数量。例如,参考数量可以是3。
处理器120可以以数据相似度下降的顺序选择三个数据片d_12、d_13和d_31,并且可以将所选择的数据片确定为结果数据810。处理器120可以将结果数据810输出到存储器130或网络接口110。
图9是示出根据本公开的实施例的操作系统的方法的流程图。
参照图9,操作系统100的方法可以包括在步骤S910存储分别与多个数据组相对应的多个组向量,在步骤S920从外部装置200接收查询,在步骤S930确定多个数据组之中的与查询的查询向量和多个组向量之间的组相似度的最大值相对应的数据组,在步骤S940基于所确定的数据组中包括的各个数据片的数据向量和查询向量之间的数据相似度的最小值,确定多个数据组之中的扫描目标中包括的数据组中的扫描数据片,并且在步骤S950基于各个扫描数据片的数据向量和查询向量之间的数据相似度,确定扫描数据片之中的响应于查询的结果数据。
在步骤S910可以存储分别与多个数据组相对应的多个组向量。每个数据组可以包括与类别相对应的数据片。组向量可以是表示相应的数据组或数据组中包括的数据片的向量。
进一步,在步骤S920可以从外部装置200接收查询。该查询可以是指示用户请求的数据。
在步骤S930,可以确定多个数据组之中的与查询的查询向量和多个组向量之间的组相似度的最大值相对应的数据组。可以通过将查询转换为向量来获得查询向量。
在步骤S940中,可以基于所确定的数据组中包括的各个数据片的数据向量与查询向量之间的数据相似度的最小值,确定扫描目标中包括的数据组中的扫描数据片。
在实施例中,确定扫描数据片的步骤S940可以包括确定包括多个数据组之中的组相似度等于或大于最小值的数据组的扫描目标。
在实施例中,确定扫描数据片的步骤S940可以包括确定排除多个数据组之中的组相似度小于最小值的数据组的扫描目标。
而且,在步骤S950,基于各个扫描数据片的数据向量与查询向量之间的数据相似度,可以在扫描数据片之中确定响应于查询的结果数据。
在实施例中,确定结果数据的步骤S950可以包括确定根据扫描数据片的参考数量以各个扫描数据片的数据向量与查询向量之间的数据相似度下降的顺序从扫描数据片之中选择的结果数据。
在实施例中,操作系统100的方法可以进一步包括在步骤S950确定结果数据之后,将结果数据传输到外部装置200或者将结果数据存储在存储器130中。
在实施例中,操作系统100的方法可以进一步包括,在步骤S910存储多个组向量之前,将存储器130中存储的数据片分组成多个数据组。
在具体的实施例中,多个质心可以布置在向量空间中的任意位置,并且数据片可以布置在与各个数据向量相对应的位置。进一步,可以将数据片中的每一个分配到多个质心中更靠近的一个。
而且,基于分配到多个质心的各个数据片,可以重新布置多个质心的位置。也就是说,质心的位置可以更新到其他位置。例如,可以将质心的位置重新布置在分配了相应质心的数据片的中心位置。进一步,可以将数据片中的每一个分配到多个重新布置的质心中更靠近的一个。另一方面,可以重复执行重新布置多个质心的步骤和将每个数据片分配到更靠近的质心的步骤,直到重新布置引起的质心的位置不再变化。
此外,可以将分配到一个质心的数据片分组到多个数据组之中的一个数据组中。
根据本公开的实施例,可以提供一种用于执行减少存储器访问的数据分类操作的系统以及操作系统的方法。
Claims (20)
1.一种系统,包括:
存储器;以及
处理器:
基于所述存储器中存储的数据组和从外部接收到的查询的第一相似度与具有所述第一相似度的最大值的数据组中包括的数据片和所述查询的第二相似度的最小值之间的比较结果,确定包括从所述存储器中存储的数据组之中选择的数据组的扫描目标,并且
输出根据扫描数据片的参考数量从所述扫描目标中包括的数据组中的扫描数据片之中选择的扫描数据作为响应于所述查询的结果数据。
2.根据权利要求1所述的系统,其中:
所述存储器存储分别与数据组相对应的组向量,并且
所述处理器通过在接收到所述查询时将与所述查询相对应的查询向量以及各个组向量输入到相似函数来计算所述第一相似度。
3.根据权利要求2所述的系统,其中所述相似函数包括欧氏距离函数和余弦相似函数中的一种。
4.根据权利要求3所述的系统,其中所述处理器通过将与具有所述第一相似度的最大值的数据组中包括的数据片相对应的各个数据向量以及所述查询向量输入到所述相似函数来计算所述第二相似度。
5.根据权利要求1所述的系统,其中所述处理器基于所述比较结果确定包括所述数据组之中的第一相似度等于或大于所述第二相似度的最小值的数据组的所述扫描目标。
6.根据权利要求1所述的系统,其中所述处理器基于所述比较结果,确定排除所述数据组之中的所述第一相似度小于所述第二相似度的最小值的数据组的所述扫描目标。
7.根据权利要求1所述的系统,进一步包括网络接口,
其中所述处理器控制所述网络接口使得根据扫描数据片的参考数量以各个扫描数据片与所述查询之间的第三相似度下降的顺序从扫描数据片之中选择的扫描数据被传输到外部装置。
8.根据权利要求1所述的系统,其中所述数据组中的每一个包括被分类为相应类别的数据片。
9.一种系统,包括:
存储器;以及
处理器:
计算所述存储器中存储的多个数据组与从外部装置接收的查询之间的各个组相似度,
基于所述多个数据组之中的具有所述组相似度的最大值的参考数据组中包括的数据片与所述查询之间的数据相似度来确定参考值,
确定包括所述多个数据组之中的所述组相似度等于或大于所述参考值的数据组的扫描目标,并且
输出根据扫描数据片的参考数量以各个扫描数据片与所述查询之间的数据相似度下降的顺序从所述扫描目标中包括的扫描数据片之中选择的扫描数据作为响应所述查询的结果数据。
10.根据权利要求9所述的系统,其中所述处理器:
通过将分别与所述多个数据组相对应的多个组向量和与所述查询相对应的查询向量输入到相似函数来计算所述组相似度,并且
通过将具有所述组相似度的最大值的数据组中包括的数据片的各个数据向量和所述查询向量输入到所述相似函数来计算所述数据相似度。
11.根据权利要求10所述的系统,其中所述相似函数包括欧氏距离函数和余弦相似函数中的一种。
12.根据权利要求9所述的系统,其中所述处理器确定排除所述多个数据组之中的所述组相似度小于所述参考值的数据组的所述扫描目标。
13.根据权利要求9所述的系统,进一步包括:
存储装置,存储所述多个数据组,
其中所述处理器在接收到所述查询时将所述存储装置中存储的所述多个数据组加载到所述存储器中。
14.一种操作系统的方法,包括:
存储分别与多个数据组相对应的多个组向量;
从外部装置接收查询;
确定所述多个数据组之中的与所述查询的查询向量和所述多个组向量之间的组相似度的最大值相对应的数据组;
基于所确定的数据组中包括的数据片的各个数据向量与所述查询向量之间的数据相似度的最小值,确定所述多个数据组之中的扫描目标中包括的数据组中的扫描数据片;并且
基于所述扫描数据片的各个数据向量与所述查询向量之间的数据相似度,确定所述扫描数据片之中的响应于所述查询的结果数据。
15.根据权利要求14所述的方法,其中确定所述扫描数据片包括:
确定包括所述多个数据组之中的组相似度等于或大于所述最小值的数据组的所述扫描目标。
16.根据权利要求14所述的方法,其中确定所述扫描数据片包括:
确定排除所述多个数据组之中的组相似度小于所述小值的数据组的所述扫描目标。
17.根据权利要求14所述的方法,其中确定所述结果数据包括:
确定根据扫描数据片的参考数量以所述扫描数据片的各个数据向量与所述查询向量之间的数据相似度下降的顺序从所述扫描数据片之中选择的所述结果数据。
18.根据权利要求14所述的方法,进一步包括:
将存储器中存储的各个数据片分组到所述多个数据组中。
19.根据权利要求18所述的方法,其中所述分组包括:
将多个质心布置在向量空间的任意位置,并且将数据片布置在分别与所述数据向量相对应的位置;
将所述数据片分配到所述多个质心中更靠近的一个;
基于分配到所述多个质心中的每一个的数据片重新布置所述多个质心的位置;
将所述数据片中的每一个分配到多个重新布置的质心中更靠近的一个;并且
将分配到一个质心的数据片分组到所述多个数据组中的一个中。
20.根据权利要求14所述的方法,进一步包括:
将所述结果数据传输到所述外部装置或将所述结果数据存储在存储器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220098576A KR20240020482A (ko) | 2022-08-08 | 2022-08-08 | 시스템 및 그의 동작 방법 |
KR10-2022-0098576 | 2022-08-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117540068A true CN117540068A (zh) | 2024-02-09 |
Family
ID=89769165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310505183.1A Pending CN117540068A (zh) | 2022-08-08 | 2023-05-08 | 基于分类算法对数据进行分类的系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240045861A1 (zh) |
KR (1) | KR20240020482A (zh) |
CN (1) | CN117540068A (zh) |
-
2022
- 2022-08-08 KR KR1020220098576A patent/KR20240020482A/ko unknown
-
2023
- 2023-02-13 US US18/168,045 patent/US20240045861A1/en active Pending
- 2023-05-08 CN CN202310505183.1A patent/CN117540068A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240045861A1 (en) | 2024-02-08 |
KR20240020482A (ko) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102449191B1 (ko) | 이더넷 솔리드 스테이트 드라이브에서 데이터 패턴 매칭 및 기계 학습 알고리즘들을 지원하는 장치 및 방법 | |
US11170261B2 (en) | Global visual vocabulary, systems and methods | |
US9454580B2 (en) | Recommendation system with metric transformation | |
US9280560B1 (en) | Scalable image matching | |
US9747305B2 (en) | Image search device, image search method, program, and computer-readable storage medium | |
US11216459B2 (en) | Multi-layer semantic search | |
US9940366B2 (en) | Image search device, image search method, program, and computer-readable storage medium | |
US11449484B2 (en) | Data indexing and searching using permutation indexes | |
CN112329660B (zh) | 一种场景识别方法、装置、智能设备及存储介质 | |
US11176693B1 (en) | Rapid point cloud alignment and classification with basis set learning | |
CN116612324A (zh) | 基于语义自适应融合机制的小样本图像分类方法及装置 | |
KR101435010B1 (ko) | 다수의 특징을 이용한 순차적 바이너리 코드 학습 방법 및 학습 장치 | |
Li et al. | EMOD: an efficient on-device mobile visual search system | |
CN112069337A (zh) | 图片处理方法、装置、电子设备及存储介质 | |
US11361003B2 (en) | Data clustering and visualization with determined group number | |
CN117540068A (zh) | 基于分类算法对数据进行分类的系统及其操作方法 | |
Elleuch et al. | Multi-index structure based on SIFT and color features for large scale image retrieval | |
US11663816B2 (en) | Apparatus and method for classifying attribute of image object | |
WO2020237511A1 (zh) | 相似性搜索方法、装置、服务器及存储介质 | |
EP4100847A1 (en) | Cross-example softmax and/or cross-example negative mining | |
JP6322660B2 (ja) | 情報処理装置、情報処理システムおよび情報処理方法 | |
CN116682104A (zh) | 任意姿态的三维点云对象的识别检索方法及装置 | |
CN117390013A (zh) | 数据存储方法、检索方法、系统、设备及存储介质 | |
CN110647643A (zh) | 特征向量的聚类方法、检索方法、装置及存储介质 | |
Chang | Web-Scale Multimedia Data Management: Challenges and Remedies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |