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

简单好看个人主页网站模板建设方案模板

简单好看个人主页网站模板,建设方案模板,宁乡做网站,石家庄的网站建设文章目录 1. K均值(K-means)聚类是什么算法?2. 核心思想2. 数学目标3. 算法步骤3.1. 选择K个初始质心:3.2.迭代优化3.3. 重复步骤2和步骤3: 4. 关键参数5. 优缺点6. 改进变种7. K值选择方法8. Python示例9. 应用场景10…

文章目录

  • 1. K均值(K-means)聚类是什么算法?
  • 2. 核心思想
  • 2. 数学目标
  • 3. 算法步骤
    • 3.1. 选择K个初始质心:
    • 3.2.迭代优化
    • 3.3. 重复步骤2和步骤3:
  • 4. 关键参数
  • 5. 优缺点
  • 6. 改进变种
  • 7. K值选择方法
  • 8. Python示例
  • 9. 应用场景
  • 10. 注意事项
  • 11. 数学推导(质心更新)
  • 12. 总结

1. K均值(K-means)聚类是什么算法?

K均值(K-means)聚类算法是一种广泛使用的无监督学习算法,用于将数据集分成多个簇(clusters)。每个簇代表数据集中的一种内在结构,其中簇内的数据点相似度较高,而簇与簇之间的相似度较低。K均值算法的目标是最小化簇内数据点的平方误差(即簇内的方差)

2. 核心思想

K均值是一种无监督学习算法,用于将数据划分为K个簇(Cluster),目标是最小化簇内样本的平方误差和(Sum of Squared Errors, SSE)。其核心思想是:

簇内相似度高:同一簇的样本尽可能接近。

簇间相似度低:不同簇的样本尽可能远离。

2. 数学目标

最小化损失函数(SSE):
J = ∑ i = 1 K ∑ x ∈ C i ∥ x − μ i ∥ 2 J = \sum_{i=1}^{K} \sum_{x \in C_i} \|x - \mu_i\|^2 J=i=1KxCixμi2

  • C i C_i Ci:第 i i i个簇。
  • μ i μ_i μi:第 i i i 个簇的中心点(质心)。
  • ∥ x − μ i ∥ 2 \|x - \mu_i\|^2 xμi2:样本 x x x到质心的欧氏距离平方。

3. 算法步骤

3.1. 选择K个初始质心:

  • 随机选择K个数据点作为初始质心 μ 1 , μ 2 , … , μ K μ_1,μ_2,…,μ_K μ1,μ2,,μK

3.2.迭代优化

  • 分配步骤(Assignment): 分配每个数据点到最近的质心
    • 对于数据集中的每一个点,计算它与K个质心的距离,并将该点分配到距离其最近的质心所对应的簇。
    • C i = { x : ∥ x − μ i ∥ 2 ≤ ∥ x − μ j ∥ 2 , ∀ j } C_i = \{x : \|x - \mu_i\|^2 \leq \|x - \mu_j\|^2, \forall j\} Ci={x:xμi2xμj2,j}
  • 更新步骤(Update):重新计算质心
    • 计算每个簇中所有点的均值,将该均值作为新的质心。
    • μ i = 1 ∣ C i ∣ ∑ x ∈ C i x \mu_i = \frac{1}{|C_i|} \sum_{x \in C_i} x μi=Ci1xCix

3.3. 重复步骤2和步骤3:

  • 迭代分配数据点并更新质心,直到质心不再变化或者变化非常小(通常有设定的最大迭代次数或者误差容忍度)

4. 关键参数

  • K值(簇数量):需预先指定,可通过肘部法则(Elbow Method)或轮廓系数(Silhouette Score)选择。

  • 初始化方法:

    • 随机初始化(可能陷入局部最优)。

    • K-Means++(优化初始质心选择,默认方法)。

  • 距离度量:通常用欧氏距离,也可用曼哈顿距离等。

5. 优缺点

  • ✅ 优点:

    • 简单高效:时间复杂度 O ( n ⋅ K ⋅ d ⋅ t ) O(n⋅K⋅d⋅t) O(nKdt),其中 n n n 是样本数, d d d 是特征维度, t t t是迭代次数。

    • 可扩展性强:适合大规模数据。

    • 解释性强:簇中心可直接表示簇特征。

  • ❌ 缺点:

    • 需预先指定K值。

    • 对初始质心敏感(可能收敛到局部最优)。

    • 仅适用于凸形簇(对非球形簇效果差)。

    • 对噪声和异常值敏感。

6. 改进变种

  • K-Means++:优化初始质心选择,减少局部最优风险。

  • Mini-Batch K-Means:用数据子集加速计算,适合大数据。

  • K-Medoids(PAM):用实际样本点(而非均值)作为中心,对噪声更鲁棒。

  • Fuzzy C-Means:允许样本属于多个簇(软聚类)。

