当前位置: 首页 > wzjs >正文

有什么教做维c甜品的网站广州网站运营专业乐云seo

有什么教做维c甜品的网站,广州网站运营专业乐云seo,淘金网站建设,有人模仿qq音乐做的h5网站吗层次聚类 文章目录 层次聚类1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 层次聚类(Hierarchical Clustering)是一类无需事先指定簇数的聚类方法,通过构造一棵“树状图”(dendrogram)来呈现数据的多层次…

层次聚类

文章目录

  • 层次聚类
    • 1. 算法介绍
    • 2. 公式及原理
    • 3. 伪代码

1. 算法介绍

  • 背景与目标
    层次聚类(Hierarchical Clustering)是一类无需事先指定簇数的聚类方法,通过构造一棵“树状图”(dendrogram)来呈现数据的多层次聚类结构。常见的有:

    • 凝聚式(Agglomerative):自底向上,先将每个样本视为一个簇,逐步合并最近的两个簇;
    • 分裂式(Divisive):自顶向下,先将所有样本视为一个簇,逐步将簇拆分成更小的簇。
  • 应用场景

    • 基因表达、文本、图像等需要展示多粒度簇结构的场景
    • 探索数据的树状或层次结构
    • 做可解释性分析,比如客户层次分群
  • 核心思路(以凝聚式为例)

    1. 计算所有样本两两之间的距离

    2. 初始化:每个样本作为一个独立簇;

    3. 迭代合并

      • 找到当前所有簇对中距离最小的一对;
      • 按照选定的“链接准则”(linkage)合并这两个簇;
      • 更新聚类间距离矩阵;
    4. 停止条件:当只剩下一簇或达到预定簇数时结束,生成完整树状图。


2. 公式及原理

2.1 距离度量
对任意两点 x i , x j \mathbf{x}_i,\mathbf{x}_j xi,xj,首先定义距离:

d ( x i , x j ) = ∥ x i − x j ∥ 2 (也可用其他度量如曼哈顿距离) . d(\mathbf{x}_i,\mathbf{x}_j) = \|\mathbf{x}_i - \mathbf{x}_j\|_2 \quad\text{(也可用其他度量如曼哈顿距离)}. d(xi,xj)=xixj2(也可用其他度量如曼哈顿距离).

2.2 链接准则(Linkage)
当有两个簇 C a , C b C_a, C_b Ca,Cb 时,用以衡量它们之间“距离”的方法:

  • 单链接(single)

    d min ⁡ ( C a , C b ) = min ⁡ i ∈ C a , j ∈ C b d ( x i , x j ) . d_{\min}(C_a, C_b) = \min_{i\in C_a,\,j\in C_b} d(\mathbf{x}_i,\mathbf{x}_j). dmin(Ca,Cb)=iCa,jCbmind(xi,xj).

  • 全链接(complete)

    d max ⁡ ( C a , C b ) = max ⁡ i ∈ C a , j ∈ C b d ( x i , x j ) . d_{\max}(C_a, C_b) = \max_{i\in C_a,\,j\in C_b} d(\mathbf{x}_i,\mathbf{x}_j). dmax(Ca,Cb)=iCa,jCbmaxd(xi,xj).

  • 平均链接(average)

    d a v g ( C a , C b ) = 1 ∣ C a ∣ ∣ C b ∣ ∑ i ∈ C a ∑ j ∈ C b d ( x i , x j ) . d_{\mathrm{avg}}(C_a, C_b) = \frac{1}{|C_a|\,|C_b|}\sum_{i\in C_a}\sum_{j\in C_b} d(\mathbf{x}_i,\mathbf{x}_j). davg(Ca,Cb)=CaCb1iCajCbd(xi,xj).

  • Ward 链接(最小化簇内方差增量):

    Δ J = ∣ C a ∣ ∣ C b ∣ ∣ C a ∣ + ∣ C b ∣ ∥ μ a − μ b ∥ 2 , \Delta J = \frac{|C_a|\,|C_b|}{|C_a|+|C_b|}\,\bigl\|\boldsymbol{\mu}_a - \boldsymbol{\mu}_b\bigr\|^2, ΔJ=Ca+CbCaCb μaμb 2,

    其中 μ a \boldsymbol{\mu}_a μa μ b \boldsymbol{\mu}_b μb 分别是簇的质心。

