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

[Machine Learning] Learning with Noisy Data

文章目录

  • Probabilistic Perspective of Noise
  • Bias and Variance
  • Robustness among Surrogate Loss Functions
  • NMF


Probabilistic Perspective of Noise

假设数据来源于一个确定的函数,叠加了高斯噪声。我们有:
y = h ( x ) + ϵ y = h(x) + \epsilon y=h(x)+ϵ
其中 ϵ ∼ N ( 0 , β − 1 ) \epsilon \sim \mathcal{N}(0, \beta^{-1}) ϵN(0,β1)

等价地,给定输入 x x x,以及函数 h h h 和噪声的精度 β \beta β y y y 的条件分布可以写作:
p { y ∣ x , h , β } = N ( y ∣ h ( x ) , β − 1 ) p\{y|x, h, \beta\} = \mathcal{N}(y|h(x), \beta ^ {-1}) p{yx,h,β}=N(yh(x),β1)

y y y 的条件分布是以 h ( x ) h(x) h(x) 为均值、以 β − 1 \beta^{-1} β1 为方差的正态分布。

我们现在有一个由 n n n 个数据点组成的数据集 S = { ( x 1 , y 1 ) , … , ( x n , y n ) } S = \{(x_1,y_1), \ldots, (x_n,y_n)\} S={(x1,y1),,(xn,yn)}。我们假设数据点是独立同分布的,即每个数据点的生成不依赖于其他数据点。因此,整个数据集 S S S 的似然是所有单个数据点似然的乘积:
p ( S ∣ X , h , β − 1 ) = ∏ i = 1 n p ( y i ∣ h ( x i ) , β − 1 ) p(S|X, h, \beta^{-1}) = \prod\limits_{i=1}^n p(y_i|h(x_i), \beta^{-1}) p(SX,h,β1)=i=1np(yih(xi),β1)

这个似然模型告诉我们,对于给定的函数 h h h 和噪声精度 β \beta β,数据集 S S S 的"可能性"或"合理性"是多少。

假设我们的模型参数为 h h h,先验分布为 p ( h ) p(h) p(h),那么基于贝叶斯定理,参数 h h h 的后验分布为:
p ( h ∣ S ) = p ( S ∣ h ) p ( h ) p ( S ) p(h|S) = \frac{p(S|h) p(h)}{p(S)} p(hS)=p(S)p(Sh)p(h)
其中, p ( S ∣ h ) p(S|h) p(Sh) 是似然, p ( S ) p(S) p(S) 是边缘似然,与参数 h h h 无关。

MAP估计就是找到使后验分布 p ( h ∣ S ) p(h|S) p(hS) 最大的参数 h h h。由于分母 p ( S ) p(S) p(S) h h h 无关,所以MAP估计等价于:
h MAP = arg max ⁡ h p ( S ∣ h ) p ( h ) h_{\text{MAP}} = \argmax_{h} p(S|h) p(h) hMAP=hargmaxp(Sh)p(h)
取负对数,问题可以转化为:
h MAP = arg min ⁡ h { − ln ⁡ p ( S ∣ h ) − ln ⁡ p ( h ) } h_{\text{MAP}} = \argmin_{h} \{-\ln p(S|h) - \ln p(h)\} hMAP=hargmin{lnp(Sh)lnp(h)}

为了解决这个优化问题,你通常需要的是:

  1. 一个关于似然的负对数的表达式
  2. 一个关于先验的负对数的表达式

回顾我们的似然模型:
p ( S ∣ X , h , β − 1 ) = ∏ i = 1 n N ( y i ∣ h ( x i ) , β − 1 ) p(S|X, h, \beta^{-1}) = \prod_{i=1}^n \mathcal{N}(y_i|h(x_i), \beta^{-1}) p(SX,h,β1)=i=1nN(yih(xi),β1)

根据正态分布的定义:
N ( y ∣ h ( x ) , β − 1 ) = β 2 π exp ⁡ ( − β ( y − h ( x ) ) 2 2 ) \mathcal{N}(y|h(x), \beta^{-1}) = \frac{\beta}{\sqrt{2\pi}} \exp\left(-\frac{\beta (y - h(x))^2}{2}\right) N(yh(x),β1)=2π βexp(2β(yh(x))2)

