自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 用matlab探索卷积神经网络(Convolutional Neural Networks)-3

这里我们探索GoogLeNet中的Filters,首先你需要安装GoogLeNet.在Matlab的APPS里找到Deep Network Designer,然后找到GoogLeNet,安装后的网络是没有右下角的黄色感叹号的,没有安装的神经网络都有黄色感叹号。从W的输出可以看到网络第二层的权重(即第一个卷积层)是一个大小为 7×7×3×64 的数组。如果你想研究第11个滤波器的效果,需要提取第11个通道的激活值。,这个图片中包含一些植物,但只有玫瑰是红色的,这意味着只有玫瑰会被第11个滤波器正向激活。

2025-04-01 17:14:17 171

原创 用matlab探索卷积神经网络(Convolutional Neural Networks)-2

为了帮助理解滤波器的作用,你可以将一张输入图像传入网络,并查看卷积层的激活值(即输出)。卷积层是CNN架构中的关键部分,它们利用输入图像的空间结构来提取信息。该层的输出大小取决于你的分类问题中的类别数量。但所有的CNN都会包含一些常见的层,比如图像输入层和卷积层。因此,输出图像与原始图像相同。当我们使用不用的卷积核,就会对图像有不同的效果,我们可以使用下面的卷积核来模糊图像,我们可以自己找一张花朵的照片,这是一张RGB图像,有三个通道,如下图所示,首先,我们创建自己的滤波器,以了解卷积是如何工作的。

2025-04-01 10:57:23 672

原创 用matlab探索卷积神经网络(Convolutional Neural Networks)-1

我们将从研究一个小型CNN架构中的常见层开始,探讨每一层的作用。接着,使用预训练网络对不同图像进行处理,以可视化的方式学习深度网络在训练过程中的特征提取方式。

2025-03-31 19:41:07 567

原创 matlab的meshgrid

meshgrid。

2025-03-23 16:29:24 372

原创 CT图像中凸集和非凸集

类别示例是否凸集是否适合正交投影非负像素值所有像素≥0\geq 0≥0✅ 凸✅ 适合总变差约束TV 小的图像✅ 凸✅ 适合真实 CT 图像分布仅包含自然出现的医学图像❌ 非凸❌ 需要近似投影深度学习先验通过 GAN 或 CNN 生成的 CT 图像❌ 非凸❌ 需要神经网络近似。

2025-03-19 11:25:34 864

原创 投影算子(Projection Operator)的定义、性质、分类以及应用

投影算子 PPP 是作用在向量空间 VVV 上的一个线性算子,满足:P2=PP^2 = PP2=P也就是说,投影算子满足幂等性,即作用两次与作用一次的效果相同。投影算子可以看作是将向量映射到某个子空间,并且对于已经在该子空间的向量,投影算子不会改变它们。例:设我们在二维平面上,想要把任意向量 vvv 投影到 xxx-轴上(即去掉 yyy 分量)。投影矩阵可以写成:P=[1000]P = \begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}P=[10​00​]

2025-03-18 14:38:40 1123

原创 Lipschitz 常数(Lipschitz constant)简介

给定函数fX→YfX→Y,其中XYX, YXY是度量空间,若存在一个非负常数L≥0L \geq 0L≥0,使得对任意的x1x2∈Xx1​x2​∈XdYfx1fx2≤L⋅dXx1x2dY​fx1​fx2​≤L⋅dX​x1​x2​dXd_XdX​和dYd_YdY​分别是XXX和YYY上的距离函数。满足上述条件的最小非负常数LLL。

2025-03-18 12:00:18 854

原创 谱范数的基本介绍

对于任意一个矩阵A∈Rm×nA∈Rm×n∥A∥2sup⁡x≠0∥Ax∥2∥x∥2∥A∥2​x0sup​∥x∥2​∥Ax∥2​​∥x∥2\|x\|_2∥x∥2​表示向量的2-范数(欧几里得范数),即∥x∥2x12x22⋯xn2∥x∥2​x12​x22​⋯xn2​​。谱范数的直观意义是矩阵AAA。

2025-03-17 19:52:37 1133

原创 深入浅出矩阵的秩

