本月累计签到次数:

今天获取 积分

集群算法

集群算法

329 浏览

K-Means集群算法

设备硬件类 品管人生 2016-12-06 17:39 发表了文章 来自相关话题

 无监督学习就是只给定数据集而没有提供预设好的标签,无监督学习常用的算法有混合高斯分布(我对GMM的理解(一),我对GMM的理解(二))、受限玻尔兹曼机以及今天要讲的K-Means集群。


无论什么数据集,理论上都可以形成一定数量的集群。


例如,党我们拿到学生成绩表时,我们可以把成绩分数划分为优(90分左右)、良(80分左右)、中(70分左右)、差(60分及以下)。


再例如对于工人工资表,我们也可以把工人按照工资划分成一定数量的集群,每个集群一定是围绕某个工资水平的。


甚至我们可以抓取所有微信公众文章,将文章标题映射为向量表示(假设没有那些标题党文章的话),我们就可以对这些文章按标题进行集群分类。


我们还可以使用集群算法来对图像进行重新分配颜色,例如有一张灰度图,图像是由像素点构成,我们希望只用5种颜色来对像素点进行重构,将原始像素点划分成5个集群,然后对5个集群分别涂上5种不同的颜色,那么我们可以是用5-Means方法来做这件事,效果如下图所示(左边为原始图像,右边为使用5-Means重新染色的图像):






值得注意的是,集群算法既然是一种无监督学习,那么就没有绝对正确的集群算法,只能是一步一步使得集群划分更加优化。


K-Means集群算法(以下简称K-Means)是一种无监督机器学习算法,顾名思义,它使用K个集群对数据集进行分类,K的大小通常需要预先设定好,然后就可以靠距离中心点(Means)的远近来实现分类。


假设现有一个点集S,需要划分成S_1,S_2,...,S_K,那么使用K-Means的流程如下:

(1)设定好K的大小,随机选取K个点作为初始中心点;

(2)计算每个点到这K个中心点的距离大小,选取最近的中心点,划分到以该中心点为中心的集群中去;

(3)重新计算K个新集群的中心点;

(4)如果中心点保持不变,则结束K-Means过程。否则,重复进行(2)、(3)步;


K-Means的算法过程的确很简单,前文我们说过K要预先设定,但是实际中可能K需要不停去trials-and-errors才能确定最优的K,那么对于一个特定问题,如何找到最优的K呢?


通常,提到最优这个词必须得有个标准,这里也是一样,确定最优K的标准就是判断集群中每个点到集群中心的距离平方,距离平方越小,说明我们的集群划分越密集,即更符合集群的固有属性。


因此,可以设定K从1依次增大,然后判断误差曲线的弯曲程度,我们可以认为误差曲线的拐点处就是K的最优值。K越小,集群划分较少,点不太集中;相反K越大,及集群划分较多,给人一种过拟合的感觉(极端情况是100个点划分成100个集群,听起来似乎已经没有集群的概念了)。











来源:张泽旺 深度学习每日摘要
智造家




  查看全部

3.1_.jpg

 无监督学习就是只给定数据集而没有提供预设好的标签,无监督学习常用的算法有混合高斯分布(我对GMM的理解(一),我对GMM的理解(二))、受限玻尔兹曼机以及今天要讲的K-Means集群


无论什么数据集,理论上都可以形成一定数量的集群。


例如,党我们拿到学生成绩表时,我们可以把成绩分数划分为优(90分左右)、良(80分左右)、中(70分左右)、差(60分及以下)。


再例如对于工人工资表,我们也可以把工人按照工资划分成一定数量的集群,每个集群一定是围绕某个工资水平的。


甚至我们可以抓取所有微信公众文章,将文章标题映射为向量表示(假设没有那些标题党文章的话),我们就可以对这些文章按标题进行集群分类。


