CN108764362A - 基于神经网络的k-means聚类方法 - Google Patents

基于神经网络的k-means聚类方法 Download PDF

Info

Publication number
CN108764362A
CN108764362A CN201810570097.8A CN201810570097A CN108764362A CN 108764362 A CN108764362 A CN 108764362A CN 201810570097 A CN201810570097 A CN 201810570097A CN 108764362 A CN108764362 A CN 108764362A
Authority
CN
China
Prior art keywords
neural network
meansnet
object function
formula
data
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
Application number
CN201810570097.8A
Other languages
English (en)
Inventor
彭玺
黄振宇
朱宏远
周天异
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN201810570097.8A priority Critical patent/CN108764362A/zh
Publication of CN108764362A publication Critical patent/CN108764362A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于神经网络的k‑means聚类方法,属于神经网络领域和聚类分析技术领域,解决现有的k‑means用两个独立的步骤迭代地优化聚类中心和标签分配导致推理速度慢、不能处理新的数据、大规模数据、在线数据,及对初始值敏感的问题。本发明包括重构k‑means的目标函数,得到k‑meansNet的目标函数;基于目标函数,构建k‑meansNet神经网络模型;对得到的k‑meansNet神经网络模型中的目标函数进行优化,得到训练好的k‑meansNet神经网络。本发明用于构建等价k‑means的神经网络。

Description

