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

目录

前言

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)很大但其实它就是异常数据,这时候我可以去识别、添加进去一些新的特征去解决这个问题

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【嵌入式实践】【芝麻】【设计篇-2】从0到1给电动车添加指纹锁:项目可行性分析

0. 前言 该项目是基于stm32F103和指纹模块做了一个通过指纹锁控制电动车的小工具。支持添加指纹、删除指纹,电动车进入P档等待时计时,计时超过5min则自动锁车,计时过程中按刹车可中断P档状态,同时中断锁车计时。改项目我称之为“芝…

基于反光柱特征的激光定位算法思路

目录 1. 识别反光柱2. 数据关联2.1 基于几何形状寻找匹配2.2 暴力寻找匹配 3. 位姿估计(最小二乘求解)4. 问题4.1 精度问题4.2 快速旋转时定位较差 1. 识别反光柱 反光柱是特殊材料制成,根据激光雷达对反光材料扫描得到的反射值来提取特征。…

如何解决微服务的数据一致性分发问题?

介绍 系统架构微服务化以后,根据微服务独立数据源的思想,每个微服务一般具有各自独立的数据源,但是不同微服务之间难免需要通过数据分发来共享一些数据,这个就是微服务的数据分发问题。Netflix/Airbnb等一线互联网公司的实践[参考附录1/2/3]表明,数据一致性分发能力,是构…

京东云硬钢阿里云:承诺再低10%

关注卢松松,会经常给你分享一些我的经验和观点。 阿里云刚刚宣布史上最大规模的全线产品降价20%,这热度还没过,京东云当晚就喊话:“随便降、比到底!,全网比价,击穿低价,再低10%”,并…

求最短路径之BF算法

介绍 全称Bellman-Ford算法,目的是求解有负权边的最短路径问题。 考虑环,根据环中边的边权之和的正负,将环分为零环、正环、负环。其中零环、正环不会影响最短路径的求解,而负环会影响最短路径的求解。 可用BF算法返回一个bool值…

Redis之十:Spring Data Redis --- CrudRepository方式

SpringData Redis CrudRepository方式 Spring Data Redis 的 CrudRepository 是 Spring Data 框架中用于提供基础 CRUD(创建、读取、更新和删除)操作的一个接口。在与 Redis 集成时,尽管 Redis 是一个键值存储系统,并没有像关系型…

【达梦数据库】如何使用idea antrl4插件方式dm sql

使用idea中的antrl插件进行分析 1.打开IDEA,在File—Settings—Plugins中,安装ANTLR v4 grammar plugin插件。 2.加载达梦的语法文件 3.配置生成路径和目录(可采用默认) 4.编译DmSqlParser.g4 DmSqlLexer.g4 5.输入SQL/输入文件 …

用Flutter开发App:助力您的移动业务腾飞

一、Flutter简介 Flutter是Google推出的用于构建多平台应用程序的开源UI框架。它使用Dart语言编写,可以编译为原生机器代码,从而提供卓越的性能和流畅的用户体验。 二、Flutter的优势 一套代码,多平台部署:Flutter可以使用一套代…

electron安装最后一部卡住了?

控制台如下错误 不是的话基本可以划走了 这个很可能是镜像出现问题了,不一定是npm镜像 打开npm的配置文件添加下述 electron_mirrorhttps://cdn.npmmirror.com/binaries/electron/ electron_builder_binaries_mirrorhttps://npmmirror.com/mirrors/electron-build…

将本地的镜像上传到私有仓库

使用register镜像创建私有仓库 [rootopenEuler-node1 ~]# docker run --restartalways -d -p 5000:5000 -v /opt/data/regostry:/var/lib/registry registry:2[rootopenEuler-node1 ~]# docker images REPOSITORY TAG IMAGE…

JAVAEE初阶 JVM(二)

垃圾回收和双亲委派模型 1.双亲委派模型2.垃圾回收机制(1) 识别垃圾1.引用计数2.可达性分析 (2) 销毁垃圾1.标记清除2.复制算法3.标记整理 3.分代回收 1.双亲委派模型 描述了如何查找.class文件的策略. 同时JVM中有专门进行类加载的操作,有一个模块,叫做类加载器. 上述就是为了…

Linux(CentOS为例)环境下 Git提交代码加速,使用FastGithub,运行报错解决

当你的在服务器上使用Git进行推送时,时常会出现超时错误。这里使用FastGithub 首先下载FastGithub 这个软件作者不是为什么删除了GithUb的仓库,这个链接还有。下载Linux版本的 FastGithub Linux,Windows版本 下载完毕后解压 ./fastgithu…

Stable Diffusion WebUI API http://127.0.0.1:7860/docs空白

在尝试调用Stable Diffusion WebUI API的时候,打开http://127.0.0.1:7860/docs遇到了以下页面 网络诊断是这样的原因: 修bug,改来改去遇到了以下两种页面: 此时http://127.0.0.1:7860可以如下正常显示: 查资料的时候找…

重学SpringBoot3-@EnableConfigurationProperties注解

重学SpringBoot3-EnableConfigurationProperties注解 1. 引言2. EnableConfigurationProperties 的作用3. 使用示例4. 总结 1. 引言 Spring Boot 提供了一种便捷的方式来管理和校验应用程序的配置,即通过类型安全的配置属性。EnableConfigurationProperties 注解在…

【详识JAVA语言】数组的定义与使用

数组的基本概念 为什么要使用数组 假设现在要存5个学生的javaSE考试成绩,并对其进行输出,按照之前掌握的知识点,我么会写出如下代码: public class TestStudent{public static void main(String[] args){int score1 70;int sc…

【AI绘画】免费GPU Tesla A100 32G算力部署Stable Diffusion

免责声明 在阅读和实践本文提供的内容之前,请注意以下免责声明: 侵权问题: 本文提供的信息仅供学习参考,不用做任何商业用途,如造成侵权,请私信我,我会立即删除,作者不对读者因使用本文所述方法…

简单的shell 脚本练习

编写函数,实现打印绿色OK和红色FAILED,判断是否有参数,存在为Ok,不存在为FAILED (1)编写脚本 (2)更改权限测试 编写函数,实现判断是否无位置参数,如无参数&a…

wordpress外贸独立站

WordPress外贸电商主题 简洁实用的wordpress外贸电商主题,适合做外贸跨境的电商公司官网使用。 https://www.jianzhanpress.com/?p5025 华强北面3C数码WordPress外贸模板 电脑周边、3C数码产品行业的官方网站使用,用WordPress外贸模板快速搭建外贸网…

【机器学习】实验5,AAAI 会议论文聚类分析

本次实验以AAAI 2014会议论文数据为基础,要求实现或调用无监督聚类算法,了解聚类方法。 任务介绍 每年国际上召开的大大小小学术会议不计其数,发表了非常多的论文。在计算机领域的一些大型学术会议上,一次就可以发表涉及各个方向…

RK3568笔记十八:MobileNetv2部署测试

若该文为原创文章,转载请注明原文出处。 记录MobileNetv2训练测试 一、环境 1、平台:rk3568 2、开发板: ATK-RK3568正点原子板子 3、环境:buildroot 4、虚拟机:正点原子提供的ubuntu 20 二、MobileNetv2简介 MobileNet &…