IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【matlab数学建模学习】day9 -> 正文阅读

[人工智能]【matlab数学建模学习】day9

接上一篇文章:【matlab数学建模学习】day8

层次聚类

  1. 算法原理

    • 凝聚型的层次聚类(AGENES):自底而上。首先将每个对象作为一个簇,然后将这些原子簇合并成越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被达到要求。
    • 分裂型的层次聚类(DIANA):自顶而下。首先将所有对象放在一个簇中,然后慢慢细分为越来越小的簇,直到每个对象自行形成一簇,或者满足其他终结条件。
  2. 算法步骤

    输入:K(目标类簇数)、D(样本点集合);

    输出:K个类簇集合

    AGENES:

    1. 将D中每个样本点当作其类簇;
    2. 重复第1步;
    3. 找到分属两个不同类簇,且距离最近的样本对;
    4. 将两个类簇合并;
    5. util类簇数=K。

    DIANA:

    1. 将D中所有样本点归并成类簇;
    2. 重复第1步;
    3. 在同类簇中找到距离最远的样本点对;
    4. 以该样本点对为代表,将原类簇中的样本点重新分属到新类簇;
    5. util类簇数=K。
  3. 应用实践

    %% 层次聚类
    dist_h = 'spearman';
    link = 'weighted';
    hidx = clusterdata(bonds, 'maxclust', numClust, 'distance' , dist_h, 'linkage', link);
    
    %绘制聚类效果图
    figure
    F2 = plot3(VX(hidx==1,1), VX(hidx==1,2),VX(hidx==1,3),'r*', ...
               VX(hidx==2,1), VX(hidx==2,2),VX(hidx==2,3), 'bo', ...
               VX(hidx==3,1), VX(hidx==3,2),VX(hidx==3,3), 'kd');
    set(gca,'linewidth',2);
    grid on
    set(F2,'linewidth',2, 'MarkerSize',8);
    set(gca,'linewidth',2);
    xlabel('票面利率','fontsize',12);
    ylabel('评级得分','fontsize',12);
    zlabel('到期收益率','fontsize',12);
    title('层次聚类方法聚类结果')
    
    % 评估各类别的相关程度
    dist_metric_h = pdist(bonds,dist_h);
    dd_h = squareform(dist_metric_h);
    [~,idx] = sort(hidx);
    dd_h = dd_h(idx,idx);
    figure
    imagesc(dd_h)
    set(gca,'linewidth',2);
    xlabel('数据点', 'fontsize',12)
    ylabel('数据点', 'fontsize',12)
    title('层次聚类结果相关程度图')
    ylabel(colorbar,['距离矩阵:', dist_h])
    axis square
    
    % 计算同型相关系数
    Z = linkage(dist_metric_h,link);
    cpcc = cophenet(Z,dist_metric_h);
    disp('同型相关系数: ')
    disp(cpcc)
    
    % 层次结构图
    set(0,'RecursionLimit',5000)
    figure
    dendrogram(Z)
    set(gca,'linewidth',2);
    set(0,'RecursionLimit',500)
    xlabel('数据点', 'fontsize',12)
    ylabel ('标准距离', 'fontsize',12)
     title('层次聚类法层次结构图')
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2p0OfkeH-1628822472534)(C:\Users\MSTIFIY\AppData\Roaming\Typora\typora-user-images\image-20210813101404322.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-caFZYlKY-1628822472536)(C:\Users\MSTIFIY\AppData\Roaming\Typora\typora-user-images\image-20210813101418507.png)]

同型相关系数: 
    0.8804

cophenet函数得到描述聚类树信息与原始数据距离之间相关性的同表象相关系数,这个值越大越好。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2vKnhnYf-1628822472537)(C:\Users\MSTIFIY\AppData\Roaming\Typora\typora-user-images\image-20210813102155485.png)]
?

  1. 算法总结

    • 对于复杂数据,聚类的终止条件(单个数量和阈值)很难判定
    • 包容能力弱,若在某阶段没有选择合成或分裂的决策,就会导致质量不高的聚类结果。
    • 使用距离矩阵,导致时间和空间复杂度都很高,几乎无法适用于大数据集。
    • 只处理符合某静态模型的簇,忽略了不同簇间的信息,忽略了簇间的互连性和近似度
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 14:01:52  更:2021-08-14 14:01:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/16 17:49:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码