基于神经网络的k-means聚类方法
技术领域
基于神经网络的k-means聚类方法,用于构建k-meansNet神经网络模型,属于神经网络领域和聚类分析技术领域。
背景技术
聚类是机器学习和计算机视觉中最基本的任务之一,其目的是将相似的模式分组到相同的类中,并将不同的模式分组到不同的类中。在过去的几十年里,研究人员已经提出了各种聚类方法,并在各种应用中取得了巨大的成功。最近,学术界的主要焦点是处理高维数据,其关键在于解决线性不可分割的问题。为了解决这个问题,最流行的方法之一是子空间聚类。
子空间聚类隐式地搜索一组低维子空间并将数据聚类到这些子空间中。典型的方法包括代数方法、迭代方法、统计方法和基于谱聚类的方法。最近,基于谱聚类的子空间聚类已经吸引了大量来自学术界的关注,其主要由表示学习和聚类两个步骤组成。更具体地说,通过表示学习将数据投影到潜在子空间中,然后通过在表示上进行k-means算法来进行聚类。
根据所使用的表示学习方法,现有的基于谱聚类的子空间聚类方法可以分为两类,即浅层方法和深层方法。简而言之,诸如稀疏子空间聚类、低秩表示、基于F2范数的方法及其变体的浅方法,将每个数据点表示为具有不同正则化的整个数据集的线性/非线性组合,然后使用表示系数建立图拉普拉斯算子以降维。显然,这两个步骤可以被视为著名的流形学习。与浅层方法不同,现有的深度聚类方法采用深度神经网络而不是流形学习来获得可分离的表示,且已在数据聚类中达到了最先进的性能。
尽管现有子空间聚类方法已经取得了成功,但它们主要关注在表示学习,而忽略了聚类方面。在深度学习的时代,由于深度神经网络在表示学习中的突出表现,因此值得在此基础上开发新的聚类算法。
传统的k-means算法的具体说明如下:
给定一个数据集X={x1,x2,…,xn},k-means目的在于将数据集X分离为k(k<n)个不同的集合S={S1.S2,…,Sk}同时减小属于一个类的数据点之间的距离。用数学形式表示,
这里Ωj是第j个类的中心,它是由所有属于Sj的数据点求均值所计算得到;即,
这里|Sj|代表第j个类的数据点数量。
为了求解方程(1),可采用了一个类似EM的优化求解——通过固定或Ω,并更新另一个。这种迭代优化算法有几个缺点。首先,该方法对初始化很敏感,对于给定不好的初始化Ω,我们可能会得到比较差的结果。事实上,为了获得稳定的解决方案,研究人员已经进行了数以万计的相关工作,其中包括流行的算法k-means++[1]。其次,无论是在欧几里德空间(m)下的二聚类问题,或者在平面中寻找一个广泛的k,都是一个NP-hard问题。为了解决该NP-hard问题,一些k-means的变体被提出,例如Fuzzy C-means(FCM)[4,11]。此外,k-means不能处理新的数据,它需要计算整个数据集。对于固定的k和m,k-means的复杂度是O(nmk+1)。综上所述,现有的传统k-means用两个独立的步骤迭代地优化聚类中心和标签分配,这导致推理速度慢并且不能处理新的数据以及对初始值敏感的问题。
发明内容
本发明的目的在于:解决传统k-means用两个独立的步骤迭代地优化聚类中心和标签分配导致推理速度慢、不能处理新的数据、大规模数据、在线数据,及对初始值敏感的问题;本发明提供了一种基于神经网络的k-means聚类方法。
本发明采用的技术方案如下:
一种基于神经网络的k-means聚类方法,其特征在于,如下步骤:
步骤1、重构k-means的目标函数,得到k-meansNet的目标函数;
步骤2、基于目标函数,构建k-meansNet神经网络模型;
步骤3、对得到的k-meansNet神经网络模型中的目标函数进行优化,得到训练好的k-meansNet神经网络。
进一步,所述步骤1的具体步骤为:
步骤11、输入聚类个数k和归一化因子α,选取k个数据点作为聚类中心点Ω,将传统的k-means目标函数重写为等价形式:
其中,重写过的式中,n为输入数据样本量,xi为第i个数据点,表示xi的类关系,Ωj为第j个类的中心点;
步骤12、根据步骤11中xi和Ωj之间的距离将定义为概率图,即Softmax函数,公式为:
式中,α>0是归一化因子;
步骤13、基于根据步骤11和步骤12得到的公式,定义权重W=2αΩ,以及归一化数据使得到k-meansNet的目标函数,具体如下:
式中,b={b1,b2…bk}T,bj一个代表向量b第j项的分量,b={b1,b2…bk}T和Wj T中T表示向量或矩阵的转置操作,Wj表示为列向量。
进一步,所述步骤2,基于目标函数,构建单层的k-meansNet神经网络模型。
进一步,所述步骤3中,采用随机梯度下降对k-meansNet神经网络模型中的目标函数进行迭代优化,得到最终的优化解W和b后,得到训练好的k-meansNet神经网络。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明重构了传统k-means的目标函数,从而构建了k-meansNet神经网络模型,可同时学习一组聚类中心和与我们的神经网络的权重和输出相对应的标签分配,可以享受快速推理和处理新数据的能力,且对于不同的初始化方法具有很强的鲁棒性;
2、本发明得到的k-meansNet神经网络模型作为一个组件与其他深度学习技术集成,可以平滑地堆叠在一起并由各种SGD优化器共同优化,也体现了是端到端学习,其中,端到端学习通常被认为是深度学习取得巨大成功的一个主要原因;
3、本发明从聚类的角度出发,将k-means算法作为具有新的目标函数重新构建了神经网络,从而克服了k-means的缺点,享受神经网络的优点,从可微编程的角度来看,这项工作从优化过程到目标函数,从递归神经网络到前馈神经网络都有了进一步的发展。由于这种差异与可微编程的初衷(作为一种语言)更加一致,因此可以向聚类和可微编程的学术界提供新的见解。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明中构建的k-means神经网络模型的结构示意图;
图2为本发明中对数据进行归一化处理后的k-means神经网络模型的示意图;
图中:x表示给定的输入,α是参数,表示x的标签分配;使用的激活函数将输入x标准化为[0,1]的范围,可采用Softmax函数进行标准化;请注意,在数据预处理部分,进行归一化处理时,如果强制使则范数运算符||·||2可以被移除,如图2所示。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
解决现有的深度学习k-means用两个独立的步骤迭代地优化聚类中心和标签分配,这导致推理速度慢并且不能处理新的数据、大规模数据和在线数据的问题,本发明一种基于神经网络的k-means聚类方法,步骤如下:
步骤1、重构k-means的目标函数,得到k-meansNet的目标函数;
步骤2、基于目标函数,构建k-meansNet神经网络模型;
步骤3、对得到的k-meansNet神经网络模型中的目标函数进行优化,得到训练好的k-meansNet神经网络。
本发明所提出的k-meansNet神经网络模型可同时学习一组聚类中心和与我们的神经网络的权重和输出相对应的标签分配。所提出的k-meansNet神经网络模型可以享受快速推理和处理新数据的能力,这源于神经网络的固有特性;此外,k-meansNet神经网络模型对于不同的初始化方法具有很强的鲁棒性。其次,将我们的k-meansNet神经网络模型作为一个组件与其他深度学习技术集成是更加可行的,因为它们可以平滑地堆叠在一起并由各种SGD优化器共同优化。请注意,端到端学习通常被认为是深度学习取得巨大成功的一个主要原因。再者,我们的方法被证明在宽松条件下单调减少损失。因这是第一个为k-means构建等价神经网络的工作。我们的工作属于可微编程(DP)领域,或在最近的文献中称为基于模型的优化领域。可微编程的关键在于把神经网络看作是一种语言,而不是一种机器学习方法。简而言之,我们可以将优化过程展开为循环神经网络(RNN),这来源于优化模型和RNN背后的数学是一个动态系统。基于算法的优化可以被转化为基于模型的优化,从而享有传统机器学习方法的高度可解释性和神经网络的良好性能。
这项工作的贡献是双重的。从聚类的角度出发,我们将k-means算法作为具有新的目标函数重新构建了神经网络,从而克服了k-means算法的缺点,享受神经网络的优点。从可微编程的角度来看,这项工作从优化过程到目标函数,从递归神经网络到前馈神经网络都有了进一步的发展。由于这种差异与可微编程的初衷(作为一种语言)更加一致,因此可以向聚类和可微编程的学术界提供新的见解。
所述步骤1的具体步骤为:
步骤11、输入聚类个数k和归一化因子α,选取k个数据点作为聚类中心点Ω,将传统的k-means目标函数重写为等价形式:
其中,重写过的式中,n为输入数据样本量,xi为第i个数据点,表示xi的类关系,Ωj为第j个类的中心点;
步骤12、根据步骤11中xi和Ωj之间的距离将定义为概率图,即Softmax函数或其他归一化函数,公式为:
式中,α>0是归一化因子;
此步骤除了可采用Softmax函数,只要能将归一化到[0.0,1.0]的范围内,也可以使用其他激活函数。值得指出的是,用Softmax函数代替k-means的硬指标并不是我们工作的关键贡献。相反,这项工作的主要创新之处在于通过以下形式(步骤13)将传统的k-means聚类算法重构为神经网络;
步骤13、基于根据步骤11和步骤12得到的公式,定义权重W=2αΩ,以及归一化数据使得到k-meansNet的目标函数,具体如下:
式中,b={b1,b2…bk}T,bj一个代表向量b第j项的分量,b={b1,b2…bk}T和Wj T中T表示向量或矩阵的转置操作,Wj表示为列向量。
步骤13这种重构形式对应图1所示的单层神经网络。应该指出的是,在后续的训练期间W和b将被解耦以获得额外的自由度。换句话说,在Ω初始化之后,W和b被独立迭代更新,并且通过恢复最终的聚类中心Ω*,其中,“*”表示最优。
作为优选,所述步骤2,基于目标函数,构建单层的k-meansNet神经网络模型。
作为优选,所述步骤3中,采用随机梯度下降对k-meansNet神经网络模型中的目标函数进行迭代优化,得到最终的优化解W和b后,得到训练好的k-meansNet神经网络,本案还可采用其它优化方式进行优化,不限于随机梯度下降。
实例例1:
我们在MNIST和CIFAR10两个数据集上对我们提出的算法进行了验证。此外,为了体现我们算法的优越性,我们比较了其他12个先进的算法:子空间聚类算法:谱聚类(SC),LRR,LSR;大规模聚类算法:Scalable LRR和large-scale spectral clustering;基于矩阵分解的聚类方法和层次聚类:NMF-LP和ZAC;以及先进的基于深度学习的聚类算法:DEC。此外,我们使用k-means和FCM作为我们的基准线。注意,LSR和LSC都有两个变体表示为LSR1,LSR2,LSC-R和LSC-K。这儿,我们提供三个标准比较算法性能:准确度(Accuracy),标准互信息(NMI)和调整兰德指数(ARI)
实验中,我们采用了一个自编码器作为特征提取器添加到我们的k-menasNet中。具体的,自编码器由一个全联接的编码器(层结构:m-500-50-2000-10),以及一个全联接的解码器组成(层结构:2000-500-500-m),其中m为输入数据的维度。除了编码器和解码器的最后一层采用Sigmoid函数,其他层我们都采用了ReLu函数作为激活函数。同时为了加速收敛,在编码器的每一层后都添加了一个0.2的dropout层。
可以看到,训练好的k-meansNet神经网络在两个数据集上都优于其他方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于神经网络的k-means聚类方法,其特征在于,如下步骤:
步骤1、重构k-means的目标函数,得到k-meansNet的目标函数;
步骤2、基于目标函数,构建k-meansNet神经网络模型;
步骤3、对得到的k-meansNet神经网络模型中的目标函数进行优化,得到训练好的k-meansNet神经网络。
2.根据权利要求1所述的一种基于神经网络的k-means聚类方法,其特征在于,所述步骤1的具体步骤为:
步骤11、输入聚类个数k和归一化因子α,选取k个数据点作为聚类中心点Ω,将传统的k-means目标函数重写为等价形式:
其中,重写过的式中,n为输入数据样本量,xi为第i个数据点,表示xi的类关系,Ωj为第j个类的中心点;
步骤12、根据步骤11中xi和Ωj之间的距离将定义为概率图,即Softmax函数,公式为:
式中,α>0是归一化因子;
步骤13、基于根据步骤11和步骤12得到的公式,定义权重W=2αΩ,以及归一化数据使得到k-meansNet的目标函数,具体如下:
式中,b={b1,b2…bk}T,bj一个代表向量b第j项的分量,b={b1,b2…bk}T和Wj T中T表示向量或矩阵的转置操作,Wj表示为列向量。
3.根据权利要求2所述的一种基于神经网络的k-means聚类方法,其特征在于:所述步骤2,基于目标函数,构建单层的k-meansNet神经网络模型。
4.根据权利要求3所述的一种基于神经网络的k-means聚类方法,其特征在于:所述步骤3中,采用随机梯度下降对k-meansNet神经网络模型中的目标函数进行迭代优化,得到最终的优化解W和b后,得到训练好的k-meansNet神经网络。
CN201810570097.8A 2018-06-05 2018-06-05 基于神经网络的k-means聚类方法 Pending CN108764362A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810570097.8A CN108764362A (zh) 2018-06-05 2018-06-05 基于神经网络的k-means聚类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810570097.8A CN108764362A (zh) 2018-06-05 2018-06-05 基于神经网络的k-means聚类方法

