注:
本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。
## 15.1 ### (1) 基于矩阵的算法实现: +
矩阵每个位置存放着两个元素的等价关系 + 初始化矩阵
正确性证明:主要考虑,是不是同一个等价类中任意一对元素,在矩阵中都是
时间复杂性:每次最多是线性遍历2次,算法复杂度
(2)
基于数组的算法实现: + 数组
注:
本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。
## 15.1 ### (1) 基于矩阵的算法实现: +
矩阵每个位置存放着两个元素的等价关系 + 初始化矩阵
正确性证明:主要考虑,是不是同一个等价类中任意一对元素,在矩阵中都是
时间复杂性:每次最多是线性遍历2次,算法复杂度
基于数组的算法实现: + 数组
注:
本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。
## 6.2 二分查找的区间范围设为
则比较
这样把单次的开销降到常数,总的开销就是
思路是对递归定义使用数学归纳法,以证明始终符合直接定义。
注:
本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。
## 5.2 假设5个数分别为
如果用决策树表示这个算法,每个非叶节点给出哪两个数之间比较,两个不同的比较结果分别导向左右子树。
最后一层比较得到的较小者就是中位数,由于画的太密集,叶子节点没有画出来。
注:
本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。
## 14.1 +
取堆的前
注: 本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。 ## 7.1 用朴素的两层遍历当然可以,也可以基于归并排序或堆排序进行改进。
一般不作说明的要求分析复杂度,考虑最坏情况即可:
注:
本题解为个人完成,难免有疏漏,请勿抄袭,仅供参考,同时欢迎留言指正。
## 4.1
利用数学归纳法即可,本题的归纳推理除了个人推荐的自顶向下的方式,也可以自底向上。
+
注意体会这两道题的区别,和解答思路的区别
1)只需要给出一个满足条件的算法,最坏情况用5次比较对4个元素排序,我们知道可以花3次比较来确定其中三个数的序关系,即
具体算法的规范书写从略。
求赋权连通图中含有所有边且权和最小的闭途径
对于和训练集同分布的数据,深度神经网络已经获得了惊人的性能,但对于其他数据集性能会明显变差。因此,检测一个样本是不是OoD对于能拒绝或警示这种样本的系统是重要的。包含 一些小数据集的OoD benchmarks下的工作在近期已经取得了巨大的进展。然而,这些方法很多都需要神经网络训练、调参的时候同时有in-distribution和out-of-distribution的数据。后者是难以先验定义的,不同的OoD数据会产生不同的学习效果。本文的工作基于一个流行的方法:ODIN。这个方法提出两个重要的策略,不需要OoD的数据,同时改进了OoD的检测性能。本文具体的提出了分解置信度的方法以及改进input preprocessing的方法。本文展示了这两者都得能显著提高检测OoD的性能。并且,作者在更大规模的图像数据集上进行了分析,表明数据的分布迁移有两种:语义迁移和非语义迁移。这两者会让问题的难度变得非常不同,这提供了一个关于ODIN-like的策略何时能有效的分析。
先进的机器学习模型,具体来说是深度神经网络,通常在静态封闭世界假设下设计的。这些模型需要引入测试集和训练集独立同分布的假设。在真实世界,数据分布会以复杂和动态的方式进行迁移。更坏的是,新概念(如新的分类对象)可能在任何时刻输入到模型中。这样的类内的迁移或者是新概念的数据都会导致灾难性的失败,因为模型依然是基于封闭世界假设来预测的。这些失效经常是无声的,模型不会输出明显的错误。
以上的问题已经被规范为一个检测问题,即判断一个输入数据是不是in-distribution的数据,或者是out-of-distribution。这个问题已经被研究了很多年,也以各种观点被讨论了,例如rejection, anomaly detection, open set recognition, uncertainty estimation。最近几年,一个流行的基于神经网络检测的baseline使用了类别的后验概率(即softmax)的最大值,这个方法可以在有些情况是一个良好的区分in-distribution和out-of-distribution的指示器。