我们还可以使用集群算法来对图像进行重新分配颜色,例如有一张灰度图,图像是由像素点构成,我们希望只用5种颜色来对像素点进行重构,将原始像素点划分成5个集群,然后对5个集群分别涂上5种不同的颜色,那么我们可以是用5-Means方法来做这件事,效果如下图所示(左边为原始图像,右边为使用5-Means重新染色的图像):

3.2_.jpg


值得注意的是,集群算法既然是一种无监督学习,那么就没有绝对正确的集群算法,只能是一步一步使得集群划分更加优化。


K-Means集群算法(以下简称K-Means)是一种无监督机器学习算法,顾名思义,它使用K个集群对数据集进行分类,K的大小通常需要预先设定好,然后就可以靠距离中心点(Means)的远近来实现分类。


假设现有一个点集S,需要划分成S_1,S_2,...,S_K,那么使用K-Means的流程如下:

(1)设定好K的大小,随机选取K个点作为初始中心点;

(2)计算每个点到这K个中心点的距离大小,选取最近的中心点,划分到以该中心点为中心的集群中去;

(3)重新计算K个新集群的中心点;

(4)如果中心点保持不变,则结束K-Means过程。否则,重复进行(2)、(3)步;



K-Means的算法过程的确很简单,前文我们说过K要预先设定,但是实际中可能K需要不停去trials-and-errors才能确定最优的K,那么对于一个特定问题,如何找到最优的K呢?


通常,提到最优这个词必须得有个标准,这里也是一样,确定最优K的标准就是判断集群中每个点到集群中心的距离平方,距离平方越小,说明我们的集群划分越密集,即更符合集群的固有属性。


因此,可以设定K从1依次增大,然后判断误差曲线的弯曲程度,我们可以认为误差曲线的拐点处就是K的最优值。K越小,集群划分较少,点不太集中;相反K越大,及集群划分较多,给人一种过拟合的感觉(极端情况是100个点划分成100个集群,听起来似乎已经没有集群的概念了)。

3.3_.jpg







来源:张泽旺 深度学习每日摘要
智造家




 
329 浏览

K-Means集群算法

设备硬件类 品管人生 2016-12-06 17:39 发表了文章 来自相关话题

 无监督学习就是只给定数据集而没有提供预设好的标签,无监督学习常用的算法有混合高斯分布(我对GMM的理解(一),我对GMM的理解(二))、受限玻尔兹曼机以及今天要讲的K-Means集群。


无论什么数据集,理论上都可以形成一定数量的集群。


例如,党我们拿到学生成绩表时,我们可以把成绩分数划分为优(90分左右)、良(80分左右)、中(70分左右)、差(60分及以下)。


再例如对于工人工资表,我们也可以把工人按照工资划分成一定数量的集群,每个集群一定是围绕某个工资水平的。


甚至我们可以抓取所有微信公众文章,将文章标题映射为向量表示(假设没有那些标题党文章的话),我们就可以对这些文章按标题进行集群分类。


我们还可以使用集群算法来对图像进行重新分配颜色,例如有一张灰度图,图像是由像素点构成,我们希望只用5种颜色来对像素点进行重构,将原始像素点划分成5个集群,然后对5个集群分别涂上5种不同的颜色,那么我们可以是用5-Means方法来做这件事,效果如下图所示(左边为原始图像,右边为使用5-Means重新染色的图像):






值得注意的是,集群算法既然是一种无监督学习,那么就没有绝对正确的集群算法,只能是一步一步使得集群划分更加优化。


K-Means集群算法(以下简称K-Means)是一种无监督机器学习算法,顾名思义,它使用K个集群对数据集进行分类,K的大小通常需要预先设定好,然后就可以靠距离中心点(Means)的远近来实现分类。


假设现有一个点集S,需要划分成S_1,S_2,...,S_K,那么使用K-Means的流程如下:

(1)设定好K的大小,随机选取K个点作为初始中心点;

(2)计算每个点到这K个中心点的距离大小,选取最近的中心点,划分到以该中心点为中心的集群中去;