因此,我们可以写出似然函数为:
p ( S ∣ X , h , β − 1 ) = ∏ i = 1 n β 2 π exp ⁡ ( − β ( y i − h ( x i ) ) 2 2 ) p(S|X, h, \beta^{-1}) = \prod_{i=1}^n \frac{\beta}{\sqrt{2\pi}} \exp\left(-\frac{\beta (y_i - h(x_i))^2}{2}\right) p(SX,h,β1)=i=1n2π βexp(2β(yih(xi))2)

对似然函数取对数,我们得到:
ln ⁡ p ( S ∣ X , h , β − 1 ) = ∑ i = 1 n ln ⁡ β 2 π − β ( y i − h ( x i ) ) 2 2 \ln p(S|X, h, \beta^{-1}) = \sum_{i=1}^n \ln \frac{\beta}{\sqrt{2\pi}} - \frac{\beta (y_i - h(x_i))^2}{2} lnp(SX,h,β1)=i=1nln2π β2β(yih(xi))2

将上述式子进一步拆分并合并相似的项,我们可以得到:
ln ⁡ p ( S ∣ X , h , β − 1 ) = n ln ⁡ β − n 2 ln ⁡ ( 2 π ) − β 2 ∑ i = 1 n ( y i − h ( x i ) ) 2 \ln p(S|X, h, \beta^{-1}) = n \ln \beta - \frac{n}{2} \ln(2\pi) - \frac{\beta}{2} \sum_{i=1}^n (y_i - h(x_i))^2 lnp(SX,h,β1)=nlnβ2nln(2π)2βi=1n(yih(xi))2

此时, − β 2 ∑ i = 1 n ( y i − h ( x i ) ) 2 -\frac{\beta}{2} \sum_{i=1}^n (y_i - h(x_i))^2 2βi=1n(yih(xi))2就是我们定义的风险 R S ( h ) R_S(h) RS(h)的部分,它表示模型在训练数据上的平均误差。

因此,我们有:
− ln ⁡ p ( S ∣ h ) = − n 2 ln ⁡ β + n 2 ln ⁡ ( 2 π ) + β 2 n R S ( h ) -\ln p(S|h) = -\frac{n}{2} \ln \beta + \frac{n}{2} \ln(2\pi) + \frac{\beta}{2} n R_S(h) lnp(Sh)=2nlnβ+2nln(2π)+2βnRS(h)

这就是似然的负对数的表达式。

为了完整地解决优化问题,你还需要一个先验的负对数形式。比如,如果 h h h的先验是高斯分布,那么负对数先验的形式会是 h h h的二次函数。

结合似然和先验的负对数形式,你可以使用优化技巧(例如梯度下降)来求解 h MAP h_{\text{MAP}} hMAP。这样得到的 h MAP h_{\text{MAP}} hMAP既考虑了数据的似然,又考虑了先验知识,从而可能得到更好、更稳定的估计结果。

Bias and Variance

λ \lambda λ 很小或为0时:模型可能会过于复杂,拟合训练数据中的每一个细节,包括噪声。这会导致低偏差但高方差,即模型容易过拟合。

λ \lambda λ 很大时:模型会变得过于简单,参数值会被强烈地压缩,导致模型不能很好地捕获数据中的模式。这会导致高偏差但低方差,即模型容易欠拟合。

Robustness among Surrogate Loss Functions

在许多优化问题中,直接对目标函数进行操作可能会非常困难。可能是因为这个函数在数学上很复杂,或者它涉及到的计算量太大,导致直接优化不切实际。在这些情况下,转化或重参数化问题可以使其更容易处理。

在这里,考虑 g ( t ) = f ( t h ) g(t) = f(th) g(t)=f(th) 是一个这样的尝试。通过引入新的变量 t t t 并考虑如何改变 h h h 的长度(即通过 t t t 来缩放),我们试图在某种程度上简化问题。