矩阵(Matrix)其实就是一个用数字排列而成的表格,就是我们平时常见的表格那样,只不过我们将表格里的数据都换成了数字。更正式地讲,矩阵就是把一些数字排成了行和列的形式。例如:[123456]\begin{bmatrix}1 & 2 & 3 \\4 & 5 & 6\end{bmatrix}[14​25​36​]这个矩阵就有两行三列,我们称它为“2×3矩阵”。我们通常用大写字母(如 A、B、CA、B、CA、B、C )来表示矩阵,比如:A=[a11a12a13a21a22a23]A = \be

2025-03-16 19:07:33 740

原创 仿射集和凸集(Affine and convex sets)

文章目录2.1 仿射集和凸集(Affine and convex sets)2.1.1 线和线段(Lines and line segments)2.1.2 仿射集(Affine set)2.1.3 仿射维度(Affine Dimension)与相对内部(Relative interior)2.1.4 凸集(Convex Sets)2.1.5 锥(Cone)2.2 一些重要的例子2.2.1 超平面(hyperplane)2.2.2 欧几里得球(Euclidean ball)和椭球(Ellipsoid)2.2

2025-01-12 19:00:53 1014

原创 ADMM原理及应用

文章目录1. ADMM原理1.1. 数学形式1.2. 传统“乘子法”和它的不足1.3. ADMM 的核心思想:分步做1.4. Scaled Form of ADMM1.5. 迭代过程中主要检查的两大残差1.6. 怎么设置停止准则(Stopping Criteria)?1.7. 自适应调整罚参数 ρ\rhoρ(又称“变步长”技巧)1.8. Over-relaxation (过松弛)2. ADMM应用2.1. ADMM求解最小绝对偏差(Least Absolute Deviations)2.1.1. 数学形式2

2025-01-08 16:30:50 1452

原创 Proximal Gradient Descent(近端梯度下降)方法

给定一个(一般是可凸的)函数hxh(x)hx,其近端算子proxthproxth​proxthvarg⁡min⁡xhx12t∥x−v∥2proxth​vargxmin​hx2t1​∥x−v∥2这里,t0t > 0t0为步长(或学习率)的一个系数,∥⋅∥\|\cdot\|∥⋅∥通常是 2 范数。这一定义意味着:要找一个xxx,它既能让hxh(x)hx。

2025-01-05 15:26:41 889

原创 凸函数(Convex functions)-- Part 1

