聚类——KFCM
聚类——认识KFCM算法
作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/
一、KFCM概述
KFCM:基于核的改进的模糊c均值聚类算法。它是通过核函数将原始空间中的点映射到特征空间中,考虑到原始空间中的点无法用一个线性函数进行划分,于是将其变换到一个更高维度的空间中,可以在这个高维空间中找到一个线性函数,容易对原始数据进行划分。这个高维空间就叫特征空间。从低维到高维空间的映射函数的内积就叫核函数。将核函数引入机器学习的一个重要原因是:当特征空间维数很高而核函数计算量较之特征空间内的内积运算计算量相对很小时,这样做可以提高计算效率。
基于目标函数的FCM聚类算法存在两大缺陷:一方面,隶属度和为1的约束条件易造成它对对孤立点和噪声敏感;另一方面它本身是一种迭代下降的算法,使得它初始聚类中心敏感且不易收敛于全局最优。KFCM算法提高了聚类性能,使算法对噪声和孤立点具有较好的鲁棒性。
核函数的定义如下:



通过核函数改变模糊c均值聚类算法中的距离函数,定义如下目标函数:



利用拉格朗日的极值必要条件,推出U ,V的迭代式如下:

二、算法的步骤

这种方法通过核函数形成一种映射关系,将原始空间中的点转换到特征空间进行计算与分析,最后得到原始空间的最优划分。将上述基于核的模糊C均值聚类算法记为KFCM。
聚类——KFCM的更多相关文章
- 聚类——KFCM的matlab程序
聚类——KFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——KFCM文章中已介绍了KFCM-F算法的理论知识,现在用m ...
- KFCM算法的matlab程序(用FCM初始化聚类中心)
KFCM算法的matlab程序(用FCM初始化聚类中心) 在“聚类——KFCM”这篇文章中已经介绍了KFCM算法,现在用matlab程序对iris数据库进行实现,用FCM初始化聚类中心,并求其准确度与 ...
- 聚类——GAKFCM
聚类——GAKFCM 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 参考文献:黄白梅. 基于GA优化的核模糊C均值聚类算法的研究[D]. 武汉科技大学 ...
- KFCM算法的matlab程序
KFCM算法的matlab程序 在“聚类——KFCM”这篇文章中已经介绍了KFCM算法,现在用matlab程序对iris数据库进行简单的实现,并求其准确度. 作者:凯鲁嘎吉 - 博客园 http:// ...
- 基于核方法的模糊C均值聚类
摘要: 本文主要针对于FCM算法在很大程度上局限于处理球星星团数据的不足,引入了核方法对算法进行优化. 与许多聚类算法一样,FCM选择欧氏距离作为样本点与相应聚类中心之间的非相似性指标,致使算法趋向 ...
- 聚类——GAKFCM的matlab程序
聚类——GAKFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——GAKFCM文章中已介绍了GAKFCM算法的理论知识, ...
- 聚类——WKFCM的matlab程序
聚类——WKFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——WKFCM文章中已介绍了WKFCM算法的理论知识,现在用 ...
- 聚类——WKFCM
聚类——认识WKFCM算法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 参考文献:Shen H, Yang J, Wang S, et al. At ...
- 用scikit-learn学习谱聚类
在谱聚类(spectral clustering)原理总结中,我们对谱聚类的原理做了总结.这里我们就对scikit-learn中谱聚类的使用做一个总结. 1. scikit-learn谱聚类概述 在s ...
随机推荐
- python模块之random
python的随机数模块为random模块,可以产生随机的整数或浮点数.但是这是伪随机数,python解释器会维护一些种子数,然后根据算法算出随机数.linux维护了一个熵池,这个熵池收集噪音的信息, ...
- Entity Framework Core 中文入门文档
点击链接查看文档: Entity Framework Core 中文入门文档
- Redis学习笔记(1)-安装Oracle VM VirtualBox
Oracle VM VirtualBox官网网址 打开安装包网址界面,如下所示,点击截图红框. 下载完成后,点击exe文件,不停的点击下一步. 因为是使用MarkDown编辑器书写的尝试,所以写的简单 ...
- Tree View控件(添加,移除,设置图标)
添加 父节点,并为父节点添加子节点 private void button1_Click(object sender, EventArgs e) { TreeNode tn1 = treeView1. ...
- c# 破解谷歌翻译
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)
内核版本 : Linux 3.10.14 rc红外接收类型: GPIO 类型的NEC红外编码 本章内容 1) rc体系结构分析 2) 分析红外platform_driver平台驱 ...
- 【LInux】查看Linux系统版本信息
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/versionLinux version 2.6. ...
- dubbo+zookeeper+springBoot框架整合与dubbo泛型调用演示
dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示 By:客 授客 QQ:1033553122 欢迎加入全国软件测试交流 QQ 群:7156436 ...
- JVM虚拟机深入理解+GC回收+类加载
旭日Follow_24 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/xuri24/article/details/81455449 一,前言 本文章是读了“深入理 ...
- 12个必备的JavaScript装逼技巧
译者按: 无论你是初学者还是资深人士,都值得一读! 原文: 12 Amazing JavaScript Shorthand Techniques 译者: Fundebug 为了保证可读性,本文采用意译 ...