t = 1 t=1 t=1 时,我们实际上是在查看原始函数 f f f 在点 h h h 的行为。如果 g ′ ( 1 ) = 0 g'(1) = 0 g(1)=0,那么我们知道 f f f h h h 这点取得极值(可能是最小值或最大值)。因此,这个技巧为我们提供了另一种方式来寻找 f ( h ) f(h) f(h) 的最小值点,而不是直接对 f f f 进行操作。

现在考虑四种损失函数及其对应的 g ′ ( 1 ) g'(1) g(1)

  1. 最小二乘损失 (Least squares loss):
    ℓ ( h ( x i ) , y i ) = ( y i − h ( x i ) ) 2 \ell(h(x_i), y_i) = (y_i - h(x_i))^2 (h(xi),yi)=(yih(xi))2
    这意味着,
    g ′ ( 1 ) = − 2 ∑ i = 1 n ( y i − h ( x i ) ) h ( x i ) g'(1) = -2 \sum_{i=1}^n (y_i - h(x_i)) h(x_i) g(1)=2i=1n(yih(xi))h(xi)

  2. 绝对损失 (Absolute loss):
    ℓ ( h ( x i ) , y i ) = ∣ y i − h ( x i ) ∣ \ell(h(x_i), y_i) = |y_i - h(x_i)| (h(xi),yi)=yih(xi)
    这的导数与误差的符号有关。

  3. Cauchy损失 (Cauchy loss):
    ℓ ( h ( x i ) , y i ) = log ⁡ ( 1 + ( y i − h ( x i ) ) 2 σ 2 ) \ell(h(x_i), y_i) = \log(1 + \frac{(y_i - h(x_i))^2}{\sigma^2}) (h(xi),yi)=log(1+σ2(yih(xi))2)
    其中, σ \sigma σ是一个正的常数。

  4. Correntropy损失 (Welsch loss):
    ℓ ( h ( x i ) , y i ) = σ 2 2 ( 1 − exp ⁡ ( − ( y i − h ( x i ) ) 2 σ 2 ) ) \ell(h(x_i), y_i) = \frac{\sigma^2}{2}(1 - \exp(-\frac{(y_i - h(x_i))^2}{\sigma^2})) (h(xi),yi)=2σ2(1exp(σ2(yih(xi))2))

对于每个损失函数, g ′ ( 1 ) g'(1) g(1)都会有一个与 c i = ( y i − h ( x i ) ) ( − h ( x i ) ) c_i = (y_i - h(x_i))(- h(x_i)) ci=(yih(xi))(h(xi))相关的项。这个项可以被看作是数据点 ( x i , y i ) (x_i, y_i) (xi,yi)对损失函数的贡献与 h ( x i ) h(x_i) h(xi)的关系。具体地说, c i c_i ci可以被看作为两部分的乘积:

  • ( y i − h ( x i ) ) (y_i - h(x_i)) (yih(xi)):这是观测值 y i y_i yi与预测值 h ( x i ) h(x_i) h(xi)之间的误差。此误差项衡量了模型在特定数据点上的预测准确性。

  • − h ( x i ) - h(x_i) h(xi):这是模型预测的负值,这种乘积形式通常是为了衡量模型的响应强度和误差之间的关系。在某些情境中,更强烈的模型响应(无论正负)可能与更大的误差相关。

整体来说, c i c_i ci是一个衡量在数据点 ( x i , y i ) (x_i, y_i) (xi,yi)上模型响应强度与模型误差之间关系的量。不同的损失函数会对这些项赋予不同的权重,当误差(或噪声)增大时,某些损失函数会对这些项赋予更小的权重,从而更"鲁棒"。

