欢迎光临散文网 会员登陆 & 注册

聚类分析及其原理介绍(一个公式也没有)

2019-12-06 11:22 作者:不妙脆角  | 我要投稿

聚类分析,顾名思义,就是聚集并分类,它是一种对数据进行分类的方法。你输入一组有很多参数的数据,并指定分类组数。通过聚类分析,就能将其分成你指定的组数

聚类分析结果

聚类分析是干什么用的呢,拿B站用户举个例子:

作为一名某站萌新用户,你有很多个人特征,从最基本的个人信息如性别、年龄、地区,到你的观看特征,如常看的视频种类、关注的UP主类型、追的番剧……甚至还可以有更细化的特征:如上站时间段、滑动屏幕速度……

好了,现在有很多很多的用户信息,你想把这些用户分类,以推荐用户感兴趣的视频给他们,该怎么做呢?可以用聚类分析啦!

我们把每个人的数据(性别、年龄、地区、……)作为高维空间的坐标输入程序,系统会根据这些坐标,通过某些算法进行分类。

好了,下个定义吧:

维基百科:

提一嘴,什么叫“无监督学习”啊 战术后仰

那就得提一句有监督学习是什么了 好像跑题了

机器学习分为有监督学习、无监督学习、半监督学习。

有监督学习呢,顾名思义就是有人监督。就是有100个水果,你拿出一半来,人工标记上它们是否是苹果,然后你再把50个是否是苹果的结果告诉电脑,这就是所谓训练集,也就是用来给程序构建数学模型的集合。

另一半呢,用来做测试,也就是不标记它们是不是苹果,直接让电脑用刚才生成的模型去判断,这就是测试集。用于评估程序好坏。

有监督学习

而无监督学习呢,顾名思义就是无人监督。直接把数据丢进程序,让程序根据写好的分类方法去分类。这样的分类结果,可能和人的常理不同。这个时候就需要人发挥口胡思维,去解释机器的分类结果了。

无监督学习


好了扯回来,聚类分析。聚类分析就是无监督学习,因此你需要去口胡分类结果。

常用的研究方法是依照A、B、C三个特征分类,但去看D特征在不同分类组的结果。


接下来简单介绍一下聚类分析的算法。

我最近使用的是分层分类法,因为它看起来很有逻辑,而且也比较简单好讲。分层聚类通过创建聚类树或树状图来对数据进行分组。

简单来说分层聚类就是将数据不断从根部分叉成二叉树,每个二叉树的子节点由分叉成二叉树……直到最后每个数据都自成一类。最后,同一个根节点上的数据就归为一类,而同层的、长在另一个根的数据,就是另一类。

分层聚类
Hierarchical clustering

当然,如果总是分叉,最后的分类结果会很复杂,我们还要对二叉树进行合理的剪枝。剪枝依据是让剪枝造成的损失最小化。


具体的数学算法需要一些信息学知识,都可以写好几篇专栏了,这里就先打住。

聚类分析常用软件是spss,matlab也可以实现,之后我会用matlab做一个可视化。


参考资料:

维基百科

matlab说明文档

聚类分析及其原理介绍(一个公式也没有)的评论 (共 条)

分享到微博请遵守国家法律