自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BIC贝叶斯信息准则评估GMM的组件数

贝叶斯信息准则(Bayesian Information Criterion,简称BIC)**是一种用于统计模型选择的准则。BIC旨在在多个候选模型中选择最优模型,方法是权衡模型的拟合优度和其复杂度。具体来说,BIC通过最大化模型的似然函数,同时惩罚模型中过多的参数,从而避免过拟合。BIC−2⋅ln⁡Lp⋅ln⁡nBIC−2⋅lnLp⋅lnnLLL是模型的最大似然估计值(即模型对数据的拟合程度)。ppp是模型的参数数量。nnn是数据点的数量。解释。

2024-09-24 14:47:04 286

原创 机器学习中求解模型参数的方法

虽然它们本身也不是一种参数估计方法,而是一种在MLE素基础上引入的对参数大小控制的手段,但它们会使得参数的求解受到限制,从而影响参数的估计结果。最大后验估计(Maximum a Posteriori, MAP):这也是一种基于贝叶斯公式的估计方法,但与MLE和贝叶斯估计不同的是,它在似然函数的基础上引入了参数的先验概率,然后求解使得后验概率最大的参数。最小二乘法(Least Squares Method):这是一种在回归问题中常用的方法,通过最小化预测值与真实值之间的平方误差来求解模型的参数。

2024-09-18 22:27:22 340

原创 subclass balancing代码解读3

这段代码的功能是使用K-means聚类算法对一个卷积神经网络模型的特征进行聚类,其中model参数是一个预先训练好的模型,它将输入的图像转换成高维的特征向量,train_loader_cluster提供了需要聚类的数据集,cluster_number是一个定义了每个类别应分为多少个簇的列表。这行代码的目的是给每个类别的簇编号添加一个偏移量,使得每个类别的簇编号是唯一的,并且不同类别之间的编号是连续的。列表中的每一项,基于累积聚类数量来调整簇的编号,保证不同类别的簇编号不会重叠。对于每个类别,如果它的。

2024-09-12 11:55:18 179

原创 softmax + NCE + infoNCE

InfoNCE 是从 NCE 派生出来的一种特殊形式,主要用于对比学习中的表征学习任务,而 NCE 本质上是一个用于概率密度估计的技术。InfoNCE 的 “Info” 代表互信息的最大化,这也是它与传统 NCE 的核心区别之一。InfoNCE 通过对比正样本和负样本,隐式地最大化了正样本对之间的互信息。它的损失形式在最大化相似样本的联合概率时,类似于在最大化样本间的互信息。虽然 InfoNCE 的原始形式没有直接提及互信息,但它的作用可以被解释为在对比学习中通过最大化互信息来学习有效的表征。

2024-09-12 11:49:03 1011

原创 infoNCE损失和互信息的关系

都是从数据中采样得到的。但在推导互信息时,我们通常计算的是所有可能的样本对上的平均值,而不仅仅是单一的样本对。因此,将相似度函数视为联合概率对数的依据源于能量基模型的思想,即通过能量(或相似度)函数衡量样本间的匹配程度,然后使用指数函数将其转换为概率分布。通过 InfoNCE 损失对正样本对进行优化,本质上就是在最大化这些正样本对的互信息,因此引入期望是为了与互信息的定义保持一致。因此,InfoNCE 损失通过最大化正样本对的联合概率和最小化负样本对的边缘概率,从而实现对正样本和负样本之间互信息的优化。

2024-09-12 11:45:40 577

原创 信息熵+互信息(信息增益)

当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵(empirical entropy)和经验条件熵(empirical conditional entropy).因为中国队进入世界杯的不确定性因素很大,而这句话消除了进入世界杯的不确定性,所以按照定义,这句话的信息量很大。给出熵和条件熵的定义。而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益,信息增益大的特征具有更强的分类能力,,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

2024-09-10 17:31:32 1014

原创 Subclass-balancing Contrastive Learning for Long-tailed Recognition核心思想讲解

文章目录SCL(supervised contrastive learning)1. 监督对比学习(SCL)的基本概念2. SCL的损失函数3. 长尾数据集的问题4. k-正样本对比学习(KCL)的引入5. 总结SBCL举例说明:狗的分类关键点:划分为多个子类Algorithm 1为什么更细粒度的标签可以实现instance&subclass balance?公式4的解释背景问题解决方案损失函数的具体形式结论主要内容总结公式解释1. **相对性和自适应性**:2. **指数函数的特点**:3. **

