牛客网算法八股刷题系列(八)K-Means真题描述

news/2024/7/5 7:29:44

牛客网算法八股刷题系列——K-Means真题描述

题目描述

两个种子点 A ( − 1 , 1 ) , B ( 2 , 1 ) A(-1,1),B(2,1) A(1,1),B(2,1),其余样本点 ( 0 , 0 ) , ( 0 , 2 ) , ( 1 , 1 ) , ( 3 , 2 ) , ( 6 , 0 ) , ( 6 , 2 ) (0,0),(0,2),(1,1),(3,2),(6,0),(6,2) (0,0),(0,2),(1,1),(3,2),(6,0),(6,2)。利用 K-Means \text{K-Means} K-Means算法,点群中心按坐标平均计算。最终:

  • 种子点 A A A需要移动的次数;
  • 种子点 B B B需要移动的次数;
  • 属于种子点 A A A样本点数(不含 A A A);
  • 属于种子点 B B B样本点数(不含 B B B);

分别是 ( ) (\quad) ()

A 2 , 2 , 3 , 3 \mathcal A \quad 2,2,3,3 A2,2,3,3
B 1 , 1 , 3 , 3 \mathcal B \quad 1,1,3,3 B1,1,3,3
C 1 , 1 , 2 , 4 \mathcal C \quad 1,1,2,4 C1,1,2,4
D 2 , 2 , 2 , 4 \mathcal D \quad 2,2,2,4 D2,2,2,4

正确答案: A \mathcal A A

题目解析

初始状态下,上述样本点(蓝色点)与种子点(橙色点)之间的位置关系表示如下:
初始状态
针对种子点 A , B \mathcal A,\mathcal B A,B,分别求出各自对应其他样本点的距离:

  • 这里以‘欧式距离’计算点之间的距离信息,以 A A A与样本点 a 1 : ( 0 , 0 ) a_1:(0,0) a1:(0,0)之间距离为例,后续同理:
    Dist A ⇔ a 1 = ( − 1 − 0 ) 2 + ( 1 − 0 ) 2 = 2 \text{Dist}_{A \Leftrightarrow a_1} = \sqrt{(-1 -0)^2 + (1 - 0)^2} = \sqrt{2} DistAa1=(10)2+(10)2 =2
  • 由于计算过程中不包含 A , B A,B A,B点,这里直接将它们视作‘虚拟样本’
SamplePoint/InitialCenter \text{SamplePoint/InitialCenter} SamplePoint/InitialCenter A A A B B B ClusterResult \text{ClusterResult} ClusterResult
a 1 : ( 0 , 0 ) a_1:(0,0) a1:(0,0) 2 \sqrt{2} 2 3 \sqrt{3} 3 A A A
a 2 : ( 0 , 2 ) a_2:(0,2) a2:(0,2) 2 \sqrt{2} 2 5 \sqrt{5} 5 A A A
a 3 : ( 1 , 1 ) a_3:(1,1) a3:(1,1) 2 2 2 1 1 1 B B B
a 4 : ( 3 , 2 ) a_4:(3,2) a4:(3,2) 17 \sqrt{17} 17 2 \sqrt{2} 2 B B B
a 5 : ( 6 , 0 ) a_5:(6,0) a5:(6,0) 50 \sqrt{50} 50 17 \sqrt{17} 17 B B B
a 6 : ( 6 , 2 ) a_6:(6,2) a6:(6,2) 50 \sqrt{50} 50 17 \sqrt{17} 17 B B B

