几种常用的矩阵范数表示_向量范数怎么求

几种常用的矩阵范数表示_向量范数怎么求按道理讲,这些东西应该熟记于心的。但是自己真心不喜欢记这种东西,看到一个总结不错的博客,转载过来以便于自己查看把!原文1.几种范数矩阵X∈Rm×nX∈Rm×n,σi(X)σi(X)表示XX的第ii大奇异值(即XX′XX′的第ii大特征值的均方根){citerecht2010guaranteed}。rr表示矩阵XX的秩(R

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

按道理讲,这些东西应该熟记于心的。但是自己真心不喜欢记这种东西,看到一个总结不错的博客,转载过来以便于自己查看把!原文

1. 几种范数

矩阵 XRm×n X∈Rm×n σi(X) σi(X) 表示 X X 的第 i i 大奇异值(即 XX XX′ 的第 i i 大特征值的均方根){cite recht2010guaranteed}。 r r 表示矩阵 X X 的秩(Rank),也等于 X X 非零奇异值的个数。对维度相同的两个矩阵 X X Y Y,我们定义在 Rm×n Rm×n上的内积为

X,Y:=Tr(XY)=i=1mj=1nXijYij(1) (1)⟨X,Y⟩:=Tr(X′Y)=∑i=1m∑j=1nXijYij

1. Frobenius范数

矩阵的Frobenius范数又称Hilbert-Schmidt范数,用 F ‖⋅‖F 表示。Frobenius范数也等于奇异值向量的Euclidean范数(或称 2 ℓ2 范数),基于内积 (1) (1)来计算,即

XF:=X,X=Tr(XX)=(i=1mj=1nX2ij)12=(i=1rσi2)12(2) (2)‖X‖F:=⟨X,X⟩=Tr(X′X)=(∑i=1m∑j=1nXij2)12=(∑i=1rσi2)12

2. 算子范数

矩阵的算子范数(operator norm)也称诱导2范数( induced 2-norm),等于最大奇异值(也就是奇异值向量的 ℓ∞ 范数),即

X :=σ1(X)(3) (3)‖X‖ :=σ1(X)

3. 核范数

矩阵的核范数(nuclear norm)等于矩阵奇异值的和,即

X:=i=1rσi(X)(4) (4)‖X‖∗:=∑i=1rσi(X)

核范数通常被称为其他一些名字,如Schatten的 1-norm,Ky Fan的 r-norm,或迹范数(trace class norm)。由于奇异值均非负,核范数等于奇异值向量的 1 ℓ1 范数。

对于任意秩不超过 r r 的矩阵 X X,以上三种范数满足以下不等式条件

XXFXrXFrX(5) (5)‖X‖≤‖X‖F≤‖X‖∗≤r‖X‖F≤r‖X‖

2. 对偶矩阵

对于内积空间上的任意范数 ‖⋅‖,存在一个对偶范数(dual norm) d ‖⋅‖d,其定义如下:

Xd:=maxYX,Y:Yq(6) (6)‖X‖d:=maxY⟨X,Y⟩:‖Y‖≤q

特别地,对偶范数的对偶范数为原范数。

对于 Rn Rn 上的向量, p ℓp 范数 1<p< 1<p<∞ 的对偶范数为 q ℓq 范数, p,q p,q 满足 1p+1q=1 1p+1q=1。类似地, ℓ∞ 的对偶范数为 1 ℓ1。同样,我们可以推广到我们定义的矩阵范数。例如,Frobenius范数的对偶范数还是Frobenius范数,这可以简单的微积分(或Cauchy-Schwarz)来验证,因为

maxYTr(XY):Tr(YY)1(7) (7)maxYTr(X′Y):Tr(Y′Y)≤1

就等于 XF ‖X‖F,且当 Y=X/XF Y=X/‖X‖F时取得最大值。类似地,算子范数的对偶范数是核范数(后面会具体说明)。

3. 秩和势函数的凸包络

凸包络(Convex envelope)的定义:给定一个凸集 C C,一个函数(可以为非凸的) f:CR f:C→R 的凸包络为使得对所有 xC x∈C 均有 g(x)f(x) g(x)≤f(x) 的最大凸函数 g g 。凸包络的定义表明,在所有的凸函数中, g g 是对 f f 最佳的逐点近似。特别的,如果最优的 g g 可以方便的描述出来,函数 f f 近似的最小值可以高效地求得。

由链式不等式 (5) (5)可以得到 对所有 X X rank(X)X/X rank(X)≥‖X‖∗/‖X‖。对所有 X1 ‖X‖≤1,均有 rank(X)X rank(X)≥‖X‖∗,因此在算子范数定义的单位球内,核范数是秩函数的较小的凸边界。事实上核范数也是其最紧致的凸边界,即:在集合 XRm×n:X1 X∈Rm×n:‖X‖≤1 上,核范数 X ‖X‖∗ 是秩函数 rank(X) rank(X) 的凸包络。

card(x)|x|1/|x|(8) (8)card(x)≥|x|1/|x|∞

4. 秩的可加性

次可加性(subadditivity):如果从一个线性空间 S S 映射到 R R 的函数 f f 满足 f(x+y)f(x)+f(y) f(x+y)≤f(x)+f(y)

可加性(additivity):如果从一个线性空间 S S 映射到 R R 的函数 f f 满足 f(x+y)=f(x)+f(y) f(x+y)=f(x)+f(y)

对于向量来说,势函数和 1 ℓ1 范数均满足次可加性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192998.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringCloud-Alibaba-Sentinel-服务降级-热点限流-服务熔断

    SpringCloud-Alibaba-Sentinel-服务降级-热点限流-服务熔断前言:除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方API等。例如,支付的时候,可能需要远程调用银联提供的API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用熔断策略Sentinel提供

    2022年6月12日
    26
  • 百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

    百度map android sdk3.5实现定位 并跳转的指定坐标,加入标记

    2022年1月20日
    73
  • 查看linux执行的命令记录_history命令用法

    查看linux执行的命令记录_history命令用法前言我们每次敲打linux命令的时候,有时候想用之前用过的命令,一般情况下,我们都会按↑↓箭头来寻找历史的命令记录,那如果我想用1天前执行的某条命令,难道还要按↑100次?显示这样是不现实的,我们可

    2022年7月29日
    5
  • 服务器磁盘配置信息,服务器磁盘阵列配置

    服务器磁盘配置信息,服务器磁盘阵列配置说到磁盘阵列(RAID,RedundantArrayofIndependentDisks),现在几乎成了网管员所必须掌握的一门技术之一,特别是中小型企业,因为磁盘阵列应用非常广泛,它是当前数据备份的主要方案之一。然而,许多网管员只是在各种媒体上看到相关的理论知识介绍,却并没有看到一些实际的磁盘阵列配置方法,所以仍只是一知半解,到自己真正配置时,却无从下手。本文要以一个具体的磁盘阵列配置方法…

    2022年6月6日
    52
  • android listview 滑动卡顿问题解决

    android listview 滑动卡顿问题解决之前在使用listview进行每次通知一来,根据判断是否有这个标志,就更新listview所绑定的数据源,通知更新priceAd.notifyDataSetChanged();,也用了网上的建议使用viewHolder进行listview的item复用机制,但还是会出现卡顿的现象,经过分析,原来是listview的item布局嵌套太多,导致刷新的时候,重绘过多,造成卡顿的现象,以下是另一片博客的分

    2022年7月22日
    11
  • 机器学习总结(一):线性回归、岭回归、Lasso回归

    机器学习总结(一):线性回归、岭回归、Lasso回归线性回归作为一种回归分析技术,其分析的因变量属于连续型变量,如果因变量转变为离散型变量,将转换为分类问题。回归分析属于有监督学习问题,本博客将重点回顾标准线性回归知识点,并就线性回归中可能出现的问题进行简单探讨,引出线性回归的两个变种岭回归以及Lasso回归,最后通过sklearn库模拟整个回归过程。目录结构线性回归的一般形式线性回归中可能遇到的问题过拟合问题及其解决方法线性回归代码实现

    2022年6月12日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号