机器学习理解篇之六-非监督学习算法应用面临挑战举例

就非监督学习方法本身而言,在应用中会面临许多的挑战,这里以其中的算法选择可能面临的问题为例加以说明。在理解篇之二中曾谈及“对于机器学习来说,先把机器学习所涉及的数学基础搞清楚,要充分理解不同的学习方法所具有的应用条件…”的观点。由于在数据挖掘中的聚类分析中,涉及到许多算法,每一种算法都会基于一种或多种数学原理,进而导致不同算法的差异性以及对数据的适应性。在上篇中介绍了用Kmeans算法成功的对给定的数据集进行了聚类分析的效果,但这并不意味就可以不加思索地将Kemans用于其他数据。下面举例说明之。

下图是一个呈双环状结构分布的数据,其聚类的主要特征是内环数据为一

类,外环数据为一类。那么如果我们直接使用上篇介绍的成功用于实验数据的Kmeans算法进行聚类,会得到什么结果呢?下图即为其聚类结果,红色表示一

类,绿色表示另一类。显然,这种结果是错误的。那么问题出在哪呢?正如前面所说,算法的基础以及应用条件是主要影响因素。这里的Kmeans算法在数据挖掘中是分区算法(Partitioning)的一种,它是通过数据对象之间的差异性为量度同时利用了数据分布的质心进行聚类的,显然,对于双环状的数据分布质心重叠的特点,导致了算法的失效。

可以有多种方法解决这类数据分布的聚类问题。下面利用了数据挖掘中分层聚类方法的一种称之为代表点聚类的算法(CURE,Clustering Using Representatives)。该算法是通过数据的聚类分裂以及代表点的聚合实现聚类的。下图显示了其聚类结果,红色为外环的聚类,绿色为内环的聚类,说明CURE算法对这类数据的聚类是有效的。

上述过程和图示结果告诉我们尽管对于上述实验数据我们都可以选用一定的聚类算法获得正确的聚类结果,但在实际应用中所面临更大挑战是在难以知道数据结构特点的前提下如何智能地选择合理的聚类算法用于正确的分析,因为我们不可能把某一种算法当成是一颗银弹使用。要做到对算法的智能选择或是拥有一种所谓的终极算法还有很长的路要走。

(茶歇杂谈,见仁见智)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G1GWFU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券