机器学习的一些有趣的点【异常检测】

  • 机器能不能知道自己不知道,而不是给出判断中的一种?
    • Classifier(分类)
    • Anomaly Detection(异常检测)
  • 机器能不能说出为什么知道?
    • 有时候可能是因为数据的问题导致了这种错觉。
  • 机器学习是否会有错觉?
    • Adversarial Attack
    • “对抗攻击”。这是指针对机器学习模型或人工智能系统的一种攻击方法,攻击者通过精心设计的输入,试图欺骗模型,使其产生错误的输出或分类。这种攻击是通过对输入数据进行微小的、人眼难以察觉的改动,来误导模型而使其做出错误判断。对抗攻击对于深度学习和其他机器学习模型的鲁棒性提出了挑战,研究人员致力于开发对抗性训练和其他技术来提高模型的抗对抗性。
  • 机器也能“终身学习“吗
    • Catastrophic Forgetting
    • “灾难性遗忘”。这是指在机器学习和神经网络领域中的一种现象,当一个模型在学习新任务时,可能会忘记先前学过的任务,导致性能急剧下降。这种遗忘发生在模型在面对新数据时调整权重以适应新任务,但这可能会导致已有的知识丧失,从而影响之前学到的任务的表现。灾难性遗忘是在增量学习和迁移学习等场景中需要处理的一个重要问题。
  • 学习如何学习(learn to learn)
    • 自我进化?
  • 需要很多训练资料吗?
    • Few-shot learning
    • Zero-shot learning
  • Reinforcement Learning(增强式学习)
    • 这是一种机器学习范式,其中智能体通过与环境的交互学习如何做出决策,以最大化某种累积奖励。在增强式学习中,智能体通过试错的方式学习,根据其行动的结果调整其策略,以达到更好的性能。
  • Network Compression(神经网络压缩)
    -这是一种用于减小神经网络模型大小的技术。在深度学习中,神经网络通常包含大量参数和层,这可能导致模型庞大、计算资源需求高,以及不适用于嵌入式设备或移动应用。神经网络压缩旨在通过减少参数数量、层的数量或其他手段,来减小模型的体积,同时尽可能保持其性能。这有助于在有限的资源下部署更轻量级的模型。

Anomaly Detection(异常检测)

Binary Classification二分类问题?
不是一个简简单单的二分类问题。

当训练数据时带有标签的时候

异常检测的训练资料的类型。
在这里插入图片描述
我们可以先根据标签训练一个分类器,之后根据训练器的得分来解决异常检测这一问题。
方法1:可以获得一个信息分数来了解,机器对于自己判断的confidence。
需要设置一个Threshold来判断。
如何计算一个异常检测系统的性能好坏:我们需要一个CostTable来对应混淆矩阵中的假阳和假阴,从而计算出惩罚。
一个常用的是AUC。

如何解决异常资料的缺失

让机器在看到异常资料的时候给出低的confidence,当没有异常资料时我们通过Generative Models来生成。

如果资料没有标签如何处理

需要将一类正常的数据进行训练。训练一个数据和训练集中数据的相似性。

Auto-encoder

Autoencoder(自编码器)是一种神经网络结构,用于学习有效表示输入数据的方法。它通常由两个主要部分组成:编码器(encoder)和解码器(decoder)。其目标是通过编码和解码过程来重构输入数据,同时学习到数据的紧凑、低维表示。
具体来说,Autoencoder 的工作过程如下:

  1. 编码器(Encoder):将输入数据映射到一个潜在表示(latent
    representation)或编码。这一步将输入数据压缩到一个较低维度的表示形式。
  2. 解码器(Decoder):将编码后的表示还原为输入数据。解码器的目标是尽可能准确地重构原始输入。
  3. 损失函数(Loss Function):Autoencoder的训练过程通过最小化输入与重构之间的差异来完成,通常使用重构误差(reconstruction error)或其他适当的损失函数。

Autoencoder的一个关键特点是,编码器和解码器的结构是对称的,这使得模型能够学习到输入数据中的有用特征,同时实现压缩和解压缩的功能。

