• 机器学习实战-ch2-有标签的聚类算法


    本书中的这个聚类算法多少有些让人意外。通常的聚类算法是这样的:

    1. 给定一堆点;
    2. 给定一个距离计算的算法;
    3. 给定一个cluster之间的距离d,或者最小的cluster数目k;
    4. 初始化,每个点作为初始集群的中心;
    5. 循环直到cluster个数小于K,或者任意两个cluster的距离大于d;
      1. 计算每个点i到每个中心点j之间的距离,Dij;
      2. 将绝对值最小的节点 i 汇总到cluster j中;
      3. 重新计算cluster j的中心点。
    6. 对每个clsuster一个label。

    注意这个算法是没有提前标注的。事先不知道有多少个集群,也不知道每个集群有什么含义。我们只是知道这些集群是互相类似的。

    ------------

    本章的算法描述的是另一个场景。之前已经有一些例子【属性1,属性2,属性3,结果】。我们希望知道一个新来的实例【属性1,属性2,属性3,结果是啥?】。算法如下:

    1. 计算出输入节点inX与已知节点 dataSet 中各个点的距离;
    2. 按照距离从小到大排列,选择前K个dataSet中的点;
    3. 看dataSet中各个点的各个结果出现的频率;
    4. 选择出现频率最高的结果作为算法结果。

    这种算法应该是专门为已知label的算法训练的。而且它不能批量的计算。因为加入dataSet中有N个节点,输入M个节点进行预测,需要计算M*N。如果能提前把N个几点汇总成K个聚集的话,M个节点的预测就会小很多。

    那就回引发另一个问题,有没有可能把dataSet的节点聚集成S个群以后,每个群有多个结果,比如90%结果1,5%结果2,3%结果3。这样的话,找到的输入对应的cluster也只能是得出一个概率。

  • 相关阅读:
    Ubuntu 16.04远程登录服务器--ssh的安装和配置
    设置淘宝源
    shell 循环 read line
    apt-get update 报错 W: Unknown Multi-Arch type 'no' for package 'compiz-core'
    expdp dblink
    ubuntu apt-update NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
    listener.log文件过大导致oracle假死
    rsync_ssh
    ssh多主机
    elk大纲
  • 原文地址:https://www.cnblogs.com/alphablox/p/5327128.html
Copyright © 2020-2023  润新知