将迭代次数问题几何化的一个计算例子

简介: 神经网络调参,设置迭代次数

( A, B )---3302---( 1, 0 )( 0, 1 )

做一个二分类网络让输入只有3个节点,每个训练集里有两张图片,让B的训练集全为0,排列组合A,观察迭代次数平均值的变化。共完成了64组,由于对称性只有12组不同的迭代次数。
1.jpg

如这6组,由于对称性他们的迭代次数算作相同。

其余各组为
2.jpg
3.jpg

假设0*0决定了空间的形状,而A是在这个空间的分布,如果有一个几何体可以体现集合A-B的所有对称性,那这个几何体就应该具有与集合A-B相同的性质。

将训练集A中的6个点对应为内接于球的等边三棱柱的上下3条边。通过计算质心的办法去拟合迭代次数
4.jpg

设边的质量为1,长度为1。6条边的质心为,

5.jpg

第一组让A中的1对应为ab边,这个球的圆心在(0.5,-0.2887,0.5),半径为0.7638.边ab在重力的作用下只有一个稳定态,位于最下端,此时ab边的质心高为=半径-(ab的质心到圆心的距离)=0.1865.
6.jpg

第二组的两个点因为在同一行,对应为边fa,fb。把边fa和fb看作一个整体,在重力的作用下也只有一个稳定态。用同样的办法计算两条边的质心的高得到fa,fb质心的高度为0.2434.

用同样的方法计算所有其他各组边的组合,在重力作用下稳定态的质心高,得到
7.jpg
8.jpg

这12组数据中有3组数值不对25-00,36-00,42-00,如果先不考虑这3组则得到,比77-00大的部分迭代次数与质心的高成反比, 比77-00小的迭代次数与质心的高成正比。

目录
相关文章
|
5月前
|
算法 测试技术 C#
【并集查找 最大公约数 调和数】952. 按公因数计算最大组件大小
【并集查找 最大公约数 调和数】952. 按公因数计算最大组件大小
|
5月前
|
算法 定位技术
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导
139 2
|
存储 算法 PyTorch
pytorch 给定概率分布的张量,如何利用这个概率进行重复\不重复采样?
在 PyTorch 中,可以使用 torch.distributions.Categorical 来基于给定的概率分布进行采样。
865 0
|
10月前
|
算法 测试技术 C#
C++算法: 最大化数组末位元素的最少操作次数
C++算法: 最大化数组末位元素的最少操作次数
练习>>代码实现5*5数组的交叉线上数字之和(中间的那个数只需要计算一次)
练习>>代码实现5*5数组的交叉线上数字之和(中间的那个数只需要计算一次)
41 0
|
算法 搜索推荐 流计算
基于上下文的推荐 -- 包括时间衰减算法和位置推荐算法(代码实现)
基于上下文的推荐 -- 包括时间衰减算法和位置推荐算法(代码实现)
304 0
torch中对一个行向量使用sigmoid函数转换成概率,如果这个行向量包含的元素有几千上万个,这可能会导致转换成的概率再抽样效果不好,应该怎么解决这个问题
可以尝试使用softmax函数进行转换,它可以处理具有多个值的行向量,并将其转换为概率分布。另外,可以考虑使用截断技术(如Top-K),减少概率中过小的部分,以提高采样效果。
133 0
|
索引
在训练模型每次迭代中,打印参数的梯度
要打印出每个迭代中的所有样本梯度,您需要在代码中进行相应的更改。以下是一个示例过程,可以帮助您实现此目标: 1. 在训练循环中,使用 enumerate() 函数迭代数据集中的每个批次,并获取每个批次的索引和数据。
770 0
|
索引
每次迭代,打印当前小批量的每个样本的梯度
对于每个迭代,打印每个样本的梯度是可行的,但是通常不是一个好的做法,因为随着训练样本数量的增加,打印每个样本的梯度将变得非常耗时。 如果您仍然想打印每个样本的梯度,可以按照以下步骤进行: 1. 在训练循环中,使用 enumerate() 函数迭代数据集中的每个批次,并获取每个批次的索引和数据。 2. 在每个批次中,将数据传递到模型中,并计算梯度。然后,您可以使用 grad 属性获取每个样本的梯度,并将其打印出来。 3. 将所有批次的梯度合并为一个大梯度,并使用此梯度更新模型的参数。
287 0
|
存储
使用程序计算近似Π值
现在大多数语言,只需要调用一下Math.PI就可以知道Π值了。但是你有没有想过这个PI是怎么来的,是直接存储吗?还是计算来的。虽然不知道具体是怎么实现的,但是我们可以使用一些简单的数学知识,来计算出近似的Π值。
184 0