文章目录1. 凸函数的定义2. 凸函数的性质3. 凸函数的扩展值定义4.凸函数的一阶条件5. 凸函数的二阶条件6. 如何通过Hessian矩阵判断凸性?7.常见凸函数和凹函数的例子8.下水平集 (Sublevel Sets)9.上图集 (Epigraph)10.Jensen 不等式及其扩展11.利用 Jensen 不等式来推导一些著名的不等式1. 凸函数的定义给定一个函数 f:Rn→Rf: \mathbb{R}^n \rightarrow \mathbb{R}f:Rn→R,如果函数的定义域(即 dom&

2024-10-28 11:54:06 1495

原创 循环冗余校验码(Cyclic Redundancy Check,CRC)

CRC是一种基于多项式运算的高效错误检测编码方法。通过选择合适的生成多项式,CRC能够以较低的计算和传输开销,实现对数据的有效错误检测。理解CRC的技术原理有助于在实际应用中正确地实现和使用CRC算法,确保数据通信和存储的可靠性。模 2 运算是二进制中的一种运算规则,主要使用异或(XOR)操作代替加法和减法,且没有进位。模 2 乘法是普通的二进制乘法,没有进位或更高的数位。模 2 运算特别适合应用于数字通信中的错误检测、编码理论等领域,因为它能有效简化二进制数据的处理。

2024-10-20 18:03:44 2551 1

原创 simplexes(单纯形)

在文中,单纯形CCC是一种特殊的多面体。它由k1k+1k1个点v0v1vkv0​v1​vk​​ 构成,并且这些点是仿射独立(affinely independent)的,这意味着这些点的差向量是线性独立的。仿射独立的意思是,给定的k1k+1k1个点v0v1vkv0​v1​vk​中,任何一个点都不能通过其余kkk个点的仿射组合得到。换句话说,这些点是处在不同方向上的,它们之间的相对位置不能由低维的空间来描述。仿射组合。

2024-10-17 22:52:17 1279

原创 Polyhedra(多面体)

多面体PPP是通过有限数量的线性不等式和线性等式定义的解集。Px∣ajTx≤bjj1mcjTxdjj1pPx∣ajT​x≤bj​j1mcjT​xdj​j1pxxx是变量向量。aja_jaj​cjc_jcj​是向量,分别定义了不等式和等式的方向。bjb_jbj​djd_jdj​是对应的不等式和等式的常数项。这意味着,多面体。

2024-10-16 22:29:38 1419

原创 Norm Ball(范数球) Norm Cone(范数锥)

范数球是一种有限大小的几何区域,它包含了所有符合某种范数约束的点。范数锥是一个无穷延伸的锥形区域,它通过缩放范数球形成。

2024-10-16 22:04:22 1577

原创 欧几里得球(Euclidean Ball)和椭球(Ellipsoid)

在nnn维欧几里得空间RnRn中,欧几里得球是以某个点为中心、半径为rrr的所有点的集合。开球(Open Ball)Brcx∈Rn∣∥x−c∥2rBr​cx∈Rn∣∥x−c∥2​r闭球(Closed Ball)B‾rcx∈Rn∣∥x−c∥2≤rBr​cx∈Rn∣∥x−c∥2​≤rc∈Rnc∈Rn是球的中心。∣x−c∣2∣x。

2024-10-15 22:15:44 1647

原创 超平面(Hyperplane)和半空间(Halfspace)

在nnn维欧几里得空间RnRn中,超平面是一个n−1n-1n−1维的仿射子空间。直观地说,超平面将空间划分为两个部分,是空间中的“平面”推广到高维的概念。在二维空间(R2R2)中,超平面是直线(111维)。在三维空间(R3R3)中,超平面是平面(222维)。在nnn维空间中,超平面是n−1n-1n−1维的子空间。半空间是由超平面将空间分割成的两个部分之一。具体来说,超平面将RnRn分割成两个闭的或开的半空间。

2024-10-15 22:02:26 2041

原创 锥(Cone)

也就是说,如果一个向量在锥中,那么其所有非负倍数也在锥中。​中点的锥组合构成的集合。是指一个满足以下条件的集合。的向量,其中每个系数。例1:二维空间中的锥。

2024-10-14 21:43:14 1016

原创 仿射包(Affine Hull)、仿射维度(Affine Dimension)、相对内部(Relative Interior)

中的点,允许进行仿射组合(即系数和为1的线性组合)所能到达的所有点的集合。它可以被看作是“拉伸”中的一个平面),但在其仿射包(这个平面本身)内,它是有内部的。的仿射维度是其仿射包的维度,即。所“占据”空间的最小维度。以填满其所在的最小平面或空间。在整个空间中没有内部(例如在。在其仿射包内的内部。作为仿射空间的维度。

2024-10-14 20:33:05 986

原创 线性子空间(Linear Subspaces)

向量空间VVV的非空子集WWW被称为VVV的一个线性子空间对于任意uv∈Wu, v \in Wuv∈W,有uv∈Wuv∈W。对于任意u∈Wu \in Wu∈W和标量c∈Rc∈R(或C\mathbb{C}C),有c⋅u∈Wc⋅u∈W。**换句话说,**线性子空间对向量加法和数乘运算是封闭的,因此它本身也是一个向量空间。线性子空间是向量空间中的“平坦”结构,必须通过原点,且对线性组合封闭。

2024-10-13 13:58:29 1386

原创 仿射集合(Affine sets)

在实数向量空间中,集合AAA被称为仿射的,如果对于任意的xy∈Ax, y \in Axy∈A和任意的实数t∈Rt∈R,线性组合tx1−tytx1−ty仍然属于AAA。这意味着仿射集合包含了其任意两点的所有仿射组合。更一般地,仿射集合是包含所有有限个点的仿射组合的集合。仿射组合是指各权重之和为 1 的线性组合,即对于点x1x2xk∈Ax1​x2​xk​∈A和实数λ1λ2λkλ1​λ2​。

2024-10-13 12:13:37 743

原创 对偶范数(Dual Norm)

给定一个向量空间VVV和它的范数∥⋅∥\|\cdot\|∥⋅∥,对偶范数(Dual Norm)∥⋅∥∗∥⋅∥∗​是定义在V∗V^*V∗VVV的对偶空间)上的范数,用于度量对偶空间中的元素的大小。对偶空间包含作用在原始空间VVV上的所有线性函数。

