gpt4 book ai didi

评估加权平均最佳权重的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:37:10 27 4
gpt4 key购买 nike

我有以下形式的数据集:

[9.1 5.6 7.4] => 8.5, [4.1 4.4 5.2] => 4.9, ..., x => y(x)

因此 x 是三元素的实向量,y 是标量函数。

我假设此数据的加权平均模型:

y(x) = (a * x[0] + b * x[1] + c * x[2])/(a+b+c) + E(x)

其中 E 是一个未知的随机误差项。

我需要一个算法来找到 a、b、c,使总和误差最小化:

错误 = { E(x)^2 } 的所有 x 的总和

对于给定的数据集。

最佳答案

假设权重归一化为总和为 1(令人高兴的是不失一般性),那么我们可以用 c = 1 - a - b 重新计算问题,所以我们实际上是在求解 a 和 b。

有了这个我们就可以写

error(a,b) = sum over all x { a x[0] + b x[1] + (1 - a - b) x[2] - y(x) }^2

现在只是取偏导数 d_error/da 和 d_error/db 并将它们设置为零以找到最小值的问题。

稍加修改,您将得到一个由 a 和 b 中的两个方程组成的系统。

C(X[0],X[0],X[2]) a + C(X[0],X[1],X[2]) b = C(X[0],Y,X[2])
C(X[1],X[0],X[2]) a + C(X[1],X[1],X[2]) b = C(X[1],Y,X[2])

X[i] 的含义是数据集 x 值中所有第 i 个分量的向量。

Y的含义是所有y(x)值的向量。

系数函数C的含义如下:

C(p, q, r) = sum over i { p[i] ( q[i] - r[i] ) }

除非这是一个问题,否则我将省略如何求解 2x2 系统。

如果我们插入您提供的二元数据集,我们应该会得到精确的系数,因为您总是可以用一条线完美地近似两个点。因此,例如第一个方程系数是:

C(X[0],X[0],X[2]) =  9.1(9.1 - 7.4) + 4.1(4.1 - 5.2) = 10.96
C(X[0],X[1],X[2]) = -19.66
C(X[0],Y,X[2]) = 8.78

第二个方程类似:4.68 -13.6 4.84

求解 2x2 系统会产生:a = 0.42515,b = -0.20958。因此 c = 0.78443。

请注意,在此问题中会产生负系数。没有什么可以保证它们会是积极的,尽管“真实”数据集可能会产生这个结果。

实际上,如果您使用这些系数计算加权平均值,则它们分别为 8.5 和 4.9。

为了好玩我也尝试了这个数据集:

X[0]        X[1]        X[2]        Y
0.018056028 9.70442075 9.368093544 6.360312244
8.138752835 5.181373099 3.824747424 5.423581239
6.296398214 4.74405298 9.837741509 7.714662742
5.177385358 1.241610571 5.028388255 4.491743107
4.251033792 8.261317658 7.415111851 6.430957844
4.720645386 1.0721718 2.187147908 2.815078796
1.941872069 1.108191586 6.24591771 3.994268819
4.220448549 9.931055481 4.435085917 5.233711923
9.398867623 2.799376317 7.982096264 7.612485261
4.971020963 1.578519218 0.462459906 2.248086465

我用 1/3 x[0] + 1/6 x[1] + 1/2 x[2] + E 生成了 Y 值,其中 E 是 [- 0.1..+0.1]。如果该算法工作正常,我们希望从该结果中大致得到 a = 1/3 和 b = 1/6。事实上,我们得到 a = .3472 和 b = .1845。

OP 现在说他的实际数据大于 3 向量。这种方法可以毫不费力地推广。如果向量的长度为 n,那么您将得到一个要求解的 n-1 x n-1 系统。

关于评估加权平均最佳权重的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23980556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com