机器学习基石2(noise和error)

news2024/12/23 13:21:43

文章目录

  • 一、什么是noise?
  • 二、什么是error?
  • 三、常用error


一、什么是noise?

 
我们之前的讨论都是一种理想化的说明,比如数据来源于目标函数 f f f,似乎我们手里拿到的数据是这样得来的,随机取一个输入,放入f中,获得一个输出,这样一个(输入,输出)pair就组成了一个样本。
 
但是实际过程不可能是这样的,误差存在于方方面面,

  1. 首先对于输入,可能存在测量误差,比如我们手里拿到的一个数值10.5,有可能这个真实的数值是10。
  2. 其次对于输出,也存在和输入一样的情况(对于连续值),当然对于分类任务,输出可能是错误的类别, 这也是noise。

 
在有噪音的情况下,机器学习流程如下:
 
在这里插入图片描述
 
现在换一种说法,在理想情况下,给定某个输入 x x x,输出是确定的 y = f ( x ) y=f(x) y=f(x),但是加上noise,输出就不是一个确定的值,而是一个分布 p ( y ∣ x ) p(y|x) p(yx),机器学习流程图可以表述成如下形式:
 
在这里插入图片描述
 
可喜可贺的是,PAC机器学习框架和上一篇内容介绍的vc理论在有noise的情况下也是成立的,也就是说,即使有噪声,机器学习仍然是可行的。

二、什么是error?

 
和noise不同,noise是无法避免的,但是error是我们自定义用来衡量机器学习结果和期望结果之间的差别的。针对不同的任务,不同的算法设计,error也不同:

  1. 对于分类问题,常见的error就是误分类点的个数;
  2. 当然,我们最常用的error还是用距离来度量的error,这种error在分类问题和回归问题上都可以用得到。常见的距离度量见此文章距离的度量。
     

error的设计不仅要考虑针对具体任务的合理性,也要考虑该error是否对于算法是易于优化的,通常我们希望error是可导的,所以距离度量型的error更常用。
 

三、常用error

 

  1. 0/1损失
    e r r o r = c o u n t ( y ^ ≠ y ) error=count(\hat{y} \neq y) error=county^=y
     
  2. 均方差损失MSE N N N个样本误差
    e r r o r = 1 N ∑ i = 0 N − 1 ( y i ^ − y i ) 2 error=\frac{1}{N} \sum_{i=0}^{N-1}(\hat{y_i}-y_i)^2 error=N1i=0N1(yi^yi)2

 
3. 交叉熵损失cross entropy,针对 k k k分类问题,单个样本误差
e r r o r = − ∑ i = 1 k y i l o g ( p i ) error=-\sum_{i=1}^{k}y_ilog(p_i) error=i=1kyilog(pi)
其中 p i p_i pi表示模型将样本预测为类别 i i i的概率,如果样本真实类别为 i i i,则 y i = 1 y_i=1 yi=1,否则 y i = 0 y_i=0 yi=0
所有样本的误差是取平均。
 

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

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

相关文章

DOM算法系列009-判断给定节点是否为块级元素

UID: 20221227215215 aliases: tags: source: cssclass: created: 2022-12-27 块级元素 给定一个节点,如何判定它是否为块级元素呢? 首先,块级元素一定是元素节点,所以它的nodeType 1其次,我们思考,有什…

Redis分布式缓存、秒杀

目录一、单点Redis的问题二、RDB三、AOF四、Redis优化秒杀流程1、秒杀步骤:2、Redis优化秒杀步骤:3、秒杀的lua脚本4、调用秒杀的lua脚本5、通过线程池,操作阻塞队列五、基于Redis实现共享session登录NoSQL数据库进阶实战哪吒精品系列文章一、…

linux常用命令(二)-文件操作

文件创建 - touch 一般使用touch 来创建某个新增的文件 语法 touch [-acfm][文件名]a:改变档案的读取时间记录c:假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。f:不使用,是为了与其他 unix 系统…

python的tkinter(图形用户界面)

目录标题什么是图形用户界面(GUI)Tinter函数和参数说明(常用)Lable(标签):效果Button(按钮)效果Entry(文本框)效果Text (多行文本框)Canvas(画布)效果Message(消息弹窗)效果什么是图形用户界面&…

kaggle学习笔记-otto-baseline4-本地CV的构建

总览 步骤 1 - 生成候选 对于每个测试用户,我们生成可能的选择,即候选人。、我们从 5 个来源生成候选人: 点击、购物车、订单的用户历史记录测试周期间最受欢迎的 20 次点击、购物车、订单具有类型权重的点击/购物车/订单到购物车/订单的共…

中国芯片奇才,仅用三年打破欧美垄断,创造奇迹

有这么一位中国人,打破了欧美长达10年的芯片技术垄断。这位最该追的星,她是谁?又是如何让欧美芯片领域闻风丧胆。早在2017年,芯片国产化已接近50%,然而25g以上芯片却仅有3%,该技术一直掌握在欧美等发达国家…

