zoukankan      html  css  js  c++  java
  • 机器学习实战-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也只能是得出一个概率。

  • 相关阅读:
    Kinect研究文档
    Unity使用Win10语音
    使用unity2017.3 vuforia7摄像头放大的问题
    Unity响应Android的返回键,退出当前Activity
    unity调用Android百度地图
    Unity带参数的协程
    Android jenkins动态参数配置
    如何下载浏览器视频
    mac 如果修改环境变量
    mac如何修改hosts文件
  • 原文地址:https://www.cnblogs.com/alphablox/p/5327128.html
Copyright © 2011-2022 走看看