研究生总结

Note:本博客更多是关于自己的感悟,没有翻阅文件详细查证,如果存在错过,也请提出指正。

1. 半监督回归

相比于半监督分类,半监督回归相对冷门。回归和分类之间有着难以逾越的天谴,预测精度。分类中的类别是可数的,有限的;而在回归中可以认为类别是无限的(可以通过离散化将回归任务转化成分类任务,但是这样回归精度就会极具下降)。BEL 试图打破分类与回归之间的天谴,参见。Deep Imbalanced Regression 认为回归任务中同样存在不平衡的问题。其实,这一点在半监督语境下的回归任务中更加突出。

半监督回归则是想要利用无标记数据来提升模型性能。一种简单且有效的方法是打伪标签。值得注意的是,半监督分类中的伪标签包含的噪声更小。可以考虑在一个猫狗分类的任务中,随机标记一个伪标签都有百分之五十的概率标记正确。而在一个预测西瓜甜度,假设范围是 [ 0 , 1 ] [0, 1] [0,1], 很难预测一个一摸一样的标签。

正是因为伪标签很难预测正确,所以需要一个量化置信度的策略。在这里插入图片描述图1. 伪标签策略在分类和回归任务中的差异图。来自《Semi-Supervised Deep Regression with Uncertainty Consistency and Variational Model Ensembling via Bayesian Neural Networks》
目前的工作中提出的是启发式策略,即不能证明这样一定是对的,但是感觉是对的。
COREG 提供了一个量化置信度,
δ x u = ∑ x i ∈ Ω u ( ( y i − h ( x i ) ) 2 − ( y i − h ′ ( x i ) ) 2 ) \delta_{\mathbf{x}_u} = \sum_{\mathbf{x}_i \in \Omega_u}((y_i-h(\mathbf{x}_i))^2-(y_i - h'(\mathbf{x}_i))^2) δxu=xiΩu((yih(xi))2(yih(xi))2)。师兄的论文也基于这样的一个启发式置信度策略来设计。
MSSRA 也提供了一个置信度:由多个回归器对于样本预测的极值(最大值减去最小值)确定。其实这里还有一个问题,伪标签应该添加多少呢,COREG 设计了一个最大的迭代次数,如果没有能带来正提升的无标记样本,则提前停止。这里涉及到数量与质量的权衡,其实可以设计一个伪标签数量控制的策略。

其实,还有一种量化伪标签置信度的方法,不确定性。在聊不确定性之前,可以先了解一下点估计与区间估计。分类问题其实可以相当于点估计,那么回归问题相当于区间估计。

在这里插入图片描述

图2. 3σ准则
  1. 68% 的数据会落在 μ ± σ \mu \pm \sigma μ±σ 内,即数据分布在处于 ( μ − σ , μ + σ ) (\mu−\sigma, \mu+\sigma) (μσ,μ+σ)中的概率是 0.68
  2. 95% 的数据会落在 μ ± 2 σ \mu \pm 2\sigma μ±2σ 内,即数据分布在处于 ( μ − 2 σ , μ + 2 σ ) (\mu−2\sigma, \mu+2\sigma) (μ2σ,μ+2σ)中的概率是 0.95
  3. 99% 的数据会落在 μ ± 3 σ \mu \pm 3\sigma μ±3σ 内,即数据分布在处于 ( μ − 3 σ , μ + 3 σ ) (\mu−3\sigma, \mu+3\sigma) (μ3σ,μ+3σ)中的概率是 0.99

在这里插入图片描述
图3. 不确定性。来自《A review ofuncertainty quantification in deep learning: Techniques, applications and challenges》
这里就不细讲下去了,内容太多了。

除了刚刚讲到的伪标签,在半监督分类问题中一致性正则表现优秀。目前还没有找到有基于一致性正则的半监督回归工作。
C ( D u , w ) = 1 ∣ D u ∣ ∑ x i ∈ D u d ( f ( x i , w ) , T ( x ^ i ) ) \mathcal{C}(D_u, \mathbf{w}) = \frac{1}{|D_u|} \sum_{x_i \in D_u}d(f(x_i,\mathbf{w}), T(\hat{x}_i)) C(Du,w)=Du1xiDud(f(xi,w),T(x^i))
其中, T ( x ^ i ) T(\hat{x}_i) T(x^i) 我更喜欢称为锚点,其实也相当于是伪标签,但是没有置信度的概念,相对于质量,更倾向于使用所有的无标记数据。由于 C ( D u , w ) \mathcal{C}(D_u, \mathbf{w}) C(Du,w) 没有携带标签信息,所有称之为正则。

2. 读论文技巧

三不读:

  1. 水刊论文不读
  2. 太难的论文也不读
  3. 同门师兄的论文不读

Trick1: 精读摘要。有时候只需要读完摘要就够了。
Trick2:Introduction 一般不用读,毕竟老板的八股指南说 Introduction 是摘要的详细描述,读了摘要就没必要读了。
Trick3:读完摘要带着问题去读。
Trick4:读最新的论文,即使和自己课题不是太相关。这一点主要是找idea的时候可以挂靠的理论。我们的创新主要是缝合(e.g. 李师兄就是将自步学习和协同训练结合在一起)。

3. 写论文技巧

  1. 老板的八股指南。

  2. 我的经验

  3. 写论文最大的难点就是有话说,其实我觉得老板说的对,先写下来,即使是废话。不用担心是废话,在论文的打磨过程会逐渐消失的。

  4. 每话说还有一个就是对自己处理的问题理解不够深刻。这一点可能有点解决方案:

    • 可以读综述论文,增加对课题的整体了解。
    • 组内讨论。
    • 每周读一篇高质量论文,厚积薄发。
  5. 写论文时间安排不要阻塞。在实际情况中,跑实验会持续两周,不用等着实验结果在开始写论文。毕竟实验结果并不影响你描述你的算法,可以在编写算法描述章节边跑实验。

4. 代码工具

  1. Experiment_SSR_k_fold 断电重跑,解决实验室每天晚上断点问题,持久化实验跑的进度。
  2. StaticTestUtil.py fridman 检验
  3. FileUtil.py/summaryCSVFilePlus 汇总多个对比算法的实验结果。
  4. FileUtil.py/csv2LatexTablePlusPlus 生成latex表格代码,剩去手动填写数据的时间。
  5. 对比算法,COREG, SAFER,MSSRA,BHD,Self-kNN,S3VR

代码比较乱,主要是日常自己使用,后续没有考虑维护的问题。

5. 杂项

  • 怎么给论文guanshui?
    可以细读一下老板的八股指南。老板认为写论文就像是填写模板一样,每个地方都有应该要填写的东西。主要是有一个理论自洽的方案,比如说半监督学习,就是有一个利用无标记数据的方案。至于三点贡献,这也可以让老板帮你找,抱紧大腿总是没有问题的。

  • 写论文需要公式,自己创造存在困难?
    实际上是不用自己创造的。自己创造很难,那一般是前沿学者的工作。如果确实要到创造公式的地步,怀疑一下自己是不是没有挂靠成熟的理论。抛开前面的那些,写公式要先看别人的,在别人的基础上进行改动。存在一种情况,自己想表达的意思很简单,用语言两三句话就表述出来了,但是用数学语言表达困难,这就需要老板帮助了。

6. 总结

研究生生涯时间过得很快,有效时间其实只有研二的一年。最开始入学的时候很迷茫,不知道做些什么,伴随着还有很多课程,考试,留给自己的学习时间很少。最主要的是迷茫,没有目标体现出来就是这也想做那也想做,结果什么都没有做。这很可怕,研一应该快速的确定自己的课题,最好的是跟着老师,不然就是师兄,自己一个人单干难度加加(我就是这种情况,该踩的坑一个也没少)。研二就主要靠自觉了,早上的时间不能荒废(睡懒觉可不好),多读与课题相关的论文,同时写博客,不然容易忘记(白读)。尽量研二上学期就把小论文初稿写出来,但是这很难,但是不逼自己一把可不行。如果实在没有也应该放松心态,急也没用,只有慢慢的积累,没有人能帮你写。研三,就要考虑自己的就业或者继续深造,同样充满了焦虑。如果没出意外,应该有修改意见了,当然如果已经中了那就太好了,压力骤降。一个普遍的认知是有了修改意见那么机会就很大,要紧紧地抓住,即使是大修机会也很大。我在写下这篇博客的时候在研三的最后阶段了,找工作也很难😂,毕竟时间和努力都用在小论文上,都没时间锻炼编程能力了,可恶!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS原型和原型链的理解

原型链图,图中Parent是构造函数,p1是通过Parent实例化出来的一个对象 前置知识 js中对象和函数的关系,函数其实是对象的一种 函数、构造函数的区别,任何函数都可以作为构造函数,但是并不能将任意函数叫做构造函数&…

C语言快速入门之内存函数的使用和模拟实现

1.memcpy 它可以理解为memory copy的组合,memory有记忆的意思,这里指的是内存,copy是拷贝,这个函数是针对内存块进行拷贝的 函数原型 void* memcpy(void* destination,const void* source, size_t num); 从source位置开始&am…

【开源鸿蒙】模拟运行OpenHarmony轻量系统QEMU RISC-V版

文章目录 一、准备工作1.1 编译输出目录简介 二、QEMU安装2.1 安装依赖2.2 获取源码2.3 编译安装2.4 问题解决 三、用QEMU运行OpenHarmony轻量系统3.1 qemu-run脚本简介3.2 qemu-run脚本参数3.3 qemu-run运行效果3.4 退出QEMU交互模式 四、问题解决五、参考链接 开源鸿蒙坚果派…

合并两个有序链表

问题描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 […

AJAX概念和axios使用、URL、请求方法和数据提交、HTTP协议、接口、form-serialize插件

AJAX概念和axios使用 AJAX概念 AJAX就是使用XMLHttpRequest对象与服务器通信,它可以使用JSON、XML、HTML和text文本等格式发送和接收数据,AJAX最吸引人的就是它的异步特性,也就是说它可以在不重新刷新页面的情况下与服务器通信,…

vulhub中GitLab 任意文件读取漏洞复现(CVE-2016-9086)

GitLab是一款Ruby开发的Git项目管理平台。在8.9版本后添加的“导出、导入项目”功能,因为没有处理好压缩包中的软连接,已登录用户可以利用这个功能读取服务器上的任意文件。 环境运行后,访问http://your-ip:8080即可查看GitLab主页&#xff0…

【鸿蒙HarmonyOS开发笔记】状态管理入门

状态管理 为了方便开发者管理组件状态,ArkTS 提供了一系列状态相关的装饰器,例如State,Prop,Link,Provide和Consume等等。 State State用于装饰当前组件的状态变量,State装饰的变量发生变化时会驱动当前组…

uniapp移动端 IOS系统下无法与webview通信

不知道有没有人遇到过这个问题 我的页面嵌套了一个webview(文件位于项目的hybrif/html)目录下 使用evalJS与webview进行通信 代码如下 在安卓里运行是没问题的,但在苹果手机上一直无法通信 连接真机,打印evalJS是个方法&#xf…

Blocks —— 《Objective-C高级编程 iOS与OS X多线程和内存管理》

目录 Blocks概要什么是BlocksOC转C方法关于几种变量的特点 Blocks模式Block语法Block类型 变量截获局部变量值__block说明符截获的局部变量 Blocks的实现Block的实质 Blocks概要 什么是Blocks Blocks是C语言的扩充功能,即带有局部变量的匿名函数。 顾名思义&#x…

email + celery+django 异步发送邮件功能的实现

主要流程: django通过发件服务器到收件服务器,最后到收件人 邮件配置设置需要打开SMTP/IMAP并获的授权码,完成授权功能实现发送给收件人 邮件配置请参考另一博客https://blog.csdn.net/qq_44238024/article/details/136277821 项目结构树…

【Linux杂货铺】进程的基本概念

目录 🌈前言🌈 📁进程的概念 📂描述进程-PCB 📂 查看进程 📂 查看正在运行的程序 📂杀死进程 📂通过系统调用获取进程标识符 📂通过系统调用创建进程 &#x1f…

纯 CSS 实现文字换行环绕效果

实现效果 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…

蓝桥杯并查集|路径压缩|合并优化|按秩合并|合根植物(C++)

并查集 并查集是大量的树&#xff08;单个节点也算是树&#xff09;经过合并生成一系列家族森林的过程。 可以合并可以查询的集合的一种算法 可以查询哪个元素属于哪个集合 每个集合也就是每棵树都是由根节点确定&#xff0c;也可以理解为每个家族的族长就是根节点。 元素集合…

Transformer的前世今生 day02(神经网络语言模型

神经网络语言模型 使用神经网络的方法&#xff0c;去完成语言模型的两个问题&#xff0c;下图为两层感知机的神经网络语言模型&#xff1a; 以下为预备概念 感知机 线性模型可以用下图来表示&#xff1a;输入经过线性层得到输出 线性层 / 全连接层 / 稠密层&#xff1a;假…

Etcd 介绍与使用(入门篇)

etcd 介绍 etcd 简介 etc &#xff08;基于 Go 语言实现&#xff09;在 Linux 系统中是配置文件目录名&#xff1b;etcd 就是配置服务&#xff1b; etcd 诞生于 CoreOS 公司&#xff0c;最初用于解决集群管理系统中 os 升级时的分布式并发控制、配置文件的存储与分发等问题。基…

phpstudy搭建简单渗透测试环境upload-labs、DVWA、sqli-labs靶场

好久没有做渗透相关的试验了&#xff0c;今天打开phpstudy发现很多问题&#xff0c;好多环境都用不了&#xff0c;那就卸载重装吧&#xff0c;顺便记录一下。 小皮下载地址&#xff1a; https://www.xp.cn/download.html 下载安装完成 一、下载搭建upload-labs环境 github…

mysql与redis数据测试

题目要求 1.新建一张user表&#xff0c;在表内插入10000条数据。 2.①通过jdbc查询这10000条数据&#xff0c;记录查询时间。 ②通过redis查询这10000条数据&#xff0c;记录查询时间。 3.再次查询这一万条数据&#xff0c;要求根据年龄进行排序&#xff0c;mysql和redis各实现…

【GPT-SOVITS-03】SOVITS 模块-生成模型解析

说明&#xff1a;该系列文章从本人知乎账号迁入&#xff0c;主要原因是知乎图片附件过于模糊。 知乎专栏地址&#xff1a; 语音生成专栏 系列文章地址&#xff1a; 【GPT-SOVITS-01】源码梳理 【GPT-SOVITS-02】GPT模块解析 【GPT-SOVITS-03】SOVITS 模块-生成模型解析 【G…

vb.net+zxing.net随机彩色二维码、条形码

需要zxing库支持ZXing.NET Generate QR Code & Barcode in C# Alternatives | IronBarcode 效果图&#xff1a; 思路&#xff1a;先生成1个单位的二维码&#xff0c;然后再通过像素填充颜色&#xff0c;颜色数组要通过洗牌算法 洗牌算法 Dim shuffledCards As New List(…

Java八股文(MyBatis Plus)

Java八股文のMyBatis Plus MyBatis Plus MyBatis Plus MyBatis Plus 是什么&#xff1f;它与 MyBatis 有什么区别&#xff1f; MyBatis Plus 是基于 MyBatis 进行扩展的一款持久层框架&#xff0c;它提供了一系列增强功能&#xff0c;简化了 MyBatis 的使用。 与 MyBatis 相比…