融云任杰:激活组织生命力 让听见炮火的人做决策 | TGO专访

任杰,融云联合创始人兼首席科学家,TGO 鲲鹏会(北京)学员;曾就职于微软和神州泰岳等公司,在微软两次获得全球杰出员工奖,曾负责中国联通搭建 WAP 网关、增值业务管理平台;在神州泰岳期…

数据结构(线性表及顺序表)

目录 线性表 线性结构定义 常见线性结构 线性表 顺序表及其实现 顺序结构 顺序表的存储映像图 顺序表seqList及操作的定义(seqList.h) 顺序表基本操作的实现分析 查找操作 实现代码 插入操作 实现代码 删除操作 实现代码 顺序表应用——…

手绘图说电子元器件-集成电路

集成电路是高度集成化的电子器件,具有集成度高、功能完整、可靠性好、体积小、重量轻、功耗低的特点,已成为现代电子技术中不可或缺的核心器件。 集成电路可分为模拟集成电路和数字集成电路两大类,包括集成运放、时基集成电路、集成稳压器、门电路、触发器、计数器、译码器…

【 uniapp - 黑马优购 | 分类界面 】创建cate分支、数据获取、动态渲染

个人名片: 🐼作者简介:一名大二在校生,讨厌编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&#x1f5bc…

【Lilishop商城】No4-4.业务逻辑的代码开发,涉及到:会员B端第三方登录的开发-web端第三方授权联合登录接口开发

仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在: 【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客 全篇会结合业务介绍重点设计逻辑,其中重点包括接口类、业务类,具体的结合源代…

机器学习——支持向量机(SVM)

文章目录1. 优化目标2. 大间距的直观理解3. 大间距分类背后的数学支持向量机(Support Vector Machines)是广泛应用于工业界和学术界的一种监督学习算法,在学习复杂的非线性方程时提供了一种更为清晰,更加强大的方式。下面从SVM的优…

【nowcoder】笔试强训Day10

目录 一、选择题 二、编程题 2.1井字棋 2.2密码强度等级 一、选择题 1.下列运算符合法的是&#xff08; &#xff09; A. && B. <> C. if D. : 逻辑与&&语法规则&#xff1a;表达式1&&表达式2&#xff0c;其中两个表达式都是布尔表达式…

LeetCode453.最小操作次数使数组元素相等

LeetCode刷题记录 文章目录&#x1f4dc;题目描述&#x1f4a1;解题思路&#x1f4dc;题目描述 给你一个长度为 n 的整数数组&#xff0c;每次操作将会使 n - 1 个元素增加 1 。 返回让数组所有元素相等的最小操作次数。 示例1 输入&#xff1a;nums [1,2,3] 输出&#xff1a…

EduIQ Network LookOut Administrator

EduIQ Network LookOut Administrator 网络了望管理员允许您从屏幕的远端实时监视计算机。您可以随时看到他们在做什么。除了计算机控制&#xff0c;您还可以捕获摩西和键盘用户。使用Network LookOut Administrator软件可以完成一些有用的工作&#xff1a; 远程儿童计算机控制…

记录一次Gstreamer运行报错排查

背景 系统&#xff1a;Ubuntu 20.04 显卡型号&#xff1a;RTX 2060 之前正常运行的Gstreamer的编解码代码&#xff08;有用到显卡硬件加速&#xff09;&#xff0c;突然运行报错。经过一番折腾&#xff0c;最终找到原因&#xff0c;是因为NVIDIA驱动近期更新了&#xff0c;与…

Node.js——模块化(一)

1. 模块化的基本概念 1.1 什么是模块化 1. 编程领域中的模块化 1.2 模块化规范 2. Node.js 中的模块化 2.1 Node.js 中模块的分类 2.2 加载模块 加载自定义模块给相对路径 ./是平级&#xff08;同一文件夹下调用&#xff09; //这是07.test.js代码 // 注意&#xff1a;在使用…

Cypress笔记-连接命令

.each() 作用 遍历数组数据结构&#xff08;具有 length 属性的数组或对象&#xff09; cy.get(.connectors-each-ul>li).each(function($el, index, $list){ //遍历每个li元素console.log($el, index, $list)}).its() 作用 获取对象的属性值 示例代码 cy.get(.conne…

MergeTree概述

概述 Clickhouse 中最强大的表引擎当属 MergeTree &#xff08;合并树&#xff09;引擎及该系列&#xff08;MergeTree&#xff09;中的其他引擎。MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中&#xff0c;数据可以以数据片段的形式一个接着一个的快速写入&am…

DonkeyCar [02] - 软件配置 - 上位机(windows)

前言&#xff1a;在windows下配置Donkey Car的上位机&#xff1a; 1 安装miniconda Python Conda是开源的管理系统&#xff0c;Miniconda是conda的开源最小安装。 Donkey的默认安装版本&#xff0c;3.7&#xff0c;Miniconda已经是 最新的版本&#xff0c;是3.10.8吧&#xf…