聚类算法,当前的应用主要集中在数据挖掘、机器学习、模式识别、生物医学、以及市场营销方面。在动力电池行业,有人研究,将聚类算法应用于电芯分选领域。针对电池的容量、电压、内阻、自放电等静态参数和稳定充放电及脉冲充放电的动态过程,利用聚类算法,将特性相近的电芯分选到一个组内,以便后续在一个电池包内使用。良好的电芯一致性,是最大化电池包性能,延长电池包寿命的关键技术。
1聚类算法原理
聚类算法,概念比较明确,就是按照某个特定的标准设法把数据集划分成若干个部分,理想的划分方法,使得每个数据组内部,共同点尽量多,而不同的数据组之间,共同点尽量少,分的清楚就是好的划分。不同领域不同场景,适合的划分方法不尽相同。
2聚类算法分类
聚类的方法种类繁多,不同的数据类型,不同的处理目的,适用的聚类算法也不同。聚类方法的总体划分,可以分成硬聚类和软聚类两大方向。硬聚类是指,按照经典数学的理念,把一个数据划分到一个数据簇中。聚类结果体现为,每个数据都从属于一个数据簇。软聚类则是比较新的方法,基于模糊逻辑,将聚类的结果描述为,一个数据多大程度上属于一个数据簇,同时,又多大程度上属于另外一个数据簇。
硬聚类包含的聚类方法比较多,有层次聚类,分割聚类,密度聚类等,每个方法应用到具体案例场景,还产生了很多细分方法。软聚类主要指模糊聚类。
2.1层次聚类
层次聚类按照数据处理的顺序,可以划分成自顶向下和自底向上两个方向,自顶向下的叫分类聚类,自底向上的叫凝聚聚类。由于很难做出正确的划分,分列聚类很少被用到。
凝聚聚类,先将每一个数据看做一个簇,再根据不同簇之间的共同点,合并同类项,逐渐获得更大的簇,直到簇与簇之间再无共同点为止。纯粹的层次聚类,一旦完成合并,则同级不同簇之间的元素无法再流动,聚类结果往往不理想,因此,层次聚类一般都会与其他方法联合使用。
细分领域的层次聚类方法主要有BIRCH,CURE,ROCK,CHAMELEON,AMOEBA,COBWEB,ClusteringwithRandom,Walks算法等。
2.2分割聚类
K-均值聚类法
将数据集人为的划分成K个簇,从划分后的结果开始优化。选取每个簇内接近中心的数据为聚类中心,通过优化各个数据到到中心的距离(使得总体距离最短)或者其他参数,达到分类目的。数据的初始划分方式,对聚类结果影响很大。K均值聚类方法,擅长处理凸数据空间内问题,无法处理非凸空间内问题。
密度聚类
密度聚类,同样是分割聚类类型下的一种,当K-均值聚类遇到数据密度变化较大,空间形状不规范情形而无法处理时,可以应用密度方法。密度方法,设计数据簇的中心点在数据密度最大的地方,簇内数据到中心的距离设定一个临界值,超过临界值,则不再属于这个簇。
细分领域的分割聚类算法有k-means,EM,k-medoids,CLARA,CLARANS等。常见的k-medoids算法有PAM算法、CLARA算法、CLARANS算法。
2.3模糊C-均值聚类
模糊C算法的诞生,最初是针对图像分割问题设计的。FCM解决了受到噪声影响的像素点无法判断归属于哪个图形的问题。模糊C均值聚类,把聚类问题转化成一个耗费函数优化问题,算法的思想是寻求恰当的隶属度函数和聚类中心,优化目标是使得图形内部耗散函数的方差最小,迭代误差最小。隶属度函数所描述的像素对图形的关系是在多大程度上属于数据簇A,同时在多大程度上属于数据簇B。FCM并不需要训练数据集而可以直接应用于数据分类。
3聚类算法在锂电池一致性分选中的应用实例
文献作者王佳元,在其论文《电动汽车动力电池分选方法研究》中介绍了一种利用密度聚类分选锂电池的方法。分选的数据不是实际生产采集的数据,而是等效电路仿真得来的数据,实际效果可能需要进一步检验,但并不妨碍方法的阐述。
聚类数据集的获得。作者根据以往行业前辈的研究经验,选择了下图所示的锂电池等效电路模型。电流电压数据的取得:电压、电流等测量参数,采用输入设计激励,按照趋势变化剧烈阶段增加采样密度,趋势变化平缓阶段减小采样密度的原则,收集采样数据。容量数据的取得:利用实际生产中采集的数据,验证电芯参数分布规律满足威尔分布,并将此规律应用于生成仿真容量输入数据。
从一段时间内模型参数不会发生变化的假设出发,暂时搁置模型参数变化对分选结果的影响。
作者选用密度聚类作为具体计算方法,属于无监督算法的一种。密度聚类,不需要事先设定聚类结果的数量,而是在实际计算过程中,不断调整聚类区域半径,可以很好的与锂电池特性概率分布特征相适应。
数据集中的每个点,都可能成为聚类中心。以任意一个数据点为圆心,选择一个固定值为半径,计算半径范围以内的数据密度。把密度最高的区域作为第一个聚类分选结果。重复前面的过程,找到第二个直至第n个聚类中心。循环的终止条件,当某个聚类中心区域内的密度值与第一个区域的密度值之差大于某个设定值以后,运算过程结束。聚类区域密度的评价方式,用区域内点与中心的距离,减去整个数据组均值。
把电池单体特征点的电压与整组电池电压均值之间的欧式距离作为聚类目标,运用聚类方法,电芯形成围绕一个中心的几个圈层。每个圈层就是一个电芯的类。分选结果可以直接作为电池分类结果使用。