研究生总结

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://xiahunao.cn/news/2871727.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter开发进阶之使用工具效率开发

Flutter开发进阶之使用工具效率开发 软件开发团队使用Flutter开发的原因通常是因为Flutter开发性能高、效率高、兼容性好、可拓展性高,作为软件PM来说主要考虑的是范围管理、进度管理、成本管理、资源管理、质量管理、风险管理和沟通管理等,可以看到Flu…

Zookeeper的ZAB协议原理详解

Zookeeper的ZAB协议原理详解 如何保证数据一致性。 Paxos, 吸收了主从。 zk 数据模型Watch机制 zab zookeeper原子广播协议。 ZAB概念 ZooKeeper是通过Zab协议来保证分布式事务的最终一致性。 Zab(ZooKeeper Atomic Broadcast,.ZooKeeper原子广播协议)支持…

Java SE 认识异常 (Java SE完结篇)

1. 异常的概念与体系结构 1.1 异常的概念 在我们的生活中,一个人如果表情痛苦,我们可能会问: 你是生病了吗? 需要我陪你去看医生吗? 程序也和人是一样的,均会发生一些"生病"的行为,比如: 数据格式不对, 数组越界,网络中断等, 我们把这种程序出现的"生病&qu…

Ps:文字工具

工具箱里的文字工具组中包含了四种工具: 横排文字工具 Horizontal Type Tool 直排文字工具 Vertical Type Tool 横排文字蒙版工具 Horizontal Type Mask Tool 直排文字蒙版工具 Vertical Type Mask Tool 快捷键:T 横排文字蒙版工具和直排文字蒙版工具…

iOS--第二章block

第二章block blocks 概要Blocks模式Blocks语法Blocks类型变量截获自动变量值_block 说明符 Blocks的实现Block的实质截获自动变量值_block说明符Block存储域 blocks 概要 Blocks是c语言的扩展,block是一个带有自动变量值的匿名函数,它也是一个数据类型&…

Lua面向对象

封装 实现了New方法,相当于创建了一个表obj,并设置元表可以通过obj表去访问__index指向表中的数据 继承 通过大G表传入字符串创建表,

安卓国产百度网盘与国外云盘软件onedrive对比

我更愿意使用国外软件公司的产品,而不是使用国内百度等制作的流氓软件。使用这些国产软件让我不放心,他们占用我的设备大量空间,在我的设备上推送运行各种无用的垃圾功能。瞒着我,做一些我不知道的事情。 百度网盘安装包大小&…

golang常用库之-golang常用库之-ladon包 | 基于策略的访问控制

文章目录 golang常用库之-ladon包 | 基于策略的访问控制概念使用策略 条件 Conditions自定义conditionLadon Condition使用示例 持久化访问控制(Warden) 结合 Gin 开发一个简易 ACL 接口参考 golang常用库之-ladon包 | 基于策略的访问控制 https://github.com/ory/ladon Lado…

Unity中UGUI中的PSD导入工具的原理和作用

先说一下PSD导入工具的作用,比如在和美术同事合作开发一个背包UI业务系统时,美术做好效果图后,程序在UGUI中制作好界面,美术说这个图差了2像素,那个图位置不对差了1像素,另外一个图大小不对等等一系列零碎的…

从零自制docker-4-【PID Namespace MOUNT Namespace】

文章目录 PID namespace代码mountnamespace通俗理解代码 PID namespace 每个命名空间都有独立的PID空间,即每个命名空间的进程都由一开始分配。 新建立的进程内部进程ID为1 代码 package main import ("log""os/exec""os""sy…

MySQL_数据库图形化界面软件_00000_00001

目录 NavicatSQLyogDBeaverMySQL Workbench可能出现的问题 Navicat 官网地址: 英文:https://www.navicat.com 中文:https://www.navicat.com.cn SQLyog 官网地址: 英文:https://webyog.com DBeaver 官网地址&…

Spring MVC文件上传配置

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 文件上传 Spring MVC文件上传基于Servlet 3.0实现;示例代码如下: Overrideprotected void customizeRegistration(ServletRegistration.Dynamic reg…

【开源鸿蒙】编译OpenHarmony轻量系统QEMU RISC-V版

文章目录 一、背景介绍二、准备OpenHarmony源代码三、准备hb命令3.1 安装hb命令3.2 检查hb命令 四、编译RISC-V架构的OpenHarmony轻量系统4.1 设置hb构建目标4.2 启动hb构建过程 五、问题解决5.1 hb set 报错问题解决 六、参考链接 开源鸿蒙坚果派,学习鸿蒙一起来&a…

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

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

GPU密集型计算性能优化的方法和技术

对GPU密集型计算进行性能优化的方法和技术多种多样。通过一些优化策略和技术需要综合考虑应用程序的具体需求、所使用的GPU硬件、以及编程模型和库的选择。通过不断地分析和调整,可以实现GPU计算性能的持续提升。以下是一些常用的优化策略和技术: 算法优…

uni-popup(实现自定义弹窗提示、交互)

一般提示框的样式,一般由设计稿而定,如果用uniapp的showmodel,那个并不能满足我们需要的自定义样式,所以最好的方式是我们自己封装一个!(想什么样就什么样)! 一、页面效果 二、使用…

Redis的常用操作-String字符串类型

一、redis简介 redis 就是一个数据库,与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此redis 被应用于缓存方向。另外,redis 也经常用来做分布式锁。 二、redis作缓存,主要用来实现…

WebSocket多服务实例下的消息推送

最近在做一个项目,涉及到前后端的消息同步、推送,进而我们选择使用webSocket的方案进行实现,但是当websocket服务端部署在多个实例下,会出现前端socket意外断开导致无法收到消息的情况。手下我们先说我们的实现方案: 1…

【JavaScript】JavaScript 运算符 ⑤ ( 赋值运算符 | 基础赋值运算符 与 复合赋值运算符 )

文章目录 一、JavaScript 赋值运算符1、赋值运算符 概念2、基础赋值运算符 与 复合赋值运算符3、复合赋值运算符4、完整代码示例 一、JavaScript 赋值运算符 JavaScript 赋值运算符种类 : 基础赋值运算符 : 等于 : ; 复合赋值运算符 : 加等 : 减等 : -乘等 : *除等 : /取模等…

MongoDB的安装方法图文详细

官网:www.mongodb.com 选择 Products > Community Edition 就能进入社区版 在这里下载 windows 版对应的安装包 注意:6.0.1 版本的 MongoDB 配置环境变量有问题,并且我不知道怎么解决,如果想要避免出问题,建议使…