NMF

  1. 标准的NMF (Basic NMF):
    使用欧氏距离或Frobenius范数来最小化重建误差。此方法对噪声敏感。
    min ⁡ W , H ∥ X − W H ∥ F 2 subject to  W ≥ 0 , H ≥ 0 \min_{W,H} \|X - WH\|_F^2 \text{ subject to } W \geq 0, H \geq 0 W,HminXWHF2 subject to W0,H0

  2. L1-Norm Regularized Robust NMF:
    在NMF的基础上加入L1正则化项,旨在捕获噪声和离群值。
    min ⁡ W , H , E ∥ X − W H − E ∥ F 2 + λ ∥ E ∥ 1 subject to  W ≥ 0 , H ≥ 0 \min_{W,H,E} \|X - WH - E\|_F^2 + \lambda \|E\|_1 \text{ subject to } W \geq 0, H \geq 0 W,H,EminXWHEF2+λE1 subject to W0,H0

  3. L1-Norm Based NMF:
    使用L1范数来衡量重建误差,使得分解更加鲁棒,尤其是对噪声和离群值。L1范数倾向于产生稀疏的解。
    min ⁡ W , H ∥ X − W H ∥ 1 subject to  W ≥ 0 , H ≥ 0 \min_{W,H} \|X - WH\|_1 \text{ subject to } W \geq 0, H \geq 0 W,HminXWH1 subject to W0,H0

  4. L2,1-Norm Based NMF:
    使用L2,1范数来增强鲁棒性。L2,1范数可以鼓励列的稀疏性,使得某些特定的特征在所有样本上都为零,这有助于去除离群值带来的影响。
    min ⁡ W , H ∥ X − W H ∥ 2 , 1 subject to  W ≥ 0 , H ≥ 0 \min_{W,H} \|X - WH\|_{2,1} \text{ subject to } W \geq 0, H \geq 0 W,HminXWH2,1 subject to W0,H0

  5. Truncated Cauchy NMF:
    这种方法使用截断的Cauchy损失来增加鲁棒性。与L1和L2范数相比,Cauchy损失更能够容忍较大的离群值,因此这种方法在面对有很多噪声和离群值的数据时更为鲁棒。

  6. Hypersurface Cost Based NMF:
    通过在损失函数中加入超曲面成本项来增加鲁棒性。此方法试图找到描述数据变化的超曲面,从而更好地应对噪声和离群值。

相关文章:

[Machine Learning] Learning with Noisy Data

文章目录 Probabilistic Perspective of NoiseBias and VarianceRobustness among Surrogate Loss FunctionsNMF Probabilistic Perspective of Noise 假设数据来源于一个确定的函数,叠加了高斯噪声。我们有: y h ( x ) ϵ y h(x) \epsilon yh(x)ϵ…...

C++中有哪些常用的标准库?

C中有许多常用的标准库,这些库提供了丰富的功能和工具,方便开发人员进行各种任务。以下是一些常见的C标准库: iostream:用于输入和输出操作,包括cin、cout和cerr等类和函数。algorithm:提供了许多常用的算…...

软考-信息安全工程师概述

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 2023年10月 信息考试大纲 通过本考试的合格人员能够掌握网络信息安全的基础知识和技术原理,…...

2023-2024年华为ICT网络赛道模拟题库

2023-2024年网络赛道模拟题库上线啦,全面覆盖网络,安全,vlan考点,都是带有解析 参赛对象及要求: 参赛对象:现有华为ICT学院及未来有意愿成为华为ICT学院的本科及高职院校在校学生。 参赛要求&#xff1a…...

英特尔参与 CentOS Stream 项目

