gpt4 book ai didi

Julia - 最小二乘 - LSMR 和封闭形式的解决方案不同于真实的 `\beta`?

转载 作者:行者123 更新时间:2023-12-05 03:34:55 24 4
gpt4 key购买 nike

我想尝试使用 LSMR 算法,所以我生成了一些数据并运行了最小二乘法。为什么 LSMR 解决方案和封闭形式的解决方案与我用来生成数据的真实 $\beta$ 不同?

using Distributions: Normal
using IterativeSolvers: lsmr
# Settings
n = 500
k = 50
# Generate data
X = rand(Normal(0.0, 0.1), (n, k)) + rand(Normal(0.0, 0.2), (n, k))
β = randn(k)
y = (X * β) + rand(Normal(0.0, 0.1), n)
# Solutions
closed_form_solution = (X'X) \ (X'y)
lsmr_solution = lsmr(X, y)
# Check solutions
β ≈ closed_form_solution, β ≈ lsmr_solution # returns false, false

最佳答案

我刚刚运行了您的代码并可视化了这些值,这就是我得到的结果。

using Plots
scatter(β)
scatter!(closed_form_solution)
scatter!(lsmr_solution)

enter image description here

如您所见,它们实际上非常接近,因此算法按预期工作。

现在它们是一样的,因为您已经添加了残差,而算法对此一无所知。他们必须适应他们。如果存在的话,您只能找到底层模型的近似值,而这基本上就是机器学习试图做的事情。

如果你像这样生成y

y = X * β

再次比较你会得到更接近的结果( 可能仍然返回 false,尽管因为浮点错误)。

关于Julia - 最小二乘 - LSMR 和封闭形式的解决方案不同于真实的 `\beta`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70037080/

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