2024-10-12 19:58:36 2311

原创 凸函数 (Convex Function)

凸函数是指在其图像上的任意两个点之间画一条线,这条线始终不会低于函数图像。其数学定义为对于任何两个点xxx和yyy,以及λ∈01λ∈01fλx1−λy≤λfx1−λfyfλx1−λy≤λfx1−λfyeaxe^{ax}eax−log⁡x-\log(x)−logx以及当a≥1a \geq 1a≥1时的x∣a∣x|a|x∣a∣。

2024-10-12 19:55:28 1604

原创 次微分(subdifferential)

给定一个凸函数fRn→RfRn→R,在点x0x_0x0​处的**次微分集(subdifferential set)**定义为满足以下条件的所有向量gggg∈∂fx0⟺fx≥fx0gTx−x0∀x∈Rng∈∂fx0​⟺fx≥fx0​gTx−x0​∀x∈Rn这里,∂fx0∂fx0​表示fff在点x0x_0x0​处的次微分集。向量ggg。

2024-10-11 15:03:37 931

原创 $l_1$ 正则化问题的近端映射--软阈值函数(soft-thresholding function)

近端映射是从空间EEE到自身的单值映射,这意味着它对每个输入点x\mathbf{x}x总是返回唯一的、确定的输出点u\mathbf{u}u。这种特性在优化问题中非常有用,因为它确保了算法在每一步都有明确的更新方向,不会产生多义性。

2024-10-11 14:22:36 1138

原创 Python的类全面系统学习

​ 只读属性是指只能获取其值而不能修改其值的属性。通过使用@property装饰器,可以将一个方法定义为只读属性。示例:定义只读属性self._radius = radius # 保护属性@property@property# 创建实例# 访问只读属性print(circle.radius) # 输出: 5print(circle.area) # 输出: 78.5# 尝试修改只读属性会引发错误radius和area属性使用@property装饰器定义为只读属性。

2024-05-29 21:40:37 1281 2

原创 通过Wirtinger流进行相位恢复:理论与算法

Wirtinger流,包含通过谱方法初始化并使用类似梯度下降的新更新规则迭代地细化估计。这种方法承诺通过最少数量的随机测量实现精确的相位恢复,同时在计算和数据资源方面都具有高效性。传统方法,如Gerchberg-Saxton算法及其变体,通过迭代地应用投影,使频谱的幅度与观察数据匹配。这些方法依赖于关于信号的先验知识,并且缺乏理论上的收敛保证。Wirtinger流算法初始猜测zoz_ozo​是通过计算从测量数据构建的矩阵的主特征向量得到的。使用非凸目标函数的梯度迭代地细化zzz。

2024-05-22 19:28:52 1833

原创 Fienup算法和稀疏约束

总体感觉没有啥提升。

2024-05-22 10:16:18 1305 1

原创 PyQt5制作一个简易的图像傅里叶变换工具

【代码】PyQt5制作一个简易的图像傅里叶变换工具。

2024-05-21 17:54:26 390

原创 Gerchberg-Saxton (GS) 和混合输入输出(Hybrid Input-Output, HIO)算法

Gerchberg-Saxton (GS) 算法是一种常用于相位恢复和光学成像的迭代算法。该算法最初由R.W. Gerchberg和W.O. Saxton于1972年提出,主要用于从强度测量数据中恢复相位信息。准备输入图像的幅度信息(通常是从实验数据中获得的强度图像,取其平方根得到幅度)。初始化相位信息,通常可以设置为随机相位或者全零相位。对当前的图像(包含初始相位信息)进行傅里叶变换,得到频域图像。用实验测得的频域幅值替换频域图像的幅度,保留原相位信息。

2024-05-21 08:22:11 3995 1

原创 在PyQt5中创建并行线程同步输出到主窗口

在这篇博客文章中,我们将学习如何在PyQt5中创建两个线程,这两个线程将同步输出到主窗口,同时互不干扰,并在主窗口中添加一个按钮来启动这两个线程。创建一个主窗口,包含一个按钮,用于启动线程。创建两个线程类,每个线程类都包含要在线程中执行的任务。使用信号和槽机制,将线程的输出同步到主窗口。创建一个主窗口,包含一个按钮,用于启动线程。创建两个线程类,每个线程类都包含要在线程中执行的任务,并在每次任务完成后唤醒对方。使用信号和槽机制,将线程的输出同步到主窗口。

