k-means和三层bp神经网络要点总结
今天要总结下常见的聚类算法k-means和预测算法三层bp神经网络,欢迎看过来。
k-means
基本思想
从n个数据对象中任意选择k个对象作为中心进行聚类。
k-means算法接受参数k,将事先输入的n个对象划分为k个聚类使得所获得的聚类满足:同一个聚类中的对象相似度较高;不同聚类中的对象相似度较小。(相似度大=距离小;相似度小=距离大)
算法流程
首先从n个数据对象任意选择k个对象作为初始聚类中心,对于剩下的其他对象,则根据它们与这些聚类中心的相似度(距离)分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。
k个聚类的特点
各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
算法优点
1.算法快速、简单。
2.对大数据集有较高的效率并且是可伸缩性的。
3.时间复杂度为O(nkt),近于线性,适合挖掘大规模数据集。
算法缺点
1.k是事先给定的,这个k值的选定是非常难以估计的。
2.在k-means算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始聚类中心进行优化。这个初始聚类中心的选择对聚类结果有较大影响,一旦初始值选择的不好,可能无法得到有效的聚类结果。
3.该算法需要不断进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。
三层BP神经网络
主要思想
输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时间时训练完成,保存网络的权值和偏差。
算法流程
主要分为以下两个阶段:
1.正向传播:
输入样本–>输入层–>隐含层–>输出层
判断是否转入反向传播阶段,若输出层的实际输出与期望值的输出不符,进入误差反传阶段。
2.误差反传:
误差以某种形式在各层表示–>根据误差对权值的偏导数来修正各层单元的权值。
当误差对权值的偏导数大于0时,权值调整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减小。
当误差对权值的偏导数小于0时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减小。
附图帮助理解: