研究生总结

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.mzph.cn/news/751901.shtml

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

相关文章

Vue2 引入使用ElementUI详解

目录 1 安装2 引入2.1 全局引入2.1.1 引入2.1.2 使用 2.2 按需引入2.2.1 引入2.2.2 使用 3 总结 1 安装 推荐使用 npm 的方式安装,它能更好地和 webpack打包工具配合使用。(本项目使用安装方式) npm i element-ui -S也可以使用其他的包管理…

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

🌟 绘图神器 ioDraw 重磅更新,文件保存再无忧!🎉 无需注册,即刻畅绘!✨ ioDraw 让你告别繁琐注册,尽情挥洒灵感! 新增文件在线实时保存功能,支持将绘图文件保存到 GitHu…

【TB作品】MSP430,单片机,Proteus仿真,单片机通信,串口通信

文章目录 题目虚拟串口仿真图程序介绍获取代码和仿真 题目 30、单片机通信 基本要求: 设计一串口通信程序,波特率 9600,通过 RS232 与 PC 机通信。 由 PC 机向单片机发送字符串数据,单片机接收到数据后发回 PC 机,其中…

Centos yum报错‘Connection timed out after 30002 milliseconds‘) 正在尝试其它镜像。解决办法

修改源后更新报错 我有两个Centos 一个7 一个8,疏忽在7上面配置了8的源后报错,通过下面的报错发现提示的是Centos7的源找不到,才意识到是不是配置错了源。 报错信息: http://mirrors.aliyun.com/centos/7/AppStream/x86_64/os/r…

【AI系列】Torchvision、Torchaudio 和 Torchtext关系

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

学习笔记 | 微信小程序项目day02

今日学习内容 安装uni-ui跟uni-helper/uni-ui-types配置pinia持久化请求工具类的拦截器请求工具类的请求函数 安装uni-ui跟uni-helper/uni-ui-types npm install -g cnpm --registryhttps://registry.npmmirror.com npm set registry https://registry.npmmirror.com npm i …

PC电脑如何使用HDMI连接小米电视当显示屏

使用HDMI连接好当时和电脑,HDMI2.0会更清晰;小米电视会自动弹窗提示你有HDMI 接口连接,或者你进入信号源进行选择即可;需要平时我们电脑的显示器正常连接,然后按 win p ,选择 扩展 屏幕; 进入设…

如何通过蓝牙获取手机时间同步时钟RTC万年历走ble或者edr经典蓝牙

一、功能简介 KT6368A支持连接手机获取手机的时间信息,可以同步时钟 无需安装任何app,直接使用系统蓝牙即可实现 走的就是edr的经典蓝牙 同时它不影响音频蓝牙,还能保持低功耗的运行 实现的方式就是手机连接好蓝牙芯片KT6368A&#xff0…

R语言聚类分析-K均值聚类与系统聚类法

一、数据集为firm.csv,给出了22家美国公用事业公司的相关数据集,各数据集变量的名称和含义如下:X1为固定费用周转比(收入/债务),X2为资本回报率,X3为每千瓦容量成本,X4为年载荷因子&…

Etcd 介绍与使用(入门篇)

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

使用 GitHub Actions 通过 CI/CD 简化 Flutter 应用程序开发

在快节奏的移动应用程序开发世界中,速度、可靠性和效率是决定项目成功或失败的关键因素。持续集成和持续部署 (CI/CD) 实践已成为确保满足这些方面的强大工具。当与流行的跨平台框架 Flutter 和 GitHub Actions 的自动化功能相结合时,开发人员可以创建无…

Selenium笔记

Selenium笔记 Selenium笔记 Selenium笔记element not interactable页面刷新 element not interactable "element not interactable"是Selenium在执行与网页元素交互操作(如点击、输入等)时抛出的一个常见错误。这个错误意味着虽然找到了对应的…

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

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

RabbitMQ——死信队列和延迟队列

文章目录 RabbitMQ——死信队列和延迟队列1、死信队列2、基于插件的延迟队列2.1、安装延迟队列插件2.2、代码实例 RabbitMQ——死信队列和延迟队列 1、死信队列 死信队列(Dead Letter Queue,DLQ)是 RabbitMQ 中的一种重要特性,用…

FreeRTOS入门基础

RTOS是为了更好地在嵌入式系统上实现多任务处理和时间敏感任务而设计的系统。它能确保任务在指定或预期的时间内得到处理。FreeRTOS是一款免费开源的RTOS,它广泛用于需要小型、预测性强、灵活系统的嵌入式设备。 创建第一个任务 任务函数:任务是通过函数…

python的集合应用

在Python中,集合是一种无序、可变的数据类型,用于存储不重复的元素。Python提供了内置的集合类型 set,以及 frozenset(不可变的集合)。以下是一些Python集合的常见应用场景: 去重: 集合是存储唯…

ChatGPT:论文写作的新潮解决方案

ChatGPT无限次数:点击直达 摘要: 本文介绍了一种新潮的论文写作解决方案——ChatGPT。ChatGPT是基于模型的自然语言处理技术,它通过生成人类般的语言来帮助用户撰写高质量的论文。本文通过多个示例演示了ChatGPT的强大功能,并探讨了其在论文写…

Spark 用AnyFunSuite单元测试Scala详细教程

在用java开发时&#xff0c;通过用Junit框架来测试&#xff0c;在用spark开发scala时&#xff0c;除了可以用Junit&#xff0c;还可以用AnyFunSuite&#xff0c;无需依赖AnyFunSuite。 步骤一&#xff1a;设置项目依赖 确保您的项目中包含了以下必要的依赖&#xff1a; <d…

【HTML】HTML表单8.2(表单标签2)

目录 接上期&#xff0c;大致实现效果 文章简要 注释&#xff1a;这一次介绍的很多效果需要后期与服务器配合&#xff0c;但我们这里先只介绍效果 ①提交按钮 ②获取验证码 ③上传文件 ④还原所有表单内容 ⑤下拉表单 ⑥文字域 接上期&#xff0c;大致实现效果 文章简要 注…

matlab中Signal Editor定义梯形信号输出矩形信号

matlab中Signal Editor定义梯形信号输出矩形信号&#xff0c;可以通过如下勾选差值数据实现梯形信号输出。