应用Autoencoder的一种常见情景是无监督学习中的特征学习。通过训练Autoencoder,模型可以学到输入数据的紧凑表示,这有助于发现数据中的模式和结构。此外,Autoencoder还可以用于数据降维、去噪、生成等任务。

其他机器学习中异常检测方法

SVM中存在One-class SVM
概念: One-class SVM是支持向量机的一种变体,主要用于异常检测问题。它的训练过程是基于仅有正样本(正常样本)的数据,通过构建一个超平面,将正常样本从原点分离出来。在测试阶段,模型可以用于检测新样本是否与训练数据属于同一类别(正常样本)。
应用: 适用于只有一类样本的情况,例如在异常检测中,其中正常样本远远多于异常样本。

森林系列的代码中存在Isolated Forest
概念: 孤立森林是一种基于树的集成方法,用于异常检测。它通过递归地构建二叉树来“孤立”正常样本,即使在树中的深层,正常样本也更容易被孤立。异常样本在这个过程中通常需要较少的分割。
应用: 适用于异常检测问题,尤其是在高维数据中,因为它在构建树时主要关注的是数据的分离。

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

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

相关文章

为什么要使用vite

vue ——)webpack 全部读取完毕才显示: vite:只读取修改的部分,速度比较快

canvas入门笔记(上)

Canvas Canvas简介 Canvas API 提供了一个通过JavaScript 和 HTML的元素来绘制图形的方式。它可以用于动画、游戏画面、数据可视化、图片编辑以及实时视频处理等方面。 Canvas API 主要聚焦于 2D 图形。而同样使用<canvas>元素的 WebGL API 则用于绘制硬件加速的 2D 和…

【JMeter】JMeter控制RPS

一、前言 ​ RPS (Request Per Second)一般用来衡量服务端的吞吐量&#xff0c;相比于并发模式&#xff0c;更适合用来摸底服务端的性能。我们可以通过使用 JMeter 的常数吞吐量定时器来限制每个线程的RPS。对于RPS&#xff0c;我们可以把他理解为我们的TPS&#xff0c;我们就不…

python13

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

方法论系列:数据科学框架入门

目录 第一章 - 数据科学家如何战胜困难第二章 - 数据科学框架第三章 - 步骤1&#xff1a;定义问题和步骤2&#xff1a;收集数据第四章 - 步骤3&#xff1a;准备数据第五章 - 数据清洗的4个C&#xff1a;纠正、补全、创建和转换第六章 - 步骤4&#xff1a;使用统计学进行探索性…

融资项目——swagger2的注解

1. ApiModel与ApiModelProperty(在实体类中使用) 如上图&#xff0c;ApiModel加在实体类上方&#xff0c;用于整体描述实体类。ApiModelProperty(value"xxx",example"xxx")放于每个属性上方&#xff0c;用于对属性进行描述。swagger2网页上的效果如下图&am…

IIS服务器的配置与管理

1) 安装IIS服务器&#xff0c;并添加站点&#xff0c;该服务器的IP地址为192.168.1.xx 。 2) 配置网站&#xff0c;并设置该站点不允许匿名访问&#xff0c;仅允许使用自己的本地用户登录连接。 3) 配置网站&#xff0c;限制拒绝192.168.1.100IP地址访问 。 4) 客户端使用19…

【Redis】七、Redis主从复制(重点)

文章目录 1、概念1.1、主从复制的作用主要包括1.2、一般来说&#xff0c;要将Redis运用于工程项目中&#xff0c;只使用一台Redis是万万不能的&#xff08;宕机&#xff09;&#xff0c;原因如下 2、环境配置2.1、复制拷贝3个配置文件&#xff0c;然后修改对应的信息拷贝文件改…

【性能优化】MySql数据库查询优化方案

阅读本文你的收获 了解系统运行效率提升的整体解决思路和方向学会MySQl中进行数据库查询优化的步骤学会看慢查询、执行计划、进行性能分析、调优 一、问题&#xff1a;如果你的系统运行很慢&#xff0c;你有什么解决方案&#xff1f; ​关于这个问题&#xff0c;我们通常首先…

