来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

自然语言处理技术 2019-06-19

点击上方关注,All in AI中国

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

算法是如何学习《精灵宝可梦》,哪些不值得获得你的高级球(《精灵宝可梦》中的一种道具)

在我写了一篇关于《权力的游戏》的文章之后发给我母亲,但是她看不懂,问我是否可以写一篇关于精灵宝可梦的文章不?于是,在本周在我项目训练的最后一周决定开始研究什么内容,于是,我开始搜索关于它的数据集。由此,我发现了800多个口袋妖怪的完整特征,我决定将其用于练习一些无监督学习,特别是聚类。是否存在将口袋妖怪绑定在一起形成的某些共同特征?算法会按类型将它们区分吗?当我们在判定口袋妖怪是否值得保留、训练时,我们的思维会在游戏过程中创造出相同的潜意识聚类吗?

我们来看看吧!

首先,介绍无监督学习:

当涉及到“机器学习”的重要主题时,实际上有两种类型:监督和无监督。监督是一个过程,在这个过程中,您正在教授算法如何标记事物,或者您为每个观察值给定一个y值,并训练它来预测未标记观察值的y值。

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

监督学习对预测更有用,因为它可以学习一组与另一组之间的差异,从而可以对训练集之外的观察进行分类。但是,如果我们的目标不是分类,而是组织呢?这就是无监督学习的用武之地。

那么什么是无监督学习?

有三种类型的无监督学习:聚类(我们将关注的内容)、降维和自动编码。

降维(又称数据压缩)完全符合它的含义。它找到了缩小和编码数据的方法,以便在模型中运行更容易、更快速、更便宜。它通常用于图像,以便分解它们但保留大部分信息。数据压缩基于这样的假设:大多数数据有些冗余,可以重新格式化以更有效地包含信息。有两种类型的数据压缩:主成分分析和奇异值分解,主成成分发现,与大多数方差相关的变量是线性组合的,它将数据集分解为三个较小的矩阵。自动编码器与压缩数据非常相似,但它是通过深度学习来实现这一点的,其中数据被输入到神经网络中,这个神经网络通过加权塑造出数据的最佳表示形式。

聚类的名称也很适合它的定义。它采用未标记的数据并将其组织成类似的组。有三种方法可以做到这一点。首先,存在k-means聚类,其创建k个互斥组。它通过将k个随机质心分配给数据,并将观察值分配给它们最接近的质心来实现。质心以这些观察值为中心,并且该过程重复直到质心有效地停止移动。与此相关的困难部分是选择合适的k的过程可能很复杂。较大的k意味着较小的组,因此更具粒度,但您可能希望更广泛地对这些组进行聚类。下面是一个具有交互式可视化的源代码,可以进一步清楚地解释k-means聚类。

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

还有层次聚类,它以n个聚类开始,每个聚类代表一个观察值。从那里,它将最接近的两个聚类组合成一个更大的聚类并重复这个过程,直到所有观察结果都在一个聚类中呈现,这称为凝聚聚类,其反向(一组分裂为多组)称为分裂聚类。您可以对结果树状图进行划分,以得到所需的集群数量。

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

分层聚类

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

最后,存在概率聚类,这是一种较软的聚类形式,它不是为每个观察分配一个组,而是分配一个组的概率。如果您想知道观察与群组的相似程度而不仅仅是最相似的群组,这将会非常有用。

无监督学习有两个主要挑战。首先,对于聚类,需要对结果聚类进行必要的探索。该算法将分割数据,但它不会告诉您它是如何这样做的,或者群集中的相似性可能是执行的目标。其次,很难知道它是否正常工作。与监督学习不同,没有精确的度量标准可以用来评估它。

回到精灵宝可梦!

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

使用800个关于口袋妖怪的数据集,包括HP(命中点)、攻击和防御、主要类型和次要类型以及生成等功能,我决定看看一个算法如何将它们分开。我有一些预测,首先是分为几代人。我假设在过去的21年里,他们在一定的潜意识客观里使新的口袋妖怪在客观上变得更好。(但其实他们没有。)我发现这是大多数人在玩游戏的时候,在不知不觉中形成的感觉。有一些神奇宝贝值得捕捉、训练和战斗,还有一些用Pokedex(是一款专为精灵宝可梦打造的图鉴软件)捕获小精灵,但如何保留呢?

在传奇和非传奇的口袋妖怪之间存在客观差异。这是有道理的,但事实证明,在10个集群中,有两个集群完全是传奇集群,而其中有一个非传奇集群时,当它不包含在给机器的数据中时,它就悄悄地出现了,证明了这一点。不仅如此,它还分裂了顶级攻击者、顶级防御者和一些平衡者。

在非传奇的口袋妖怪方面,它也做了一些奇特的事情。有一些强大的龙系口袋妖怪,一群较老但强大的水/普通型神奇宝贝,一些是毒性/战斗型神奇宝贝,具有高HP和攻击性但防御低,一组具有较新的口袋妖怪(主要是初学者和低进化),一组具有较年长的口袋妖怪,以及一组童话和幽灵类型的口袋妖怪具有体面的HP但攻击和防御较低。

所以...基本上它创造了这些“你想要这些”、“你可以用”、“不要浪费你的时间在这些上“的聚类,但有一些口袋妖怪可能会让你感到疑惑,比如,鲤鱼王,被认为光是跳就会满足,不过战斗极其弱小,但却在无论多脏的水里都能住下去的顽强的口袋妖怪,然而,这被称为是最弱小的鲤鱼王进化成暴鲤龙后,实力会大幅提升。这种趋势跨越大多数群体,其中变化都在同一群集中,无论一个群体是否明显优于另一个。

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

结论

如果您想了解所拥有的数据类型,通常聚类和无监督学习可能是一个非常有用的工具。但是,您从中获得的洞察力取决于您和您对数据的理解。最终由您来决定您的集群意味着什么以及如何使用它们。

来一波回忆杀,用精灵宝可梦教你弄懂无监督学习

相关推荐