文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
朴素解法
回想一下,我们想找到 ,来最小化:
另一种思考方式是,我们对向量 b
最接近 A
的子空间(称为 A
的范围)的地方感兴趣。 这是 b
在 A
上的投影。由于 必须垂直于 A
的子空间,我们可以看到:
使用了 因为要相乘 A
和 的每列。
这让我们得到正规方程:
def ls_naive(A, b):
return np.linalg.inv(A.T @ A) @ A.T @ b
%timeit coeffs_naive = ls_naive(trn_int, y_trn)
# 45.8 µs ± 4.65 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
coeffs_naive = ls_naive(trn_int, y_trn)
regr_metrics(y_test, test_int @ coeffs_naive)
# (57.94102134545707, 48.053565198516438)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论