js显示实时时间

文章目录 一、效果二、思路三、最后 一、效果 用JS实现XXXX年XX月XX日 星期X XX时XX分XX秒 效果 效果 &#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>time</title><script t…

PyQt6 利用Pyinstaller打包发布程序

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计53条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

【数据库系统概论】第2章-关系数据库

复习记录 2.1 关系数据结构及形式化定义2.1.1 关系2.1.2 关系模式2.1.3 关系数据库 2.2 关系操作2.3 关系的完整性2.4 关系代数题目 2.1 关系数据结构及形式化定义 2.1.1 关系 一些概念 关系 R ( D 1 , D 2 , . . . , D n ) R(D_1,D_2,...,D_n) R(D1​,D2​,...,Dn​) D i…

初学链表(分析建立学生信息链表)

本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。 #include <stdio.h> #include <stdlib.h> #include <string.h> struct stud_node { int num; char name[20]; int score; struct stud_node *next; }; struct stu…

Leetcode算法系列| 4. 寻找两个正序数组的中位数

目录 1.题目2.题解C# 解法一&#xff1a;合并List根据长度找中位数C# 解法二&#xff1a;归并排序后根据长度找中位数C# 解法三&#xff1a;方法二的优化&#xff0c;不真实添加到listC# 解法四&#xff1a;第k小数C# 解法五&#xff1a;从中位数的概念定义入手 1.题目 给定两个…

Unity中Shader旋转矩阵(二维旋转矩阵)

文章目录 前言一、旋转矩阵的原理1、我们以原点为中心&#xff0c;旋转坐标轴θ度2、求 P~2x~&#xff1a;3、求P~2y~:4、最后得到 P~2~点 的点阵5、该点阵可以拆分为以下两个矩阵相乘的结果 二、在Shader中&#xff0c;使用该旋转矩阵实现围绕 z 轴旋转1、在属性面板定义 floa…

【ZYNQ】ZYNQ7000 XADC 及其驱动示例

XADC 简介 ZYNQ SoC 的 XADC 模块包括两个 12 位的模数转换器&#xff0c;转换速率可以达到 1MSPS&#xff08;每秒一百万次采样&#xff09;。它带有片上温度和电压传感器&#xff0c;可以测量芯片工作时的温度和供电电压。 在 7 系列的 FPGA 中&#xff0c;XADC 提供了 JTA…

30. MVC设计模式

JavaEE 开发流程 ↓MVC的概念 MVC是Model-View-Controller的简称&#xff0c;即模型-视图-控制器。 MVC是一种设计模式&#xff0c;它把应用程序分成三个核心模块&#xff1a;模型、视图、控制器&#xff0c;它们各自处理自己的任务。 模型(model) 模型是应用程序的主体部分…

Android模拟器的安装和adb连接

一、前置说明 APP 自动化可以使用真机进行测试&#xff0c;也可以使用模拟器来模拟安卓设备。我们可以根据个人喜好安装模拟器&#xff0c;个人推荐安装两款模拟器&#xff1a;网易 MuMu 模拟器、夜神模拟器。 MuMu模拟器可以支持 Android 12 版本&#xff0c;优点是&#xf…

【Hive_04】分区分桶表以及文件格式

1、分区表1.1 分区表基本语法&#xff08;1&#xff09;创建分区表&#xff08;2&#xff09;分区表读写数据&#xff08;3&#xff09;分区表基本操作 1.2 二级分区1.3 动态分区 2、分桶表2.1 分桶表的基本语法2.2 分桶排序表 3、文件格式与压缩3.1 Hadoop压缩概述3.2 Hive文件…

Android Studio各种Gradle常见报错问题及解决方案

大家好&#xff0c;我是咕噜铁蛋&#xff01;在开发Android应用程序时&#xff0c;我们可能会遇到各种Gradle错误。这些错误可能来自不同的原因&#xff0c;例如依赖项问题、配置错误、版本冲突等。今天我通过搜索整理了一下&#xff0c;在这篇文章中&#xff0c;我将分享一些常…