至此,能够得到距离种子点 A A A近的样本点集合 A n e a r A_{near} Anear和距离种子点 B B B近的样本点集合 B n e a r B_{near} Bnear
{ A n e a r : { a 1 , a 2 } B n e a r : { a 3 , a 4 , a 5 , a 6 } \begin{cases} A_{near}: \{a_1,a_2\} \\ B_{near}: \{a_3,a_4,a_5,a_6\} \end{cases} {Anear:{a1,a2}Bnear:{a3,a4,a5,a6}
新的点群中心坐标的计算结果表示如下:
{ a 1. x + a 2. x 2 = 0 + 0 2 = 0 a 1. y + a 2. y 2 = 0 + 2 2 = 1 A 1 : ( 0 , 1 ) { a 3. x + a 4. x + a 5. x + a 6. x 4 = 1 + 3 + 6 + 6 4 = 4 a 3. y + a 4. y + a 5. y + a 6. y 4 = 1 + 2 + 0 + 2 4 = 1.25 B 1 : ( 4 , 1.25 ) \begin{aligned} & \begin{cases} \begin{aligned}\frac{a_{1.x} + a_{2.x}}{2} = \frac{0 + 0}{2} = 0\end{aligned} \\ \begin{aligned} \frac{a_{1.y} + a_{2.y}}{2} = \frac{0 + 2}{2} = 1 \end{aligned} \end{cases} \quad A_1:(0,1) \\ & \begin{cases} \begin{aligned}\frac{a_{3.x} + a_{4.x} + a_{5.x} + a_{6.x}} {4} = \frac{1 + 3 + 6 + 6}{4} = 4\end{aligned} \\ \begin{aligned} \frac{a_{3.y} + a_{4.y} + a_{5.y} + a_{6.y}}{4} = \frac{1 + 2 + 0 + 2}{4} = 1.25 \end{aligned} \end{cases} \quad B_1:(4,1.25) \end{aligned} 2a1.x+a2.x=20+0=02a1.y+a2.y=20+2=1A1:(0,1) 4a3.x+a4.x+a5.x+a6.x=41+3+6+6=44a3.y+a4.y+a5.y+a6.y=41+2+0+2=1.25B1:(4,1.25)
此时已经得到新的种子点 A 1 , B 1 A_1,B_1 A1,B1,新的位置关系表示如下:
第一次迭代
重新执行上面的步骤:
针对种子点 A 1 , B 1 A_1,B_1 A1,B1,分别求出各自对应其他样本点的距离:

SamplePoint/InitialCenter \text{SamplePoint/InitialCenter} SamplePoint/InitialCenter A 1 A_1 A1 B 1 B_1 B1 ClusterResult \text{ClusterResult} ClusterResult
a 1 : ( 0 , 0 ) a_1:(0,0) a1:(0,0) 1 1 1 > 1 >1 >1 A 1 A_1 A1
a 2 : ( 0 , 2 ) a_2:(0,2) a2:(0,2) 1 1 1 > 1 >1 >1 A 1 A_1 A1
a 3 : ( 1 , 1 ) a_3:(1,1) a3:(1,1) 1 1 1 > 1 >1 >1 A 1 A_1 A1
a 4 : ( 3 , 2 ) a_4:(3,2) a4:(3,2) > 5 4 \begin{aligned}>\frac{5}{4}\end{aligned} >45 5 4 \begin{aligned}\frac{5}{4}\end{aligned} 45 B 1 B_1 B1
a 5 : ( 6 , 0 ) a_5:(6,0) a5:(6,0) > 89 4 \begin{aligned}>\frac{\sqrt{89}}{4}\end{aligned} >489 89 4 \begin{aligned}\frac{\sqrt{89}}{4}\end{aligned} 489 B 1 B_1 B1
a 6 : ( 6 , 2 ) a_6:(6,2) a6:(6,2) > 73 4 \begin{aligned}>\frac{\sqrt{73}}{4}\end{aligned} >473 73 4 \begin{aligned}\frac{\sqrt{73}}{4}\end{aligned} 473 B 1 B_1 B1

能够得到距离种子点 A 1 A_1 A1近的样本点集合 A 1 ⇒ n e a r A_{1\Rightarrow near} A1near和距离种子点 B 1 B1 B1近的样本点集合 B 1 ⇒ n e a r B_{1 \Rightarrow near} B1near
{ A 1 ⇒ n e a r : { a 1 , a 2 , a 3 } B 1 ⇒ n e a r : { a 4 , a 5 , a 6 } \begin{cases} A_{1 \Rightarrow near}: \{a_1,a_2,a_3\} \\ B_{1 \Rightarrow near}: \{a_4,a_5,a_6\} \end{cases} {A1near:{a1,a2,a3}B1near:{a4,a5,a6}
此时发现新集合 A 1 ⇒ n e a r , B 1 ⇒ n e a r A_{1 \Rightarrow near},B_{1 \Rightarrow near} A1near,B1near中的样本点与初始状态的集合 A n e a r , B n e a r A_{near},B_{near} Anear,Bnear样本点存在差异,需要继续计算。新样本点的结果表示为
A 2 : ( 1 3 , 1 ) , B 2 : ( 5 , 4 3 ) A_2:(\frac{1}{3},1),B_2:(5,\frac{4}{3}) A2:(31,1),B2:(5,34)
对应图像结果表示如下:
第二次迭代

继续迭代。针对种子点 A 2 , B 2 A_2,B_2 A2,B2,分别求出各自对应其他样本点的距离:

SamplePoint/InitialCenter \text{SamplePoint/InitialCenter} SamplePoint/InitialCenter A 2 A_2 A2 B 2 B_2 B2 ClusterResult \text{ClusterResult} ClusterResult
a 1 : ( 0 , 0 ) a_1:(0,0) a1:(0,0) 10 3 \begin{aligned}\frac{\sqrt{10}}{3}\end{aligned} 310 > 10 3 \begin{aligned}>\frac{\sqrt{10}}{3}\end{aligned} >310 A 2 A_2 A2
a 2 : ( 0 , 2 ) a_2:(0,2) a2:(0,2) 10 3 \begin{aligned}\frac{\sqrt{10}}{3}\end{aligned} 310 > 10 3 \begin{aligned}>\frac{\sqrt{10}}{3}\end{aligned} >310 A 2 A_2 A2
a 3 : ( 1 , 1 ) a_3:(1,1) a3:(1,1) 2 3 \begin{aligned}\frac{2}{3}\end{aligned} 32 > 2 3 \begin{aligned}>\frac{2}{3}\end{aligned} >32 A 2 A_2 A2
a 4 : ( 3 , 2 ) a_4:(3,2) a4:(3,2) > 10 2 3 \begin{aligned}>\frac{10\sqrt{2}}{3}\end{aligned} >3102 10 2 3 \begin{aligned}\frac{10\sqrt{2}}{3}\end{aligned} 3102 B 2 B_2 B2
a 5 : ( 6 , 0 ) a_5:(6,0) a5:(6,0) > 5 3 \begin{aligned}>\frac{5}{3}\end{aligned} >35 5 3 \begin{aligned}\frac{5}{3}\end{aligned} 35 B 2 B_2 B2
a 6 : ( 6 , 2 ) a_6:(6,2) a6:(6,2) > 13 3 \begin{aligned}>\frac{\sqrt{13}}{3}\end{aligned} >313 13 3 \begin{aligned}\frac{\sqrt{13}}{3}\end{aligned} 313 B 2 B_2 B2

能够得到距离种子点 A 2 A_2 A2近的样本点集合 A 2 ⇒ n e a r A_{2 \Rightarrow near} A2near和距离种子点 B 2 B_2 B2近的样本点集合 B 2 ⇒ n e a r B_{2 \Rightarrow near} B2near
{ A 2 ⇒ n e a r : { a 1 , a 2 , a 3 } B 2 ⇒ n e a r : { a 4 , a 5 , a 6 } \begin{cases} A_{2 \Rightarrow near}: \{a_1,a_2,a_3\} \\ B_{2 \Rightarrow near}: \{a_4,a_5,a_6\} \end{cases} {A2near:{a1,a2,a3}B2near:{a4,a5,a6}
此时发现新集合 A 2 ⇒ n e a r , B 2 ⇒ n e a r A_{2 \Rightarrow near},B_{2 \Rightarrow near} A2near,B2near中的样本点与第一次迭代的集合 A 1 ⇒ n e a r , B 1 ⇒ n e a r A_{1 \Rightarrow near},B_{1 \Rightarrow near} A1near,B1near样本点相同,停止迭代。整个迭代过程中,种子点 A , B A,B A,B各移动两次,各种子点对应集合均包含 3 3 3个样本点。 A \mathcal A \quad A 选项正确。


http://lihuaxi.xjx100.cn/news/1007416.html

相关文章

人工智能前沿——「全域全知全能」人类新宇宙ChatGPT

🚀🚀🚀OpenAI聊天机器人ChatGPT——「全域全知全能」人类全宇宙大爆炸!!🔥🔥🔥 一、什么是ChatGPT?🍀🍀 ChatGPT是生成型预训练变换模型(Chat G…

李宏毅2021春季机器学习课程视频笔记11-卷积伸进网络(CNN)

卷积神经网络架构 图像识别 将图片拉直放入神经网络中进行训练。 网络通过对图像中的存在的特征进行分析,判断当前属于何种类别。 神经网络其实不需要对整个图片进行分析,只需要对一些特殊的信息进行分析就可以得知当前图片所属的类别,基于此…

JSON 元素的添加删除

javasscript删除数组的3种方法 1,用shift()方法 shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var chaomao[1,2,3,4,5] var chaomao.shift()//得到1 alert(chaomao)//[2,3,4,5] 2,用pop()…

4Arm PEG Glutathione,四臂聚乙二醇谷胱甘肽,多臂PEG衍生物相关知识分享整理

●中文名:四臂PEG谷胱甘肽,四臂聚乙二醇谷胱甘肽,四臂4arm-PEG-谷胱甘肽 ●英文名:4 Arm PEG Glutathione,4-Arm PEG-Glutathione 结构式: ●外观以及性质: 4 Arm PEG Glutathione产物呈固体…

在vscode中切换分支,显示已经删除的远程分支

运行命令:修剪远程分支 git remote prune origin 然后远程的已经删除的分支就不见了。

yolov5模型训练流程

yolov5简介 YOLOv5(You Only Look Once)是由 UitralyticsLLC公司发布的一种单阶段目标检测算 法,YOLOv5 相比YOLOv4 而言,在检测平均精度降低不多的基础上,具有均值权重文件更小,训练时间和推理速度更短的特点。YOLOv5 的网络结构…

深度学习12. CNN经典网络 VGG16

深度学习12. CNN经典网络 VGG16一、简介1. VGG 来源2. VGG分类3. 不同模型的参数数量4. 3x3卷积核的好处5. 关于学习率调度6. 批归一化二、VGG16层分析1. 层划分2. 参数展开过程图解3. 参数传递示例4. VGG 16各层参数数量三、代码分析1. VGG16模型定义2. 训练3. 测试一、简介 …

QN88封装国产FPGA

QN88GW1N-9管脚名GW2A-18管脚名AL3S10EG4S201VCCVCCIO_L1_1VCC_12VSSVSSIO_L2_1IO_L1_13IOL2AVCCO7IO_L3_1,MOSI,D1IO_L2_14IOL5A/JTAGSEL_N/LPLL_T_inIOL7A/LPLL1_T_inIO_L4_1IO_L1N_15IOL11A/TMSIOR25B/TMSIO_L5_1,SPICSNIO_L1P_16IOL11B/TCKIOR26A/TCKINITNGND7IOL12B/TDIIO…