小编use*_*276的帖子

为什么chisq.test在求和之前按降序对数据进行排序

为什么chisq.testR 中的函数在求和之前按降序对数据进行排序?

有问题的代码是:

STATISTIC <- sum(sort((x - E)^2/E, decreasing = TRUE))
Run Code Online (Sandbox Code Playgroud)

如果由于使用浮点运算而担心数值稳定性并希望使用一些易于部署的hack,我会在求和之前按递增顺序对数据进行排序,以避免在累加器中将较小的值添加到大值(以避免尽可能多地修剪结果中的最低有效位.

我看着的源代码总和,但它没有解释为什么在传递数据下降sum().我错过了什么?

一个例子:

x = matrix(1.1, 10001, 1)
x[1] = 10^16   # We have a vector with 10000*1.1 and 1*10^16
c(sum(sort(x, decreasing = TRUE)), sum(sort(x, decreasing = FALSE)))
Run Code Online (Sandbox Code Playgroud)

结果:

10000000000010996 10000000000011000
Run Code Online (Sandbox Code Playgroud)

当我们按升序对数据进行排序时,我们得到了正确的结果.如果我们按降序对数据进行排序,我们得到的结果是4.

r numerical-stability

22
推荐指数
1
解决办法
337
查看次数

RaggedTensor 的 TensorFlow 广播

如何从参差不齐的张量中减去张量?

例子:

import tensorflow as tf    # TensorFlow 2.6

X = tf.ragged.constant([[[3, 1], [3]],
                        [[2], [3, 4]]], ragged_rank=2)
y = tf.constant([[1], [2]])
X-y
Run Code Online (Sandbox Code Playgroud)

预期结果:

[[[2, 0], [1]],
 [[1], [1, 2]]]
Run Code Online (Sandbox Code Playgroud)

但是,它返回一个错误:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected 'tf.Tensor(False, shape=(), dtype=bool)' to be true. Summarized data: b'Unable to broadcast: dimension size mismatch in dimension'
1
b'lengths='
2
b'dim_size='
2, 2
Run Code Online (Sandbox Code Playgroud)

我知道我可以逐行完成:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Expected 'tf.Tensor(False, shape=(), dtype=bool)' to be true. Summarized data: b'Unable to broadcast: dimension size mismatch in dimension'
1
b'lengths='
2
b'dim_size='
2, 2 …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorflow2.0

5
推荐指数
1
解决办法
337
查看次数

JavaFX中有多个默认按钮

我有一个JavaFX应用程序,tabPane中有2个选项卡.我希望每个标签都有一个默认按钮(一个defaultButton ="true"的按钮).但是,只有第一个选项卡中的按钮会对按下Enter键做出反应.第二个选项卡中的按钮忽略按Enter键.

假设:Oracle 文档说明:

如果场景中没有其他节点使用按钮,则默认按钮是接收键盘VK_ENTER按钮的按钮.

因此,我猜问题是两个按钮都在一个场景中.你知道如何在JavaFX中获得2个标签,每个标签都有一个有效的默认按钮吗?

java javafx button

4
推荐指数
1
解决办法
472
查看次数