2026/2/6 11:13:45
网站建设
项目流程
电商网站定制,黑龙江省建设厅的网站首页,wordpress淘宝联盟插件,响应式模板网站建设从本节开始#xff0c;正式进入无监督学习课程部分一、什么是聚类聚类#xff08;Clustering#xff09;是机器学习领域的一种无监督学习方法#xff0c;其核心目标是将数据集中的样本划分为若干个子集#xff08;称为簇#xff0c;Cluster#xff09;#xff0c;使得同…从本节开始正式进入无监督学习课程部分一、什么是聚类聚类Clustering是机器学习领域的一种无监督学习方法其核心目标是将数据集中的样本划分为若干个子集称为簇Cluster使得同一簇内的样本之间相似度较高而不同簇之间的样本相似度较低。聚类不需要预先标注的标签数据而是通过样本自身的特征分布自动发现数据内在的结构模式。二、K均值算法K均值算法会做两件事将点分配给聚类中心移动聚类(1)算法步骤随机猜测你可能要求算法找到的聚类的中心示例中首先随机找两个点作为聚类中心算法会遍历的计算每个数据点与聚类中心的距离离谁更近这个数据点就归为这一类查看所有经过第一次分配后的相同类点并取该类点的平均值作为该类的新中心更新聚类中心这里是对红色和蓝色分别操作接着重复之前的步骤直到聚类中心不再有太大变化(2)算法实现注意如果存在一个数据点没有被聚类通常是删除这个点(3)算法优化算法代价函数定义初始化聚类中心之前提到的初始化是随机点而聚类算法中常用的是用训练数据集中的K个点作为初始化的聚类中心而这K个点的选择要使得当前的代价函数最低便是最优图中红框部分既是最优采用多次随机初始化暴力找到最优(4)选择聚类数量1. 肘部法则Elbow Method该方法计算不同K值下的簇内平方和Within-Cluster Sum of Squares, WCSS即每个样本到其所属聚类中心的距离平方和。随K增加WCSS会迅速下降后趋于平缓。绘制WCSS随K变化的曲线寻找曲线拐点类似于“肘部”作为最优K该点之后WCSS下降幅度显著减小表示进一步增加K的收益递减。以下为肘部法则的典型曲线示例2. 其他考虑因素领域知识在实际应用中常结合业务理解预估合理K值如客户分群中的预期细分数量。多种方法结合单一方法可能产生歧义推荐同时使用肘部法、轮廓系数法和间隙统计法进行交叉验证。局限性这些方法均为启发式当数据簇形状不规则、重叠严重或噪声较多时可能无法给出清晰最优K此时可考虑其他聚类算法如DBSCAN无需指定K。在实践中可通过编程库如Python的scikit-learn实现上述评估遍历合理K范围通常从2到√nn为样本数并比较指标。三、异常检测算法(1)基本概念实现异常检测算法最常用的是一种叫密度估计的技术当得到m个样本时你需要做的是建立一个x的概率模型也就是找出特征最有可能出现的值和最不可能出现的值我们认为密度越大的区域特征取值概率越高就越正常越稀疏就表示可能存在问题当我们的x_test的概率p(x_test)小于某个阈值时候我们就需要将其标记为异常从而进行检测(2)算法构建下图中的p(x)表示样本x的概率步骤如下选择n个特征xi这些特征可能指示异常样本为特征拟合参数μ和σ^2给出一个新样本x_test计算p(x),判断是否小于阈值如果是就标记为异常(3)异常检测系统开发和评估对于一些我们已知目标值的数据我们常常可以进行数值估计来评估模型的优劣并对模型做进一步的调整。示例如下训练集使用正常的数据交叉验证集和测试集我们可以使用一部分正常的数据并且加入一部分异常的数据观察模型是否能够正确地将异常数据找出来并且将正常地数据识别为正常这里我们常常需要调整阈值地大小或者是增加或者删除特征值以此来调整模型的准确度。在交叉验证集或者测试集上实际评估算法可以使用到之前讲过的评估参数对交叉验证集和测试集进行评估精确率、召回率、F1分数因为我们已知目标值。四、高斯分布(正态分布(1)基本概念高斯分布Gaussian distribution亦称为正态分布Normal distribution是一种最重要的连续概率分布由德国数学家卡尔·弗里德里希·高斯命名。其概率密度函数PDF定义如下其中μ为均值mean决定分布的中心位置σ为标准差standard deviationσ^2为方差决定分布的分散程度。(2)主要特性图形特征呈现对称的钟形曲线bell curve峰值位于均值μ处随偏离均值距离增加而迅速衰减。对称性关于均值μ完全对称均值、中位数和众数均等于μ。经验法则68-95-99.7规则约68%的数据落在μ±σ范围内95%落在μ±2σ内99.7%落在μ±3σ内。线性性质若X∼N(μ,σ^2)则aXb∼N(aμb,a^2σ^2)。标准正态分布当μ0,σ1时称为标准正态分布N(0,1)常用于Z分数转换。五、异常检测VS监督学习选择异常检测当我们只有少量正样本和相对大量的负样本时异常检测算法通常是更合适的选择我们可以使用负样本来构建p(x)模型模型参数只从负样本中学习得到较小的正样本只用于交叉验证集和测试集中的参数调优评估如果你认为你的任务中有许多不同类型的异常或者许多不同类型的正样本未来的异常可能从未出现选择监督学习如果你有大量正样本和负样本时候选择监督学习算法可能更好理想情况下有足够的正样本来让算法了解正样本的样子监督学习中我们倾向于假设未来的正样本可能与训练集中的正样本相似示例如下六、异常检测算法特征选择(1)特征不是高斯分布如果原始特征不是高斯分布情况我们需要对其进行数据变化让其符合高斯分分布变化的方式方法如上图所示请记住不管你对训练集做了什么改变交叉验证集和测试集也需要有对应的变化(2)算法在交叉验证集上表现不佳查看算法在哪些方面表现不佳从而来改进算法一般来说如果存在一个异常样本但其现有特征和正常样本相似这个时候就需要我们查看这个异常样本找到一些新的特征从而将其与正常样本区分开来