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

吴恩达机器学习全课程笔记第六篇

目录

前言

P96-P100

使用多个决策树

随机森林算法

XGBoost

什么时候使用决策树

P101-P107

聚类

K-means

初始化K-means

选择聚类的个数

P108-P113

异常检测算法

开发和评估异常检测系统

异常检测vs监督学习

选择要使用的特征

前言

这是吴恩达机器学习笔记的第六篇,第五篇笔记请见:

吴恩达机器学习全课程笔记第五篇

完整的课程链接如下:

吴恩达机器学习教程(bilibili)

推荐网站:

scikit-learn中文社区

吴恩达机器学习资料(github)

P96-P100

使用多个决策树

使用单一决策树的缺点之一是对数据中微小的变化非常敏感,一个使算法不那么敏感或更健壮的方案是建立大量的决策树

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

放回抽样

随机森林算法

随机森林算法是一种强大的树集成算法,比使用单个的决策树工作得更好

用放回抽样生成B组数据,训练每一组数据得到B个决策树,一般来说随着B的增大,算法的性能会先提高再递减

即使是使用放回抽样,有时总是在根节点上使用相同的拆分或者和根节点非常相似的分裂

因此,对算法进行了一次修改,以进一步尝试在每个结点随机化特性选择,这会导致你学习的一组树变得更加不同,您将选择k个特性作为允许的特性,然后在这些K个特性中,选择信息增益最高的一个作为使用拆分的特性的选择,当n很大时,常见的一种选择方法是令k=\sqrt{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++二进制位运算使用方法

文章主要内容&#xff1a; C 中的位运算符主要用于对整数类型的数据进行位操作&#xff0c;包括按位与&#xff08;&&#xff09;、按位或&#xff08;|&#xff09;、按位异或&#xff08;^&#xff09;、取反&#xff08;~&#xff09;、左移&#xff08;<<&#…...

TypeScript之JSON点语法调用

场景 当我们想要通过将JSON中的属性名赋值给一个变量,并且通过点语法实现字段调用.常规的String变量保存会出现下述问题,就可以通过String[][]实现动态调用字段. let parentJSON{"name":"liupeng"}let a:String;Object.keys(parentJSON).forEach(key >…...

手撕Java集合之简易版Deque(LinkedList)

在目前&#xff0c;许多互联网公司的面试已经要求能手撕集合源码&#xff0c;集合源码本身算是源码里比较简单的一部分&#xff0c;但是要在面试极短的10来分钟内快速写出一个简易版的源码还是比较麻烦的&#xff0c;很容易出现各种小问题。所以在平时就要注重这方面的联系。 以…...

MySQL知识点归纳总结(二)

10、MVCC实现原理&#xff1f; 事务ID&#xff08;Transaction ID&#xff09;&#xff1a;每个事务在执行时都会被分配一个唯一的事务ID&#xff0c;用于标识该事务的开始时间顺序。事务ID是一个递增的整数&#xff0c;随着每个新事务的开始而递增。 Undo日志&#xff08;Un…...

vue:实现顶部消息横向滚动通知

前言 系统顶部展示一个横向滚动的消息通知&#xff0c;就是消息内容从右往左一直滚动。 效果如下&#xff1a; 代码 使用 <template><div class"notic-bar"><img :src"notic" class"notice-img" /><div class"noti…...

[笔记] wsl 禁用配置 win系统环境变量+代理

wsl 配置禁用 win系统环境变量 进入 wsl 的 /etc/wsl.conf 目录&#xff0c;增加以下配置&#xff1a; [interop] enabledfalse appendWindowsPathfalse然后退出wsl&#xff0c;并且执行关闭正在运行的 wsl&#xff0c;执行命令 wsl --shutdown 最后重新进入wsl 即可。 参考…...

Mysql标量子查询

目录 子查询标量子查询数据准备 子查询 SQL语句中嵌套select语句&#xff0c;称为嵌套查询&#xff0c;又称子查询。 SELECT * FROM t1 WHERE column1 ( SELECT column1 FROM t2 ... );子查询外部的语句可以是insert / update / delete / select 的任何一个&…...

深入了解Java虚拟机(JVM)

Java虚拟机&#xff08;JVM&#xff09;是Java程序运行的核心组件&#xff0c;它负责解释执行Java字节码&#xff0c;并在各种平台上执行。JVM的设计使得Java具有跨平台性&#xff0c;开发人员只需编写一次代码&#xff0c;就可以在任何支持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个人总结 文献阅读 原文下载&#xff1a;https://arxiv.or…...

探索Manticore Search:开源全文搜索引擎的强大功能

在当今信息爆炸的时代&#xff0c;数据的快速检索变得至关重要。无论是在电子商务网站、新闻门户还是企业内部文档&#xff0c;高效的搜索引擎都是确保用户满意度和工作效率的关键因素之一。而在搜索引擎领域&#xff0c;Manticore Search 作为一款开源的全文搜索引擎&#xff…...

AI 笔记助手,你的思路整理助手

大家好&#xff0c;今天给大家介绍一款非常实用的 AI 笔记助手——AI Note。这款助手就像是一个贴心的小助手&#xff0c;能帮助我们整理笔记&#xff0c;提高学习和工作效率。 &#x1f916; AI Note 可以智能总结笔记内容&#xff0c;准确标记重点&#xff0c;让我们更快地获…...

EchoServer回显服务器简单测试

目录 工具介绍 工具使用 测试结果 工具介绍 github的一个开源项目,是一个测压工具 EZLippi/WebBench: Webbench是Radim Kolar在1997年写的一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL&#xff0c;测试网站在压力下工作的…...

车灯修复UV胶的优缺点有哪些?

车灯修复UV胶的优点如下&#xff1a; 优点&#xff1a; 快速固化&#xff1a;通过紫外光照射&#xff0c;UV胶可以在5-15秒内迅速固化&#xff0c;提高了修复效率。高度透明&#xff1a;固化后透光率高&#xff0c;几乎与原始车灯材料无法区分&#xff0c;修复后车灯外观更加…...

探讨倒排索引Elasticsearch面试与实战:从理论到实践

在当前大数据时代&#xff0c;Elasticsearch&#xff08;以下简称为ES&#xff09;作为一种强大的搜索和分析引擎&#xff0c;受到了越来越多企业的青睐。因此&#xff0c;对于工程师来说&#xff0c;掌握ES的面试准备和实战经验成为了必备技能之一。本文将从ES的面试准备和实际…...

网安入门18-XSS(靶场实战)

HTML实体化编码 为了避免 XSS 攻击&#xff0c;会将<>编码为<与>&#xff0c;这些就是 HTML 实体编码。 编码前编码后不可分的空格 < (小于符号)< > (大于符号)> & (与符号)&amp;″ (双引号)&quot;’ (单引号)&apos;© (版权符…...

爬虫的一些小技巧总结

一、在爬虫中&#xff0c;爬取的数据类型如下 1.document:返回的是一个HTML文档 2.png:无损的图片&#xff0c;jpg:压缩后的图片,wbep:有损压缩&#xff0c;比png差&#xff0c;比jpg好 3.avgxml图像编码字符串 4.script:脚本文件&#xff0c;依据一定格式编写的可执行的文…...

Rhino_IT嵌入式语音意图识别引擎深度解析

1. Rhino_IT 嵌入式语音意图识别引擎深度解析 1.1 技术定位与工程价值 Rhino_IT 是 Picovoice 公司为 Arduino Nano 33 BLE Sense 平台定制的意大利语语音意图识别&#xff08;Speech-to-Intent&#xff09;SDK。它并非通用语音识别&#xff08;ASR&#xff09;&#xff0c;而…...

这个效率技巧,能找回你复制过的内容

很多人不知道&#xff0c;复制内容其实可以看历史记录。 也就是说&#xff0c;你复制过的内容&#xff0c;不一定只能保留最后一条。 Windows&#xff1a;系统自带 如果你用的是 Windows 10 / 11&#xff0c;系统已经内置了这个功能。 直接按&#xff1a;Win V 第一次使用…...

OpenCV多线程编程:从单线程到多线程的视频处理晌

核心摘要&#xff1a;这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景&#xff0c;告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”&#xff0c;并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...

微波管参数全解析:什么是高压供电和聚焦磁场?

摘要&#xff1a;上一篇我们聊了决定雷达 “视力” 的核心参数「噪声系数」&#xff0c;今天我们拆解行波管里最硬核的两个设计 ——高压供电与聚焦磁场。为什么放大一个微波信号&#xff0c;需要几千甚至几万伏的高压&#xff1f;聚焦磁场到底给电子束套上了什么 “魔法”&…...

Python项目部署之Gunicorn知识详解

1. 引言 在 Python Web 开发的世界里&#xff0c;将开发好的应用部署到生产环境是一个至关重要的环节。我们常用的开发框架如 Flask、Django 都内置了简单的 WSGI 服务器&#xff0c;但这些服务器仅适用于开发阶段&#xff0c;因为它们性能低下、安全性不足且无法处理并发请求。…...

日立电梯05版规格表智能计算工具(升级版)|WPS宏支持|适配WPS2024+Win10 64位

温馨提示&#xff1a;文末有联系方式日立电梯05规格表工具升级版正式发布 全新优化的日立电梯05规格表计算软件现已上线&#xff0c;专为电梯设计、安装与维保工程师打造&#xff0c;大幅提升参数录入与校验效率。功能标识更直观&#xff0c;操作一目了然 所有计算模块、输入项…...

MyBatis-Plus lambdaQuery条件构造器:EQ、NE、GT等操作符实战解析

1. 为什么需要lambdaQuery条件构造器 如果你用过MyBatis&#xff0c;肯定遇到过这样的场景&#xff1a;为了查询某个状态的数据&#xff0c;不得不写一堆if判断来拼接SQL。比如查询用户列表&#xff0c;要根据不同条件筛选&#xff0c;代码里全是"if(name!null){sql"…...

蓝桥杯第15届单片机满分

1. 为什么会在第 5 位显示出 8&#xff1f;freq_jiaofreqseg_jiao;//频率数据的最终结果 if(freq_jiao<0) {wrong1;//频率界面数码管显示LL,表示此状态错误 } else wrong0;而在 serviceT1 的中断里&#xff0c;每 1000ms 更新一次 freq&#xff1a;当测试系统改变输入频率&a…...

macOS Monterey安装OpenClaw避坑指南:千问3.5-9B适配

macOS Monterey安装OpenClaw避坑指南&#xff1a;千问3.5-9B适配 1. 为什么选择OpenClaw千问3.5-9B组合 去年换装M1 Max芯片的MacBook Pro后&#xff0c;我一直在寻找能充分发挥ARM架构性能的本地AI方案。直到遇见OpenClaw这个开源的自动化智能体框架&#xff0c;配合千问3.5…...

Claude ACP 配置与避坑指南

Claude ACP 配置与避坑指南OpenClaw Claude Code (ACP Harness) 部署完整指南 | 枢归档1. 什么是 Claude ACP Claude ACP&#xff08;Agent Client Protocol&#xff09;是 OpenClaw 与外部 Agent Harness&#xff08;如 Claude Code&#xff09;之间的通信协议。通过 ACP&…...