Publications (1)

Publication Number Publication Date
CN108764362A true CN108764362A (zh) 2018-11-06

Family

ID=63998998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810570097.8A Pending CN108764362A (zh) 2018-06-05 2018-06-05 基于神经网络的k-means聚类方法

Country Status (1)

Country Link
CN (1) CN108764362A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001438A (zh) * 2020-08-19 2020-11-27 四川大学 聚类数目自动选择的多模态数据聚类方法
CN114266911A (zh) * 2021-12-10 2022-04-01 四川大学 基于可微k-均值的嵌入式可解释图像聚类方法
CN115344693A (zh) * 2022-07-11 2022-11-15 北京容联易通信息技术有限公司 一种基于传统算法和神经网络算法融合的聚类方法
CN111476366B (zh) * 2020-03-16 2024-02-23 清华大学 深度神经网络的模型压缩方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111476366B (zh) * 2020-03-16 2024-02-23 清华大学 深度神经网络的模型压缩方法及系统
CN112001438A (zh) * 2020-08-19 2020-11-27 四川大学 聚类数目自动选择的多模态数据聚类方法
CN112001438B (zh) * 2020-08-19 2023-01-10 四川大学 聚类数目自动选择的多模态数据聚类方法
CN114266911A (zh) * 2021-12-10 2022-04-01 四川大学 基于可微k-均值的嵌入式可解释图像聚类方法
CN115344693A (zh) * 2022-07-11 2022-11-15 北京容联易通信息技术有限公司 一种基于传统算法和神经网络算法融合的聚类方法
CN115344693B (zh) * 2022-07-11 2023-05-12 北京容联易通信息技术有限公司 一种基于传统算法和神经网络算法融合的聚类方法