2024-09-08 21:58:48 1186

原创 一本就能看懂中医+体质篇

望舌是望诊中的重要内容,观察脏腑气血的寒热,虚实,重点是看舌质。观察病邪的深浅和寒热湿燥的变化,以及消化功能的病变,重点是看舌苔,正常人苔薄白。神包括功能活动,物质代谢过程,性格,心理,精神。如心跳,呼吸,吸收,消化,排泄,水谷营养在体内被吸收利用转化排泄,性格特点,精神活动,情绪反应,睡眠等。从人的形态,皮肤,发质,性格,疾病或从治疗的效果等方面都可以看到体质偏颇的一面。中医认为胖人多半阳气偏虚,多湿,瘦人多半阴血偏虚,多火,故胖人易生痰,中风;如肌肉,骨髓,五脏,五官,皮肤,毛发,血脉等。

2024-09-05 20:25:01 432

原创 subclass-balancing的related work+conclusion

实例级别的重新赋权是针对个体样本进行权重的调整,尤其在计算损失函数的时候。然而,这些研究的目标是普通的无监督表示学习场景,而作者的方法是为长尾识别定制的,这是一个训练数据非常类别不平衡的场景。实例级别(Instance-level)的re-weighting和类别级别(Class-level)的re-weighting是指在处理数据不平衡问题时的两种不同的方法。简单来说,实例级别的re-weighting是在样本层面改变模型的学习重点,而类别级别的re-weighting则是在类别层面改变模型的学习重点。

2024-09-03 15:32:41 779

原创 subclass-balancing的实验结果分析

PASCAL VOC (Visual Object Classes) 数据集是计算机视觉领域中一个广泛使用的基准数据集。它主要用于以下几个任务:目标检测(Object Detection):在图像中识别并定位特定类别的对象。图像分类(Image Classification):确定图像中是否存在某个类别的对象。语义分割(Semantic Segmentation):为图像中的每个像素分配一个类别标签。

2024-09-03 15:09:49 1122

原创 subclass-balance的数据集和Baseline方法介绍

