10.吴恩达机器学习——无监督学习01聚类与异常检测算法

从本节开始,正式进入无监督学习课程部分

一、什么是聚类

聚类(Clustering)是机器学习领域的一种无监督学习方法,其核心目标是将数据集中的样本划分为若干个子集(称为簇,Cluster),使得同一簇内的样本之间相似度较高,而不同簇之间的样本相似度较低。聚类不需要预先标注的标签数据,而是通过样本自身的特征分布自动发现数据内在的结构模式。

二、K均值算法

K均值算法会做两件事:将点分配给聚类中心,移动聚类

(1)算法步骤

  1. 随机猜测你可能要求算法找到的聚类的中心,示例中首先随机找两个点作为聚类中心

  1. 算法会遍历的计算每个数据点与聚类中心的距离,离谁更近,这个数据点就归为这一类
  2. 查看所有经过第一次分配后的相同类点,并取该类点的平均值作为该类的新中心,更新聚类中心(这里是对红色和蓝色分别操作)

  3. 接着重复之前的步骤,直到聚类中心不再有太大变化

(2)算法实现

注意,如果存在一个数据点没有被聚类,通常是删除这个点

(3)算法优化

  1. 算法代价函数定义

  1. 初始化聚类中心

之前提到的初始化是随机点,而聚类算法中常用的是用训练数据集中的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到√n,n为样本数)并比较指标。

三、异常检测算法

(1)基本概念

  • 实现异常检测算法最常用的是一种叫密度估计的技术,当得到m个样本时,你需要做的是建立一个x的概率模型,也就是找出特征最有可能出现的值,和最不可能出现的值
  • 我们认为密度越大的区域,特征取值概率越高,就越正常,越稀疏就表示可能存在问题,当我们的x_test的概率p(x_test)小于某个阈值时候,我们就需要将其标记为异常,从而进行检测

(2)算法构建

下图中的p(x)表示样本x的概率

步骤如下:

  1. 选择n个特征xi,这些特征可能指示异常样本
  2. 为特征拟合参数μ和σ^2
  3. 给出一个新样本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),则aX+b∼N(aμ+b,a^2σ^2)。
  • 标准正态分布:当μ=0,σ=1时,称为标准正态分布N(0,1),常用于Z分数转换。

五、异常检测VS监督学习

选择异常检测

  • 当我们只有少量正样本和相对大量的负样本时,异常检测算法通常是更合适的选择,我们可以使用负样本来构建p(x)模型,模型参数只从负样本中学习得到
  • 较小的正样本只用于交叉验证集和测试集中的参数调优评估
  • 如果你认为你的任务中有许多不同类型的异常或者许多不同类型的正样本
  • 未来的异常可能从未出现

选择监督学习

  • 如果你有大量正样本和负样本时候,选择监督学习算法可能更好
  • 理想情况下,有足够的正样本来让算法了解正样本的样子
  • 监督学习中,我们倾向于假设未来的正样本可能与训练集中的正样本相似

示例如下

六、异常检测算法特征选择

(1)特征不是高斯分布

如果原始特征不是高斯分布情况,我们需要对其进行数据变化,让其符合高斯分分布,变化的方式方法如上图所示

请记住:不管你对训练集做了什么改变,交叉验证集和测试集也需要有对应的变化

(2)算法在交叉验证集上表现不佳

查看算法在哪些方面表现不佳从而来改进算法,一般来说,如果存在一个异常样本,但其现有特征和正常样本相似,这个时候就需要我们查看这个异常样本,找到一些新的特征,从而将其与正常样本区分开来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1169337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3 款神器让程序员效率狂飙,早用早躺赢

在科技飞速发展的 2026 年,人工智能已深度融入软件开发的各个环节,AI 开发工具成为程序员提升效率、突破瓶颈的关键助力。面对琳琅满目的工具市场,选择适合自身需求的 AI 开发工具,能让开发工作事半功倍。以下为大家介绍 2026 年必…

2026年 半导体精密温控系统厂家推荐排行榜,控温模块/安防镜头控温/高清摄像头控温,专家级0.05℃精准控温技术深度解析 - 品牌企业推荐师(官方)

2026年半导体精密温控系统厂家推荐排行榜:控温模块/安防镜头控温/高清摄像头控温,专家级0.05℃精准控温技术深度解析 在半导体制造、高端光学成像、精密仪器仪表以及前沿科研领域,温度的细微波动往往是决定成败的关…

内网渗透实战指南:一次完整的域渗透全流程(网络安全自学必备)

在开始域渗透之前,先来简单了解下域的一些概念 域(Domain)是一个有安全边界的计算机集合(安全边界的意思是,在两个域中,一个域中的用户无法访问另一个域中的资源) 工作组的分散管理模式不适合大…

区块链“速度与安全”终极对决:以太坊、Solana、Polygon的生态攻防战

引言:区块链的“军备竞赛”进入深水区当比特币用“数字黄金”敲开区块链世界的大门后,公链(Public Blockchain)的竞争早已超越单纯的技术参数比拼,演变为一场关于生态、扩展性与用户体验的全方位战争。2025年的公链战场…

