学习小结【1】

1‌.5倍交叉验证在实验中如何用?有没有相应的函数模板?
可能有,但大多数情况都是直接运用的,这个要等代码看多了就知道了

2‌.拿到实验代码后,我应该怎么做?
把实验中相应的部分内容跑一下,利用提出的方法更换数据集跑一下,再更换方法用同一个数据集跑一下。
不要想着能把所有的代码都看懂!事实上,你并不能看懂,只要了解代码中的主函数部分和一些指标函数部分(这部分通常也是有模板的)就行了。大多数代码部分是可以直接套用的!

‌3.如何有效看一篇文章?(已经第n次的困惑了)最高境界就是通过看损失函数就知道作者的目的!
要看懂文章,并且在看完之后思考,我从这篇文章里能学到什么?
‌关于实验中的大多数图形都可以通过matlab画出来的,后续自己学着如何画出来。

‌4.优化部分和算法部分,这部分比较晦涩难懂,不需要推导,但是要知道原理什么的。在遇到类似情况时,知道要用什么方法,怎么进行。

‌5.得到损失函数后,如何进行求导处理,也就是范数求导部分,可以借用公式来进行
计算公式网页链接:
https://www.matrixcalculus.org/
在这里插入图片描述
在这里插入图片描述

注意:1.Norm2是有平方的 对u求导 和u无关的式子没必要写进去!
不过写进去也行,然后对相应部分进行求导就可以了。【实践证明,这种方法更方便,省的每次都要重新输一遍公式,然后进行求导】
2.一般损失函数中如果求和的话,求和∑符号我们是不好输入进去的,但是这个并不影响求导!我们可以在求导后的结果中,对应部分再添加求和符号!
3.如果报出这样的错误,可能是因为选择的数据类型不一样,这种情况就需要仔细检查下各部分的数据类型,确定它们是矩阵,标量还是向量。一般改动后就没有问题了
在这里插入图片描述
4.当遇到损失函数中的参数问题【也就是apha,bata,grma,这些不方便输入的数字符号时】,数字上标,下标等在电脑上不好操作的数字符号时,可以采用其他的符号替代,比如用a,b,c替代,这并不会影响求导的结果,之后在论文书写的时候再替换过来就可以了。
5.有时候,求导后的结果会自动给简化,比如合并同类项。这种情况下,要仔细比对,一般结果是没有问题的,实在觉得看不顺眼可以给它展开。

‌6.实验中关于多个方法在多个数据集上结果的表格图如何得到的?表达形式mean±std怎么得来的?
在实验中,我们每次运行的运行结果都是随机的,多次得到结果后,取一个大概的值(即误差值可以自己标,但不要太离谱)
最后我们会得到多个数据集在多个方法上的多种指标的结果,最终结果需要自己在word中用表格给做出来。

7‌.关于如何调用函数文件?可以编写一个脚本函数进行调用!
一般就是编写个脚本函数,具体就是把函数参数写在前面,然后直接调用就可以了,这比每次在命令行中输入函数名称要简单的多

‌8.关于数据集,一般都是使用处理后的数据集进行跑代码。如果数据未处理,需要靠自己进行处理后,改成.mat形式的文件后才能使用。处理后的样本的标签集,一般是0/1形式的,未处理的可能是字典形式或者别的形式(可能会通过文本文件打开)
对于多视图多标签实验来说,有用的数据是标签测试集,训练集(有的时候可能会直接放在一个统一的文件里,比如data),以及多个视图特征的数据(多视图维数可能会有点多,这时就需要我们自己选择了)。
具体方法如下:将未处理的数据集(解压后)文件和vec_read.m和vec_write.m放在一起!注意,是这三个文件夹放在一个统一的文件夹里!然后修改相应的数据集名称【这里有一个处理数据集的脚本函数模板】,需要几维多视图特征,就选择几维。(方法,就是将注释部分去掉,注意找对需要的数据注释方面)
对于.txt文件的多视图多标签数据集,光用上面的脚本处理函数处理数据可能不能得到预期结果(比如会报出这样的错误(一般情况下,是看文件运行的路径是否正常,检查无误就可能是别的原因了)

错误提示如下:
错误使用 fread
文件标识符无效。使用 fopen 生成有效的文件标识符。
出错 vec_read (line 56)
出错 pascal07 (line 16)

这时对于txt文件,直接采用matlab中的load函数处理数据即可,具体语句如下(在命令行出直接输入即可):
load(‘数据集名称_train_classes.txt’)
load(‘数据集名称_test_classes.txt’)

‌9.关于实验代码可能找不到问题?
一般会在文章的底部给出链接,极少情况下会放在实验部分的内容里(这种情况比较少)。有时候可能链接无法打开,这时可以尝试联系作者,看看能不能要到代码。(不过极有可能没有回复)
‌利用Python可以很好的进行Friedman检验和后续的Nenemiy检验(包括绘图),matlab可以进行Friedman检验和绘图(有相应的函数调用),但不确定能不能进行Nenemiy检验。CD图也可以利用Spss软件画!
‌配对t检验(学生t检验):其实就是将提出的方法跟其他的对比方法进行(具体可参考csdn等相关帖子)

10:如何写出一篇论文?[目前的一点点想法……】
先有个想法(A+B型,即将方法进行融合,一般自己想出来一个想法比较困难),写出来的前提就是论文要多看多看多看!
写代码,做实验,进行撰稿,修稿,投稿!

11.关于实验中计算,win/tie/loss这部分,实验中也可以不写。(这个目前为止才看到第一次,所以如果以后真的想要放这个实验的话,可以再多看几个,学习一下)

12‌.一些优化算法的总结【部分,其他内容待续补充……】
1.加速近端梯度下降法(使用频率很高):适用于损失函数整体不可微,部分可微,而且由于正则化项的存在导致函数不光滑。这个时候就可以通过近似模型来优化解。这种解决非光滑凸优化问题的方法就是加速近端梯度下降法。(这个一般都有一个模板,在使用的时候可以更改相应的数值进行计算就好了!但前提是对这个算法很了解!)
2‌‌.交替优化算法(使用频率很高):对于损失函数中存在多个参数时,我们需要固定其他的参数,只更新一个参数。首先要得到要更新的参数对应的等式,一般会利用求导(可以利用公式来算,但是一定不能直接复制进去,要写成规范形式来求)来算[这部分参考第5条关于损失函数如何求导的总结】
令求导结果为0,然后再根据KKT条件(关于不等式约束问题的求解)或者closed-form solution(闭合解不就是 Ax=B x=(A逆)B)来进行求解
‌3.增广拉格朗日函数:一般的拉格朗日函数可能无法解决问题,这个时候就需要使用增广拉格朗日函数,使用这个方法的同时会用到交替方向乘子法(这部分内容记不太清了,下次再修改补充)
待续……

继续努力吧!目前状态就是,没次看文章的时候都会疑惑,如何才算是有效的看文献!!!道阻且长,行则将至!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值