数据集介绍LT(Long-Tailed)的含义总结Baseline的方法介绍1. 类平衡分类器(Class-Balancing Classifiers)a. **τ\tauτ-norm(τ\tauτ类平衡采样的实施例子效果总结2. 单阶段平衡损失(One-Stage Balancing Loss)3. 对比学习方法(Contrastive Learning Methods)总结介绍三个常用的长尾识别(long-tailed recognition)基准数据集。全名来源:由CIFAR-100数据集生成。

2024-09-02 22:04:33 967

原创 subclass balancing代码解读2

这段代码的主要目的是根据每个类别的特征向量和特征中心点之间的距离计算出每个类别的“密度”,并做相应的归一化和标准化处理。这种密度可以作为后续聚类或分类的重要依据。特征中心点:找到每个类别的特征中心点,代表该类别的中心位置。密度计算:计算特征向量到中心点的平均距离并进行标准化"""这个函数initializeX: 一个数据矩阵,类型是,每一行代表一个样本,每一列代表一个特征。: 要初始化的聚类中心的个数。seed: 随机种子,用于在初始化时保持结果的一致性。

2024-07-23 15:40:19 860

原创 full name

这样填写可以确保你的名字在国际平台上更容易被正确理解和使用。如果平台提供“姓”和“名”单独填写的输入框,你也可以对应地分别填写,以便系统正确存储和显示你的名字。这种命名方式更符合大多数国际化平台的用户体验和文化传统。在国际化平台或系统上填写名字时,一般遵循西方的命名习惯,即。

2024-07-22 15:21:53 362

原创 subclass balancing 代码阅读1

logits_max是每一行的最大值,用来减去中的值以确保数值稳定性。而logits是处理后的相似度结果,它使得在计算 softmax 或交叉熵损失时不会出现数值溢出的情况。通过这种方式,模型训练更加稳定和可靠。操作的主要目的是将原始的mask矩阵按同样的逻辑(是否属于同一类)进行重复扩展,以适应锚点(anchor)数量和对比数量的扩展。这使得在计算对比学习时,可以正确地标记出所有样本对的相似关系,为损失计算提供准确的掩码信息。这行代码的目的是生成一个掩码矩阵,掩盖掉样本与自身的对比。通过scatter。

2024-07-22 15:20:42 617

原创 Subclass-balancing Contrastive Learning for Long-tailed Recognition草稿版

τ。

2024-07-10 20:44:42 742

原创 虚拟环境安装+tmux+nvitop+conda activate无法激活环境的问题

通过上述步骤,你应该能够找到解决方法,并成功激活 Conda 环境。为了确保你使用正确的命令来激活环境,请检查 Conda 的安装状态和 Shell 配置。首先,确保你的系统中已安装 Python 和 pip。,一个用于监控 NVIDIA GPU 使用情况的工具,你可以遵循以下步骤来确保在你的环境中正确安装它。如果仍然有问题,可能是 Conda 安装有误。如果安装成功,这个命令将显示当前系统中 NVIDIA GPU 的使用情况。如果你使用的是 Zsh 或其他 Shell,确保使用对应的配置文件,例如。

2024-05-07 11:50:40 1029

原创 ‘DataParallel‘ object has no attribute ‘model1‘

我的代码如下。

2023-12-25 10:54:45 593 1

原创 为啥$p(w|D)=p(y|X,w)$?

对于表达式p(D∣w)=p(y∣X,w)p(D|w) = p(y|X,w)p(D∣w)=p(y∣X,w) 的疑问,这个等式在一定条件下是成立的。但是需要仔细说明。当我们说 p(D∣w)p(D|w)p(D∣w),我们指的是在给定参数 www 的情况下,数据 DDD 出现的概率。如果 DDD 代表了所有的数据,包括输入 XXX 和输出 yyy,那么 p(D∣w)p(D|w)p(D∣w) 实际上是数据集中每个数据点 (xi,yi)(x_i, y_i)(xi​,yi​) 出现概率的乘积,假设它们是独立同分布的(i.

2023-11-10 21:51:11 220

原创 self.named_parameters()和weight_decay解释

这样的筛选常用于深度学习中,因为通常我们不对偏置参数应用权重衰减,而只对权重参数应用。这可以帮助防止过拟合,并确保模型的稳定性。这段代码是在PyTorch中对模型的参数进行筛选,以便在优化器中为不同的参数组设置不同的权重衰减(通常称为L2正则化)。

2023-10-30 16:45:14 317

原创 moea中return, risk的计算

但在实际应用中,由于市场的有限性和资产之间的相关性,投资组合的方差会受到一定的限制。其中x是一个向量,表示对每个股份的投资比例,s是各个股份的回报return的标准差,c是各个股份的return之间的协方差矩阵。这意味着最低的风险是没有风险,但在实际的金融市场中,这几乎是不可能的,除非投资的是无风险资产,如某些国债。其中x是一个向量,表示对每个股份的投资比例,r是各个股份的回报return的均值。总之,投资组合的方差的下界是0,而上界在实际应用中会受到市场和资产特性的限制,但理论上没有明确的上界。

2023-10-26 14:58:30 232

原创 WSL的秘钥被修改了要怎么弄

这个错误是因为你在尝试推送到GitHub仓库时,GitHub服务器拒绝了你的公钥。如果上述步骤都不能解决问题,你可能需要重新生成一个新的SSH密钥并添加到你的GitHub账户中。果一切正常,你应该会看到一个欢迎消息,说明你现在可以使用这个SSH密钥与GitHub通信了。这个密钥,你可以为GitHub创建一个新的SSH密钥,并重复上述步骤。要解决这个问题,你需要确保你的私钥对应的公钥已经被添加到你的。如果你使用的是默认的私钥名(如。是一个背景程序,用于管理你的 SSH 私钥,而。这将显示你的公钥内容。

2023-10-26 14:53:30 351

原创 带温度的softmax

用pytorch写一下使用带有温度的softmax的demo。

2023-10-21 17:49:01 479

原创 似然函数和贝叶斯的关系

似然函数(Likelihood Function)是统计学和概率论中的一个重要概念。它通常用于估计参数或进行统计推断。似然函数描述了在给定模型下,观察到特定数据的概率,或者说是数据对于参数的条件分布。似然函数通常表示为 L(θ | x) 或 L(θ;L 表示似然函数。θ 表示一个或多个参数,这些参数是需要估计的。x 表示已观察到的数据。似然函数的主要思想是,它衡量了在给定参数 θ 下,观察到数据 x 的概率。在某种程度上,似然函数可以被视为参数 θ 的函数,其取决于数据 x。

2023-10-19 23:41:31 585

原创 MLE<=> KL

但是,在实际的最大似然估计中,我们通常使用观测数据的经验分布来代替真实分布,所以我们尝试最大化对数似然函数。这样,通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。“通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。,使得参数化的模型分布 Q_日尽可能接近观测数据的经验分布,从而最小化它们之间的KL散度。因此,确实,当你考虑观测数据的经验分布,并将对数似然函数乘以。这与基于经验分布的负对数似然期望是一致的,只是符号相反。

2023-10-19 12:12:37 222

原创 MSE=MLE, 似然函数和极大似然估计的关系

值得注意的是,虽然似然函数和概率函数在形式上看起来相似,但它们的解释和用途是不同的。总结一下,似然函数描述了在给定模型参数时,观察到某一特定数据的可能性,而极大似然估计是一种方法,用于找到使似然函数最大的模型参数值。在线性回归中,当误差(或残差)被假设为正态分布时,最小均方误差(MSE)的最小化与最大似然估计(MLE)是等价的。(硬币正面朝上的概率),观察到当前数据(7次正面和3 次反面) 的“可能性”或“似然”。这意味着,根据我们的观测数据,最有可能的硬币正面朝上的概率是0.7。

2023-10-19 10:54:20 872

原创 CUDA_VISIBLE_DEVICES

请注意,如果在Python脚本中设置此环境变量,它只会影响从该脚本中导入或启动的任何子进程。PyTorch的设备管理:您可以使用torch.cuda.set_device(device_id)来明确设置希望PyTorch使用的设备。这确保只有您指定的GPU对Python进程可见,从而避免占用其他GPU的内存。因此,对于您的Python进程来说,此GPU现在的设备ID为0。某些操作可能会在后台触发GPU的使用。默认行为:PyTorch可能会在第一次调用时初始化所有可用的GPU,即使您指定使用特定的GPU。

2023-10-17 15:43:43 4237

原创 linux服务器在后台运行程序

在这个特定的上下文中,'2’代表标准错误的文件描述符,‘1’代表标准输出的文件描述符。通过使用’2>&1’,你告诉系统将标准错误重定向到与标准输出相同的地方,这意味着两者的输出都将写入到同一个地方,即前面提到的"1.log"文件。综合来说,这个命令的作用是在后台以无缓冲模式运行Python脚本"train.py",将其标准输出和标准错误输出写入到文件"1.log",并使其在你退出终端或SSH会话后继续运行。Tmux在终端中的使用使其成为系统管理员、开发人员和其他需要在终端上进行多任务处理的人员的有用工具。

2023-10-12 11:53:27 148

原创 nn.Linear(d, num_units, bias=True)设置bias和不设置bias有什么区别?

通常,在大多数场景中,默认启用偏置是有利的,因为它增加了模型的表达能力,而额外的计算成本相对较小。但在某些特定的架构或应用中,可能会选择禁用偏置。是PyTorch中定义的一个全连接线性层。参数决定是否在这个线性变换中添加一个偏置项。是输出特征的数量,而。

2023-10-04 18:34:42 1516

原创 Diffusion——moea

【代码】Diffusion——moea。

2023-10-04 12:23:17 83

原创 AgeDB(data.Dataset)

数据集类是为年龄估计任务设计的。它加载图像并为每个图像提供与其相关的年龄标签。此外,该类还支持为每个样本提供权重,这在训练不均衡数据集时非常有用。权重的目的是在训练过程中为不同的样本提供不同的重要性,从而改善模型的性能。这个类旨在为AgeDB数据集提供一个结构,从而方便地加载、处理和提供图像数据及其相关标签。这段代码定义了一个名为。的数据集类,该类继承自。

2023-10-03 21:33:11 444

原创 plt的color,marker, legend的位置设置

blue’‘green’‘red’‘cyan’‘magenta’‘yellow’‘black’‘white’‘purple’‘orange’‘pink’ 等等。

2023-09-23 11:56:43 2108

原创 读取csv文件

文件1.csv的内容如上,第一行表明了两列分别为return和risk,现在想读取文件的内容,并将return变为正数,然后删除变为正数后的return>0.1所对应的那一整行数据(即同时删除那一行的return和对应的risk)运行这段代码后,您将得到一个名为“修改后的文件1.csv”的CSV文件,其中包含了经过处理后的数据。这个文件中不包含 return 大于0.1的行,同时对应的 risk 也已被删除。注意,这里的return是正数了,因为在上面的代码中,把所有的return都取正数了。

2023-09-23 11:52:47 135

原创 environment.yaml或者requirements.txt

想把当前的环境moea也写成environment.yaml或者requirements.txt,方便别人安装。

2023-09-22 19:39:14 1227

原创 查看显存和内存大小

如果内存不足,操作系统可能会使用磁盘作为“虚拟内存”,但这样会大大降低系统性能,因为磁盘的读写速度远低于内存。请注意,由于WSL实际上是运行在Windows之上的,因此显示的内存信息实际上是分配给WSL实例的内存大小,而不是整个物理机或主操作系统的内存大小。在WSL(Windows Subsystem for Linux)或者linux的终端,您可以使用多种方法来查看系统的内存(RAM)大小。下图中的,“24576MiB”就是GeForce RTX 3090的显存大小,换算成GB大约是24GB。

2023-09-22 19:26:39 2083

原创 在github上设置不同分支,方便回滚

之前在github上上传了一个项目代码,现在我在自己电脑的WSL上对项目代码进行了一定的修改,我想把修改后的代码push到github中,并且想在github上同时保存上一个版本的代码,以便及时回滚,那我需要怎么做。这是因为该分支目前仅存在于您的本地仓库中,还没有被推送到远程GitHub仓库。这样,您就可以在GitHub上保存多个版本的代码,并有能力随时回滚到任何一个版本。如果您希望保存旧版本的代码以便随时回滚,您可以使用Git的分支功能。分支推送到远程仓库,您可以直接进行推送操作,而跳过拉取(

2023-09-22 17:07:40 737

原创 设置github的默认分支

但当您已经在一个现有的仓库中并处于某一特定分支上时,执行git pull命令通常会拉取该分支与其对应的远程分支(upstream)之间的更改,而不是默认分支的更改。如果您处于一个名为gpuVersion的分支上,执行git pull会尝试从远程仓库的同名分支(在这种情况下是origin/gpuVersion)拉取代码到本地的gpuVersion分支。总体而言,git pull操作是依赖于您当前所处的本地分支和该分支的远程跟踪设置,而不是远程仓库的默认分支设置。点击那个交换箭头,可以进行。

2023-09-22 16:37:20 2000 1

原创 GAN里面什么时候用detach的说明

的fake_data进行detach,是因为下面的代码只有g_loss_backward(),也就是只对G进行参数更新,当然这里也不能对fake_data进行detach,如果detach了,就无法更新G的参数了。在生成对抗网络(GAN)中,生成器(G)和判别器(D)通常是两个独立的神经网络,它们之间会有梯度传播的互动。生成的, 为了保证分开训练判别器和生成器,即在训练判别器的时候,不对生成器的参数进行更新,这里就要把。在训练生成器时, 也用到了判别器,用判别器去判别生成器生成的内容,希望判别器能把。

2023-09-22 11:52:21 602

原创 MOEA算法的背景知识

在进化算法中,这些术语用于描述算法的迭代过程,其中“父代”或“上一代”通过交叉和变异操作产生“子代”或“新一代”,然后这些“新一代”设计被用于下一轮的迭代和评估。在算法的每一代迭代中,都会从当前种群中选出一些“优秀”的个体进行交叉和变异操作,生成新的个体(或解),这些新生成的个体会与当前种群中的个体一起,根据目标函数或多个目标函数进行评估和排序,从而形成下一代种群。在上面的无人机设计的例子中,如果我们采用固定种群大小的策略,那么即使进行了交叉和变异,种群中无人机设计的数量还是会保持为10个。

2023-09-20 19:38:39 496

原创 GAN实现mnist生成

nn.Sigmoid() # sigmoid结果为(0,1)latent_size = 64 # latent_size,相当于初始噪声的维数nn.ReLU(),nn.ReLU(),nn.Tanh() # 转换至(-1,1)# 放到gpu上计算(如果有的话)# 定义损失函数、优化器、学习率。

2023-09-19 14:50:09 485

原创 moea项目的问题解决方案

修改了run_benchmark.sh的line22->line23。

2023-09-19 00:23:40 478

空空如也

空空如也

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

TA关注的人

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