2025年驼奶粉品牌实力榜单:最好的驼奶粉/ 驼粉/ 什么牌子的驼奶好/驼奶粉品牌精选 - 品牌推荐官

随着大健康产业的持续深化与消费者对高品质营养食品需求的提升,以骆驼奶为代表的高端特色乳品市场迎来了快速发展的机遇期。数据显示,近年来驼奶粉市场规模年均增长率显著,尤其在对健康、天然、功能性有更高认知度的…

基于PMU相量测量单元进行电力系统电压幅值和相角状态估计Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#…

DeFi 2.0流动性革命:动态博弈算法如何重构万亿级质押经济?

引言:流动性困局与DeFi 2.0的破局之道2020年“DeFi Summer”的狂欢中,流动性挖矿以高收益点燃了加密市场,但随之而来的“流动性吸血鬼”效应却让协议陷入恶性循环——早期用户通过通胀代币套利离场,留下协议因流动性枯竭而衰败。这…

10 分钟搞定 10 小时的活!

在电商平台运维场景中,当运维人员需要完成 “统计近一个月各地区订单销售额与用户购买频次” 这类常规需求时,传统流程往往意味着至少半小时的 SQL 语句编写与反复调试。但借助飞算 JavaAI 的 SQL chat 功能,这一需求的解决周期被压缩至几分钟…

2026 网络安全挑战何解?AI 驱动攻防变革,零信任 + 量子安全破局关键

2026年网络安全趋势深度解析:AI驱动攻防变革,零信任与量子安全成破局关键 2026年,网络安全行业正式步入“AI原生攻防”与“体系化韧性建设”并行的新阶段。随着生成式AI、AI Agent的规模化应用,攻击手段从“精准试探”升级为“自…

考虑需求侧响应的智慧楼宇多时间尺度调度策略【综合能源】Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#…

基于DistFlow潮流的配电网故障重构(输入任意线路)Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室 👇 关注我领取海量matlab电子书和数学建模资料 &#…

【知识科普】TLS协议深入解读

文章目录 概述 一、定义与目的二、组成与架构三、工作流程四、版本与安全性五、应用场景六、优势与特点 与SSL之间的异同点 相同点不同点 相关文献 概述 TLS(Transport Layer Security,传输层安全性协议)是一种为网络通信提供安全及数据完…

当AI能迅速实现想法时,发现用户真实需求变得更为关键——某知名安卓数字健康工具的需求洞察

a.内容描述 核心功能定位:一款专注于帮助用户减少屏幕成瘾、培养更健康数字习惯的开源安卓生产力工具。关键应用场景:适用于希望控制手机使用时长、避免特定应用或内容(如短视频、评论区)干扰,以及希望通过视觉提示&am…

实用指南:Flutter 与开源鸿蒙(OpenHarmony)性能调优实战:从启动速度到帧率优化的全链路指南

实用指南:Flutter 与开源鸿蒙(OpenHarmony)性能调优实战:从启动速度到帧率优化的全链路指南2026-01-16 17:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !imp…

swing 摆幅

swing 摆幅 推荐阅读 引言 正文 Author: JiJi \textrm{Author: JiJi} Author: JiJi Created Time: 2026.01.16 \textrm{Created Time: 2026.01.16} Created Time: 2026.01.16

什么是DNS协议?

DNS协议也可以称为DNS服务,全称是Domain Name System,即域名系统,和HTTP协议一样,也是一个位于应用层的协议(服务),它是基于运输层的UDP协议的,关于网络协议的分层介绍,见…

2026年GEO优化源码哪家靠谱?源头厂商推荐 - 源码云科技

2026年GEO优化源码哪家靠谱?源头厂商推荐2026年AI搜索全面爆发,GEO优化早已不是企业营销的“加分项”,而是抢占流量红利的“必选项”。但市面上GEO优化服务商鱼龙混杂,贴牌代理层层加价、源码技术依赖第三方、效果…

小白学安全--web安全入门(非常详细)零基础入门到精通,收藏这一篇就够了

作为一个从知道创与到自建安全团队的资深白帽子,一路也是从不止所谓的web小白历经磨难成长起来的我,给现在正在准备学习web安全的同学一些建议。在我认为,渗透安全的范围其实要学习的东西很广泛的,间接的相当于你要是一个前端工程…

欧姆龙 Omron PLC 系列 NX/NJ 编程实战:ST 与功能块应用

欧姆龙OmronPLC系列NX/NJ。 程序事例参考。 包括ETHERCAT伺服通讯的FB功能块,气缸控制的FB功能块。 ST编程。 Sysmac Studio。在自动化控制领域,欧姆龙 Omron PLC 系列的 NX/NJ 以其强大的性能和丰富的功能备受关注。今天咱就聊聊如何基于 Sysmac Studio…

Python+django爬虫大同旅游产业数据可视化分析_o4skhwx7

目录PythonDjango爬虫与大同旅游产业数据可视化分析关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!PythonDjango爬虫与大同旅游产业数据可视化分析 爬虫技术结合Django框架能够高效…