(3)重新计算K个新集群的中心点;

(4)如果中心点保持不变,则结束K-Means过程。否则,重复进行(2)、(3)步;


K-Means的算法过程的确很简单,前文我们说过K要预先设定,但是实际中可能K需要不停去trials-and-errors才能确定最优的K,那么对于一个特定问题,如何找到最优的K呢?


通常,提到最优这个词必须得有个标准,这里也是一样,确定最优K的标准就是判断集群中每个点到集群中心的距离平方,距离平方越小,说明我们的集群划分越密集,即更符合集群的固有属性。


因此,可以设定K从1依次增大,然后判断误差曲线的弯曲程度,我们可以认为误差曲线的拐点处就是K的最优值。K越小,集群划分较少,点不太集中;相反K越大,及集群划分较多,给人一种过拟合的感觉(极端情况是100个点划分成100个集群,听起来似乎已经没有集群的概念了)。











来源:张泽旺 深度学习每日摘要
智造家




  查看全部

3.1_.jpg

 无监督学习就是只给定数据集而没有提供预设好的标签,无监督学习常用的算法有混合高斯分布(我对GMM的理解(一),我对GMM的理解(二))、受限玻尔兹曼机以及今天要讲的K-Means集群


无论什么数据集,理论上都可以形成一定数量的集群。


例如,党我们拿到学生成绩表时,我们可以把成绩分数划分为优(90分左右)、良(80分左右)、中(70分左右)、差(60分及以下)。


再例如对于工人工资表,我们也可以把工人按照工资划分成一定数量的集群,每个集群一定是围绕某个工资水平的。


甚至我们可以抓取所有微信公众文章,将文章标题映射为向量表示(假设没有那些标题党文章的话),我们就可以对这些文章按标题进行集群分类。


我们还可以使用集群算法来对图像进行重新分配颜色,例如有一张灰度图,图像是由像素点构成,我们希望只用5种颜色来对像素点进行重构,将原始像素点划分成5个集群,然后对5个集群分别涂上5种不同的颜色,那么我们可以是用5-Means方法来做这件事,效果如下图所示(左边为原始图像,右边为使用5-Means重新染色的图像):

3.2_.jpg


值得注意的是,集群算法既然是一种无监督学习,那么就没有绝对正确的集群算法,只能是一步一步使得集群划分更加优化。


K-Means集群算法(以下简称K-Means)是一种无监督机器学习算法,顾名思义,它使用K个集群对数据集进行分类,K的大小通常需要预先设定好,然后就可以靠距离中心点(Means)的远近来实现分类。


假设现有一个点集S,需要划分成S_1,S_2,...,S_K,那么使用K-Means的流程如下:

(1)设定好K的大小,随机选取K个点作为初始中心点;

(2)计算每个点到这K个中心点的距离大小,选取最近的中心点,划分到以该中心点为中心的集群中去;

(3)重新计算K个新集群的中心点;

(4)如果中心点保持不变,则结束K-Means过程。否则,重复进行(2)、(3)步;



K-Means的算法过程的确很简单,前文我们说过K要预先设定,但是实际中可能K需要不停去trials-and-errors才能确定最优的K,那么对于一个特定问题,如何找到最优的K呢?


通常,提到最优这个词必须得有个标准,这里也是一样,确定最优K的标准就是判断集群中每个点到集群中心的距离平方,距离平方越小,说明我们的集群划分越密集,即更符合集群的固有属性。


因此,可以设定K从1依次增大,然后判断误差曲线的弯曲程度,我们可以认为误差曲线的拐点处就是K的最优值。K越小,集群划分较少,点不太集中;相反K越大,及集群划分较多,给人一种过拟合的感觉(极端情况是100个点划分成100个集群,听起来似乎已经没有集群的概念了)。

3.3_.jpg







来源:张泽旺 深度学习每日摘要
智造家