Similar Documents

Publication Publication Date Title
CN109189925B (zh) 基于点互信息的词向量模型和基于cnn的文本分类方法
CN108595632B (zh) 一种融合摘要与主体特征的混合神经网络文本分类方法
CN108764362A (zh) 基于神经网络的k-means聚类方法
CN103559504B (zh) 图像目标类别识别方法及装置
CN111488734A (zh) 基于全局交互和句法依赖的情感特征表示学习系统及方法
CN109902159A (zh) 一种基于自然语言处理的智能运维语句相似度匹配方法
CN111027595B (zh) 双阶段语义词向量生成方法
CN109858015B (zh) 一种基于ctw和km算法的语义相似度计算方法及装置
CN109918663A (zh) 一种语义匹配方法、装置及存储介质
WO2019168189A1 (ja) フレーズ生成関係性推定モデル学習装置、フレーズ生成装置、方法、及びプログラム
Hsu et al. Online structure learning for sum-product networks with gaussian leaves
CN109635140B (zh) 一种基于深度学习和密度峰值聚类的图像检索方法
CN106991127A (zh) 一种基于拓扑特征扩展的知识主题短文本层次分类方法
CN110533072B (zh) Web环境下基于Bigraph结构的SOAP服务相似度计算与聚类方法
CN111191466A (zh) 一种基于网络表征和语义表征的同名作者消歧方法
Kalra et al. Online structure learning for feed-forward and recurrent sum-product networks
CN110020435B (zh) 一种采用并行二进制蝙蝠算法优化文本特征选择的方法
CN110263343A (zh) 基于短语向量的关键词抽取方法及系统
CN113239199B (zh) 一种基于多方数据集的信用分类方法
Trapp et al. Structure inference in sum-product networks using infinite sum-product trees
CN112286996A (zh) 一种基于网络链接和节点属性信息的节点嵌入方法
Chang Latent variable modeling for generative concept representations and deep generative models
WO2003075187A1 (en) Apparatus and method for constructing data mining model using ensemble machines
CN116415177A (zh) 一种基于极限学习机的分类器参数辨识方法
CN112270374B (zh) 基于som聚类模型的数学表达式的聚类方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181106