2024-05-20 10:18:34 857

原创 PyQt5中的QWaitCondition

​PyQt5是一个非常流行的 Python GUI 框架,它是 Qt 库的 Python 绑定。在 GUI 应用中,多线程编程的一个重要应用是防止界面阻塞。例如,在执行长时间运行的任务(如文件下载或计算)时,如果使用主线程来执行这些任务,界面会变得无响应。通过使用多线程,可以将这些耗时操作放在后台线程中执行,保持界面的流畅性。多线程编程是指在一个程序中同时执行多个线程,以提高程序的执行效率和响应速度。线程是操作系统能够进行调度的最小单位,它们共享进程的资源(如内存),但可以独立执行。​。

2024-05-19 14:50:03 1062

原创 PyQt5中的QMutex

在PyQt5中,QMutex(互斥锁)用于在线程之间保护共享资源,确保同一时间只有一个线程能够访问某个特定的资源。这是通过锁定和解锁机制实现的。以下是QMutex在PyQt5中的作用与用途作用用途防止数据竞争避免多个线程同时访问和修改共享数据,确保数据一致性。保证线程安全保护多线程应用中的关键代码段,防止并发访问导致的不可预见行为。同步线程操作确保线程按照预期的顺序执行,避免操作混乱。基本使用创建QMutex对象锁定互斥锁# 访问共享资源的代码尝试锁定互斥锁# 访问共享资源的代码。

2024-05-19 14:17:30 1884

原创 PyQt5中的Column View

Column View(QColumnView)是PyQt5中的一个高级视图组件,用于显示层次化的数据结构。它将数据分成多列,每列显示一个层级的数据。当用户选择某一列中的一个项时,下一列会显示该项的子项。这样,通过连续的列展示,用户可以逐级浏览数据的各个层次。QColumnView提供了一种简洁、直观且强大的方式来展示层次化数据。无论你是在开发文件管理器、组织结构图展示工具,还是在构建需要展示多层级数据的应用程序,QColumnView都是一个非常合适的选择。

2024-05-17 15:21:29 1161

原创 PyQt5中的Table view详解

二维表格数据展示:Table View 用于以行和列的形式展示数据,每个单元格可以包含文本、图像、复选框等内容。数据交互:用户可以与表格数据进行交互,例如选择单元格、编辑内容、排序和过滤数据等。在 PyQt5 中,是一个抽象基类,用于创建自定义的数据模型。它提供了处理复杂数据源(如数据库、文件、API 等)的灵活性。通过继承,可以实现自己的数据模型,并覆盖其必要的方法以提供数据和处理用户交互。要创建自定义的数据模型,需要继承方法描述返回表格的行数。返回表格的列数。返回指定索引和角色的数据。

2024-05-17 14:22:51 3537

原创 PyQt5中的Tree view

你可以创建自定义的模型来代替QFileSystemModel,例如QStandardItemModel。import sysself.setWindowTitle('自定义 Tree View 示例')# 创建自定义模型# 添加根节点# 添加子节点。

2024-05-16 11:00:52 942

原创 PyQt5 中的 List View

有时候,标准模型可能无法满足特定的需求,这时可以自定义数据模型。自定义模型需要继承自 QAbstractItemModel 类,并实现一些关键的方法,如 data()、rowCount()、columnCount() 等,以便 List View 能够正确地显示数据。# 自定义数据模型类return 1# 使用自定义模型。

2024-05-16 09:46:37 2211

原创 PyQt5多线程全面系统地学习

定义:多线程是在单个进程内运行多个线程,每个线程可以执行不同的任务。线程是操作系统调度的基本单位。共享内存空间:线程共享同一个进程的内存空间,因此可以轻松地共享数据,但这也带来了线程安全的问题。轻量级:线程比进程更轻量级,创建和销毁的开销较小。适用场景:适用于I/O密集型任务,如文件读写、网络请求等,因为这些任务往往在等待I/O操作完成时会阻塞线程,但其他线程可以继续执行。线程:使用创建和管理线程,适用于I/O密集型任务。使用LockEvent等工具进行线程同步和通信。QRunnable。

2024-05-15 16:42:31 2926

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除