吴恩达机器学习全课程笔记第六篇
目录
前言
P96-P100
使用多个决策树
随机森林算法
XGBoost
什么时候使用决策树
P101-P107
聚类
K-means
初始化K-means
选择聚类的个数
P108-P113
异常检测算法
开发和评估异常检测系统
异常检测vs监督学习
选择要使用的特征
前言
这是吴恩达机器学习笔记的第六篇,第五篇笔记请见:
吴恩达机器学习全课程笔记第五篇
完整的课程链接如下:
吴恩达机器学习教程(bilibili)
推荐网站:
scikit-learn中文社区
吴恩达机器学习资料(github)
P96-P100
使用多个决策树
使用单一决策树的缺点之一是对数据中微小的变化非常敏感,一个使算法不那么敏感或更健壮的方案是建立大量的决策树

每个决策树给出一个结果、少数服从多数

放回抽样

随机森林算法
随机森林算法是一种强大的树集成算法,比使用单个的决策树工作得更好
用放回抽样生成B组数据,训练每一组数据得到B个决策树,一般来说随着B的增大,算法的性能会先提高再递减

即使是使用放回抽样,有时总是在根节点上使用相同的拆分或者和根节点非常相似的分裂
因此,对算法进行了一次修改,以进一步尝试在每个结点随机化特性选择,这会导致你学习的一组树变得更加不同,您将选择k个特性作为允许的特性,然后在这些K个特性中,选择信息增益最高的一个作为使用拆分的特性的选择,当n很大时,常见的一种选择方法是令

XGBoost
XGBoost背后的想法是看看到目前为止我们已经训练过的决策树,看看我们还没有做得很好的例子,而不是看所有的训练例子

需要注意的此算法不使用放回抽样,XGBoost实际上给不同的训练例子分配了不同的权重,所以它实际上不需要生成大量的数据集

XGBoost的低层实现非常复杂,所以大多数情况下,许多从业者要使用开源库来实现

什么时候使用决策树
下面是决策树和神经网络的对比和适用场景

P101-P107
聚类
聚类(Clustering):是指把相似的数据划分到一起,具体划分的时候并不关心这一类的标签,目标就是把相似的数据聚合到一起,聚类是一种无监督学习(Unsupervised Learning)方法
下面是聚类的一些应用:

K-means
该算法的过程:在坐标轴上随机设置两个点A、B,对于坐标轴上每个点,分别求出和A、B的距离,把距离A较近的一组点标记为a类,把距离B较近的一组点标记为b类,然后求出a类所有点的平均点(x坐标和y坐标都取平均数)替代原来的A,求出b类所有点的平均点(x坐标和y坐标都取平均数)替代原来的B,然后重复上述过程,一直用上述方法进行迭代,直到两次操作之后a类的点b类的点不会发生变化,此时就把所有的点分成了a类点和b类点两个cluster

在那些没有分离的很好的数据集上运行k-means也会取得效果

k-means算法的成本函数如下所示

可以通过移动中心来降低成本(损失)

初始化K-means
初始化聚类中心的第一种方法是随机选取样本中的点

但有的时候会陷入成本函数的局部最优解
一种方法是运行多次k-means然后计算每一种结果的成本函数,选择最小的情况

总结初始化的方法如下,注意,100可以是随意选择的,但是随着这个数的增大,有可能产生一定的负面效果

选择聚类的个数
聚类个数k的选择是具有二义性的

一种选择聚类个数的方法叫做肘法

但是在很多情况下,这个曲线没有一个明显的肘部的位置
所以,大多数情况下,还是要根据问题的实际情况选择合适的聚类个数

P108-P113
异常检测算法
下面是一个飞机引擎检测的例子

一种方法是密度预测

一种应用是用来检测骗子(机器人)

高斯分布(高中应该都学过,不多写了)

下面是异常检测算法的表达式
算法具体步骤如下:

举一个具体的例子进行说明

开发和评估异常检测系统

以飞机引擎检测为例,由于异常数据较少,一种替代方法是仅设置交叉验证集而不设置测试集

评估异常检测系统的方法如下

异常检测vs监督学习


选择要使用的特征
异常特征的选择对于异常检测算法相当重要
对于一些不满足高斯分布的特征,可以对它进行调整,是他接近高斯分布

有些情况,即使p(x)很大但其实它就是异常数据,这时候我可以去识别、添加进去一些新的特征去解决这个问题

通过组合旧特征来形成新特征也是常见的,以检测计算机为例