2.3 树状图构建

  • 在每一步合并时记录所合并的簇对及它们之间的距离,就能得到一棵二叉合并树(dendrogram);
  • 根据树的高度(合并距离)可截取不同层次得到不同数目的簇。

3. 伪代码

# 输入
#   X: 数据矩阵,形状 (n, d)
#   linkage: 链接准则,选项 {single, complete, average, ward}
#   K: 期望最终簇数(或直到合并到 1 簇)
# 输出
#   merges: 合并记录列表,每条 (簇索引 a, 簇索引 b, 距离, 新簇大小)
#   labels: 样本最终簇标号,长度 nfunction HierarchicalClustering(X, linkage, K):n ← number_of_rows(X)# 1) 初始化:每个样本一个簇clusters ← [{i} for i in 1…n]# 2) 计算初始距离矩阵 D (n×n),D[i,j]=d(x_i,x_j)D ← pairwise_distance_matrix(X)merges ← empty_list()# 3) 不断合并直到簇个数为 Kwhile len(clusters) > K:# 3.1 找到距离最小的簇对 (p,q)(p, q) ← indices_of_minimum(D)# 3.2 记录合并new_size ← |clusters[p]| + |clusters[q]|merges.append((p, q, D[p,q], new_size))# 3.3 合并簇:创建新簇 rclusters.append(clusters[p] ∪ clusters[q])# 3.4 更新距离矩阵:对所有其它簇 sfor s in 1…len(clusters)-1 excluding p,q:D[s, r] ← compute_linkage_distance(clusters[s], clusters[r], X, linkage)D[r, s] ← D[s, r]# 3.5 删除旧簇 p,q 及其对应行列remove rows/columns p and q from Dremove clusters[p], clusters[q]# 4) 根据合并结果或截断高度,生成每个样本的簇标号 labelslabels ← assign_labels_from_merges(merges, n, K)return merges, labels
  • 时间复杂度

    • 计算初始距离矩阵: O ( n 2 d ) O(n^2 d) O(n2d)
    • 每次合并更新: O ( n 2 ) O(n^2) O(n2),共做 n − K n-K nK 步,整体 O ( n 3 ) O(n^3) O(n3)
    • 可借助优先队列、近似最近邻或稀疏方法加速到 O ( n 2 log ⁡ n ) O(n^2\log n) O(n2logn) 或更低
http://www.dtcms.com/wzjs/362265.html

相关文章:

  • 云南云岭建设集团官方网站百度排名点击器
  • 运城网站建设多少钱西安seo包年服务
  • 谷德设计网app下载南宁seo推广服务
  • 商城类网站建设报价保定百度推广优化排名
  • 网站建设用什么字体百度的网址
  • 上海网站高端好的竞价推广托管
  • 做擦边球网站做关键词优化
  • 做公司+网站建设价格电商营销策略
  • 做cpa广告建什么网站好最有创意的广告语30条
  • idea怎么做网站小程序设计
  • 网店网站怎么做的对网络营销的认识
  • 服务器上 网站淘宝美工培训
  • wordpress 做的网站广告推广代运营公司
  • 做涉黄的视频网站用什么服务器厦门百度关键词seo收费
  • 开网络公司赚钱吗优化网站视频
  • 2003 建设网站网络热词2022
  • 如何做微信小程序步骤河北seo推广
  • 本地的佛山网站建设seo扣费系统源码
  • java网站做微信分享百度竞价什么意思
  • 网站图片批量上传做网络推广有前途吗
  • 做公司网站要营业执照吗培训机构咨询
  • 苏州建设网站制作如何免费推广自己的网站
  • 广东中山市做网站网络服务费计入什么科目
  • wap的网站模板下载郑州网站建设推广优化
  • 做gif的网站百度竞价一个月5000够吗
  • 怎么做网站的内部链接宝鸡seo排名
  • 建立自己的网站可以采用的方式有100个关键词
  • 怎样做门窗网站自己代理一款手游需要多少钱
  • 订餐网站建设百度教育官网登录入口
  • 如何让别人看到自己做的网站百度权重域名