导读红帽官方发布公告欢迎英特尔参与进 CentOS Stream 项目,并表示 “这一举措不仅进一步深化了我们长期的合作关系,也构建在英特尔已经在 Fedora 项目中积极贡献的基础之上。” 目前,CentOS Stream 共包括以下特别兴趣小组(SIG&a…...

Centos 服务器 MySQL 8.0 快速开启远程访问

环境: MySQL 8.0(低版本会有些不同), Rocky Linux 9.0(CentOS) 直接上干货,相信大家看到这个文章的时候都已经安装完了。 1. 先从服务器上使用 root 进行登录(刚安装完默认只能本地…...

充电保护芯片TP4054国产替代完全兼容DP4054DP4054H 锂电充电芯片

■产品概述 DP4054H是-款完整的采用恒定电流/恒定电压单节锂离子电池充电管理芯片。其SOT小封装和较少的外部元件数目使其成为便携式应用的理想器件,DP4054H可 以适合USB电源和适配器电源工作。 由于采用了内部PMOSFET架构,加上防倒充电路,所以不需要外…...

Java Spring Boot中的爬虫防护机制

随着互联网的发展,爬虫技术也日益成熟和普及。然而,对于某些网站来说,爬虫可能会成为一个问题,导致资源浪费和安全隐患。本文将介绍如何使用Java Spring Boot框架来防止爬虫的入侵,并提供一些常用的防护机制。 引言&a…...

状态模式 行为型模式之六

1.定义 允许一个对象在其对象内部状态改变时改变它的行为。 2.组成结构 Context:定义客户感兴趣的接口;维护一个ConcreteState子类的实例,这个实例定义当前的状态。State:定义一个接口来封装Context的与特定状态相关的行为。Co…...

JAVA NIO深入剖析

4.1 Java NIO 基本介绍 Java NIO(New IO)也有人称之为 java non-blocking IO是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方…...

企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…...

基于正点原子alpha开发板的第三篇系统移植

系统移植的三大步骤如下: 系统uboot移植系统linux移植系统rootfs制作 一言难尽,踩了不少坑,当时只是想学习驱动开发,发现必须要将第三篇系统移植弄好才可以学习后面驱动,现将移植好的文件分享出来: 仓库&…...

数据结构与算法设计分析——贪心算法的应用

目录 一、贪心算法的定义二、贪心算法的基本步骤三、贪心算法的性质(一)最优子结构性质(二)贪心选择性质 四、贪心算法的应用(一)哈夫曼树——哈夫曼编码(二)图的应用——求最小生成…...

Leetcode 2895. Minimum Processing Time

Leetcode 2895. Minimum Processing Time 1. 解题思路2. 代码实现 题目链接:2895. Minimum Processing Time 1. 解题思路 这一题整体上来说其实没啥难度,就是一个greedy算法,只需要想明白耗时长的任务一定要优先执行,不存在某个…...

学信息系统项目管理师第4版系列21_范围管理

1. 产品范围 1.1. 某项产品、服务或成果所具有的特征和功能 1.2. 产品范围的完成情况是根据产品需求来衡量的 1.3. “需求”是指根据特定协议或其他强制性规范,产品、服务或成果必须具备的条件或能力 2. 项目范围 2.1. 包括产品范围,是为交付具有规…...

threejs 透明贴图,模型透明,白边

问题 使用Threejs加载模型时,模型出现了上面的问题。模型边缘部分白边,或者模型出现透明问题。 原因 出现这种问题是模型制作时使用了透明贴图。threejs无法直接处理贴图。 解决 场景一 模型有多个贴图时(一个透贴和其他贴图&#xff0…...

CCF CSP认证 历年题目自练Day21

题目一 试题编号: 201909-1 试题名称: 小明种苹果 时间限制: 2.0s 内存限制: 512.0MB 题目分析(个人理解) 先看输入,第一行输入苹果的棵树n和每一次掉的苹果数m还是先如何存的问题&#xf…...

【Python_PySide2学习笔记(十六)】多行文本框QPlainTextEdit类的的基本用法

多行文本框QPlainTextEdit类的的基本用法 前言正文1、创建多行文本框2、多行文本框获取文本3、多行文本框获取选中文本4、多行文本框设置提示5、多行文本框设置文本6、多行文本框在末尾添加文本7、多行文本框在光标处插入文本8、多行文本框清空文本9、多行文本框拷贝文本到剪贴…...

linux上negix部署静态页面

1.看配置文件 进入cndf.d 这里的是配置部署项目中的文件 进入一个查看下 上面的是服务的域名,服务是http://test.fun-med.cn/#/,后面加服务名(你的前端) 2.看下页面位置 和上面的路径要匹配...

41.说说Promise自身的静态方法

41.说说Promise自身的静态方法 Promise.all (有一个失败就失败,所有的都成功就成功)Promise.race (有一个成功就成功,有一个失败就失败)Promise.allSettled (所有的异步操作执行完毕之后&#…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...