相关文章:
吴恩达机器学习全课程笔记第六篇
目录 前言 P96-P100 使用多个决策树 随机森林算法 XGBoost 什么时候使用决策树 P101-P107 聚类 K-means 初始化K-means 选择聚类的个数 P108-P113 异常检测算法 开发和评估异常检测系统 异常检测vs监督学习 选择要使用的特征 前言 这是吴恩达机器学习笔记的第…...
ue4.27 发现 getRandomReachedLocation 返回 false
把这个玩意儿删掉,重启工程,即可 如果还不行 保证运动物体在 volum 内部,也就是绿色范围内确保 project setting 里面的 navigation system 中 auto create navigation data 是打开的(看到过博客说关掉,不知道为啥) 如果还不行&…...
【C++ AVL树】
文章目录 AVL树AVL树的概念AVL树节点的定义AVL树的插入AVL树的旋转右单旋左单旋左右双旋右左双旋 代码实现 总结 AVL树 AVL树的概念 二叉搜索树在顺序有序或接近有序的情况下,而插入搜索树将退化为单叉树,此时查找的时间复杂度为O(n),效率低…...
记录一次架构优化处理性能从3千->3万
0.背景 优化Kafka消费入Es,适配600台设备上报数据,吞吐量到达2万每秒 1.环境配置 2.压测工具 3.未优化之前的消费逻辑 4.优化之后的消费流程 5.多线程多ESclient 6.修改ES配置,增加kafka分区,增加线程,提升吞吐量 7.…...
c++二进制位运算使用方法
文章主要内容: C 中的位运算符主要用于对整数类型的数据进行位操作,包括按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<&#…...
TypeScript之JSON点语法调用
场景 当我们想要通过将JSON中的属性名赋值给一个变量,并且通过点语法实现字段调用.常规的String变量保存会出现下述问题,就可以通过String[][]实现动态调用字段. let parentJSON{"name":"liupeng"}let a:String;Object.keys(parentJSON).forEach(key >…...
手撕Java集合之简易版Deque(LinkedList)
在目前,许多互联网公司的面试已经要求能手撕集合源码,集合源码本身算是源码里比较简单的一部分,但是要在面试极短的10来分钟内快速写出一个简易版的源码还是比较麻烦的,很容易出现各种小问题。所以在平时就要注重这方面的联系。 以…...
MySQL知识点归纳总结(二)
10、MVCC实现原理? 事务ID(Transaction ID):每个事务在执行时都会被分配一个唯一的事务ID,用于标识该事务的开始时间顺序。事务ID是一个递增的整数,随着每个新事务的开始而递增。 Undo日志(Un…...
vue:实现顶部消息横向滚动通知
前言 系统顶部展示一个横向滚动的消息通知,就是消息内容从右往左一直滚动。 效果如下: 代码 使用 <template><div class"notic-bar"><img :src"notic" class"notice-img" /><div class"noti…...
[笔记] wsl 禁用配置 win系统环境变量+代理
wsl 配置禁用 win系统环境变量 进入 wsl 的 /etc/wsl.conf 目录,增加以下配置: [interop] enabledfalse appendWindowsPathfalse然后退出wsl,并且执行关闭正在运行的 wsl,执行命令 wsl --shutdown 最后重新进入wsl 即可。 参考…...
Mysql标量子查询
目录 子查询标量子查询数据准备 子查询 SQL语句中嵌套select语句,称为嵌套查询,又称子查询。 SELECT * FROM t1 WHERE column1 ( SELECT column1 FROM t2 ... );子查询外部的语句可以是insert / update / delete / select 的任何一个&…...
深入了解Java虚拟机(JVM)
Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释执行Java字节码,并在各种平台上执行。JVM的设计使得Java具有跨平台性,开发人员只需编写一次代码,就可以在任何支持Java的系统上运行。我们刚开始学习Ja…...
Image Fusion via Vision-Language Model【文献阅读】
阅读目录 文献阅读AbstractIntroduction3. Method3.1. Problem Overview3.2. Fusion via Vision-Language Model 4. Vision-Language Fusion Datasets5. Experiment5.1Infrared and Visible Image Fusion 6. Conclusion个人总结 文献阅读 原文下载:https://arxiv.or…...
探索Manticore Search:开源全文搜索引擎的强大功能
在当今信息爆炸的时代,数据的快速检索变得至关重要。无论是在电子商务网站、新闻门户还是企业内部文档,高效的搜索引擎都是确保用户满意度和工作效率的关键因素之一。而在搜索引擎领域,Manticore Search 作为一款开源的全文搜索引擎ÿ…...
AI 笔记助手,你的思路整理助手
大家好,今天给大家介绍一款非常实用的 AI 笔记助手——AI Note。这款助手就像是一个贴心的小助手,能帮助我们整理笔记,提高学习和工作效率。 🤖 AI Note 可以智能总结笔记内容,准确标记重点,让我们更快地获…...
EchoServer回显服务器简单测试
目录 工具介绍 工具使用 测试结果 工具介绍 github的一个开源项目,是一个测压工具 EZLippi/WebBench: Webbench是Radim Kolar在1997年写的一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的…...
车灯修复UV胶的优缺点有哪些?
车灯修复UV胶的优点如下: 优点: 快速固化:通过紫外光照射,UV胶可以在5-15秒内迅速固化,提高了修复效率。高度透明:固化后透光率高,几乎与原始车灯材料无法区分,修复后车灯外观更加…...
探讨倒排索引Elasticsearch面试与实战:从理论到实践
在当前大数据时代,Elasticsearch(以下简称为ES)作为一种强大的搜索和分析引擎,受到了越来越多企业的青睐。因此,对于工程师来说,掌握ES的面试准备和实战经验成为了必备技能之一。本文将从ES的面试准备和实际…...
网安入门18-XSS(靶场实战)
HTML实体化编码 为了避免 XSS 攻击,会将<>编码为<与>,这些就是 HTML 实体编码。 编码前编码后不可分的空格 < (小于符号)< > (大于符号)> & (与符号)&″ (双引号)"’ (单引号)'© (版权符…...
爬虫的一些小技巧总结
一、在爬虫中,爬取的数据类型如下 1.document:返回的是一个HTML文档 2.png:无损的图片,jpg:压缩后的图片,wbep:有损压缩,比png差,比jpg好 3.avgxml图像编码字符串 4.script:脚本文件,依据一定格式编写的可执行的文…...
Rhino_IT嵌入式语音意图识别引擎深度解析
1. Rhino_IT 嵌入式语音意图识别引擎深度解析 1.1 技术定位与工程价值 Rhino_IT 是 Picovoice 公司为 Arduino Nano 33 BLE Sense 平台定制的意大利语语音意图识别(Speech-to-Intent)SDK。它并非通用语音识别(ASR),而…...
这个效率技巧,能找回你复制过的内容
很多人不知道,复制内容其实可以看历史记录。 也就是说,你复制过的内容,不一定只能保留最后一条。 Windows:系统自带 如果你用的是 Windows 10 / 11,系统已经内置了这个功能。 直接按:Win V 第一次使用…...
OpenCV多线程编程:从单线程到多线程的视频处理晌
核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...
微波管参数全解析:什么是高压供电和聚焦磁场?
摘要:上一篇我们聊了决定雷达 “视力” 的核心参数「噪声系数」,今天我们拆解行波管里最硬核的两个设计 ——高压供电与聚焦磁场。为什么放大一个微波信号,需要几千甚至几万伏的高压?聚焦磁场到底给电子束套上了什么 “魔法”&…...
Python项目部署之Gunicorn知识详解
1. 引言 在 Python Web 开发的世界里,将开发好的应用部署到生产环境是一个至关重要的环节。我们常用的开发框架如 Flask、Django 都内置了简单的 WSGI 服务器,但这些服务器仅适用于开发阶段,因为它们性能低下、安全性不足且无法处理并发请求。…...
日立电梯05版规格表智能计算工具(升级版)|WPS宏支持|适配WPS2024+Win10 64位
温馨提示:文末有联系方式日立电梯05规格表工具升级版正式发布 全新优化的日立电梯05规格表计算软件现已上线,专为电梯设计、安装与维保工程师打造,大幅提升参数录入与校验效率。功能标识更直观,操作一目了然 所有计算模块、输入项…...
MyBatis-Plus lambdaQuery条件构造器:EQ、NE、GT等操作符实战解析
1. 为什么需要lambdaQuery条件构造器 如果你用过MyBatis,肯定遇到过这样的场景:为了查询某个状态的数据,不得不写一堆if判断来拼接SQL。比如查询用户列表,要根据不同条件筛选,代码里全是"if(name!null){sql"…...
蓝桥杯第15届单片机满分
1. 为什么会在第 5 位显示出 8?freq_jiaofreqseg_jiao;//频率数据的最终结果 if(freq_jiao<0) {wrong1;//频率界面数码管显示LL,表示此状态错误 } else wrong0;而在 serviceT1 的中断里,每 1000ms 更新一次 freq:当测试系统改变输入频率&a…...
macOS Monterey安装OpenClaw避坑指南:千问3.5-9B适配
macOS Monterey安装OpenClaw避坑指南:千问3.5-9B适配 1. 为什么选择OpenClaw千问3.5-9B组合 去年换装M1 Max芯片的MacBook Pro后,我一直在寻找能充分发挥ARM架构性能的本地AI方案。直到遇见OpenClaw这个开源的自动化智能体框架,配合千问3.5…...
Claude ACP 配置与避坑指南
Claude ACP 配置与避坑指南OpenClaw Claude Code (ACP Harness) 部署完整指南 | 枢归档1. 什么是 Claude ACP Claude ACP(Agent Client Protocol)是 OpenClaw 与外部 Agent Harness(如 Claude Code)之间的通信协议。通过 ACP&…...