7. K值选择方法

  • 肘部法则(Elbow Method):

    • 绘制不同K值对应的SSE曲线,选择拐点(SSE下降变缓处)
from sklearn.cluster import KMeans
import matplotlib.pyplot as pltsse = []
for k in range(1, 10):kmeans = KMeans(n_clusters=k).fit(X)sse.append(kmeans.inertia_)
plt.plot(range(1, 10), sse, marker='o')
plt.xlabel('K')
plt.ylabel('SSE')
plt.show()
  • 轮廓系数(Silhouette Score):

    • 衡量样本与同簇和其他簇的相似度,值越接近1表示聚类越好。
from sklearn.metrics import silhouette_score
scores = []
for k in range(2, 10):kmeans = KMeans(n_clusters=k).fit(X)scores.append(silhouette_score(X, kmeans.labels_))
plt.plot(range(2, 10), scores, marker='o')

8. Python示例

from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt# 生成模拟数据
X, _ = make_blobs(n_samples=300, centers=4, random_state=42)# 训练K-Means(K=4)
kmeans = KMeans(n_clusters=4, init='k-means++', random_state=42)
kmeans.fit(X)
labels = kmeans.labels_
centers = kmeans.cluster_centers_# 可视化
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')
plt.scatter(centers[:, 0], centers[:, 1], c='red', marker='X', s=200)
plt.title("K-Means Clustering")
plt.show()

9. 应用场景

  • 客户分群(如电商用户细分)。

  • 图像压缩(用簇中心代表颜色)。

  • 异常检测(远离簇中心的样本可能是异常值)。

  • 文本聚类(如新闻主题分类)。

10. 注意事项

  • 数据标准化:K均值对特征尺度敏感,需标准化(如StandardScaler)。

  • 处理异常值:可用K-Medoids或DBSCAN替代。

  • 非凸簇问题:尝试谱聚类或高斯混合模型(GMM)。

11. 数学推导(质心更新)

质心 μ i μ_i μi的更新是损失函数
J J J 的最小化过程:
∂ J ∂ μ i = − 2 ∑ x ∈ C i ( x − μ i ) = 0 ⟹ μ i = 1 ∣ C i ∣ ∑ x ∈ C i x \frac{\partial J}{\partial \mu_i} = -2 \sum_{x \in C_i} (x - \mu_i) = 0 \implies \mu_i = \frac{1}{|C_i|} \sum_{x \in C_i} x μiJ=2xCi(xμi)=0μi=Ci1xCix

12. 总结

K均值是聚类任务的基础算法,核心在于迭代优化质心位置。尽管有局限性(如需预设K值),但其高效性和易实现性使其在实践中广泛应用。改进方法(如K-Means++)和评估技巧(肘部法则)可进一步提升效果。

http://www.dtcms.com/a/431952.html

相关文章:

  • gRPC从0到1系列【11】
  • 自助建站系拟采用建站技术
  • 如何做网站推广优化好的漂亮的淘宝客网站
  • 沈阳市做网站的公司准备建网站该怎么做
  • 多线程—阻塞队列的练习
  • C#基础10-结构体和枚举
  • 网站建设 福田东莞推广系统怎么做
  • 怎么做免费域名网站wordpress 图片库
  • 全网营销公司洛阳seo网络推广
  • git知识点
  • 制作网站要钱吗oppo开放平台
  • AI 伦理困局:参与式治理如何破解技术狂飙
  • 广州新际网站建设公司怎么样大连本地网
  • 【算法训练营Day27】动态规划part3
  • 网站后台管理系统软件开发一款app成本
  • 衡阳网站建设专家今天的特大新闻有哪些
  • 电子政务网站建设西安网站建设电话
  • 论文解读:GRAPHEVAL: A LIGHTWEIGHT GRAPH-BASED LLM FRAMEWORK FOR IDEA EVALUATION
  • 门业网站 模板it运维工程师工作内容
  • 河北省住房和城乡建设厅网站打不开学做网站论坛教程下载
  • Java 异常体系:从 Throwable 根类到自定义异常,一篇理清所有分类与逻辑
  • 仿5173网站汕尾旅游攻略app跳转网站
  • memory_profiler各个参数都是什么意思?
  • 网站开发技术简介dwsynology建设网站
  • p2p网站建设框架如何在google上免费推广
  • win7 win10 win11安装IE11浏览器
  • 深度学习池化(Pooling)的进阶应用与优化策略
  • 家庭宽带 做网站wordpress登陆后返回
  • 松岗网站的建设sasaki景观设计公司官网
  • 关于win11的Microsoft To Pdf打印机修改端口后无法再刷新显示于设备界面的问题