目的
这是一次通过执行k均值聚类来检测网络入侵的尝试
这个过程需要五步。我们要从没有聚类的非标记数据开始。算法创建了这个非标记数据的聚类。
假设你想要计算错误和梯度下降,但是你没有这样做,在这种情况下你能做什么?这就是无监督学习开始发挥作用原因。
让我们开始吧!k是我们想要的聚类数目。
然后我们将k的质心放在随机位置上。
它是如何工作的 ?
这个算法是一个迭代过程。本文将在图像的帮助下逐步解释它。
考虑下面的一组数据。
我们需要将这些数据分成两组。
步骤1:算法随机选择两个质心c1和JN江南体育(有时,任何两个数据都作为质心)。
步骤2:它计算从每个点到两个质心的距离。
如果测试数据更接近c1,那么该数据标记为'0'。如果它更接近c2,则标记为'1'(如果有更多的质心,标记为'2','3'等)。
在我们的例子中,我们将用红色标记所有'0','1 '用蓝色标记。所以我们在进行上面的操作之后可以得到以下图像:
步骤3: 接下来,我们分别计算所有蓝色点和红色点的平均值,这个值将是我们的新质心。
那就是c1和c2转移后的新质心。(请记住,所显示的图像不是真正的值,也不是真正的比例尺,它仅用于演示)。
再次,执行步骤2,新质心和标记数据为'0'和'1'。
所以我们得到如下结果:
现在,迭代步骤2和步骤3,直到两个质心停止移动到固定点。
(或者根据考验我们提供的标准,例如迭代的最大次数,或者达到特定的精度等等,它都可能会停止。)这些点是测试数据与它们对应的质心之间的距离的最小总和。
最终结果几乎如下所示:
这只是对K均值聚类的直观理解,更多解释。如果我们已经知道它可以被分为三种类型,那么k = 3。
但是如果我们不知道有多少分类可能是与数据,所以我们使用肘形方法。肘形方法的概念是运行k数据集后的k值的范围(例如,在上面的例子中k从1到10),并且计算平方误差总和(SSE)。
就像这个:
上述k均值聚类的算法,因为我们需要建立我们的算法,所以它将接收参数:
我们应该什么时候使用它?
但是你的数据是数字。它不适用于分类功能。
我们要计算实数之间的距离!
如果你没有数据标签
K均值聚类是最简单的。实施运行中,你只需选择"k"并多次运行即可。
当你有多元数据时,K均值聚类和其他聚类算法会"发光"。它们将与一维数据共同"工作"。
当你想了解你的空间中实际存在多少个聚类时,这是很有用的。
其他例子
https://github.com/georgymh/ml-fraud-detection(欺诈检测)
https://github.com/Datamine/MNIST-K-Means-Clustering/blob/master/Kmeans.ipynb(MNIST无标签(最后))
k聚类算法通过需要上述步骤,因为我们需要构建我们的算法,所以它将接收为参数:
· K:群集数量(必需)
· epsilon:在停止条件下使用的最小错误(可选,默认== 0)
· 距离:该方法用于计算距离(可选defalut == 0)并返回:
· 质心
· 质心的演变历史
· 每个实例的成员向量具有其各自的质心
本文来源:JN江南体育,JN江南体育官方app下载,JN江南体育官方网站-www.xinsaibeiwenchaolin.com
:400-123-4567
:+86-123-4567
:16609528933
:admin@zdygr.com
:广东省深圳市芦溪县仁电大楼886号