【问题标题】:Incorrect dimensions sciKit learn Lasso尺寸不正确的sciKit学习套索
【发布时间】:2017-11-14 06:17:45
【问题描述】:

我试图找到 Ax = b 的解决方案,其中 A 的尺寸为 3x1,x 的尺寸为 1x2,b 的尺寸为 3x2。我也希望 x 是稀疏的。

from sklearn.linear_model import Lasso
clf = Lasso(alpha=.01)
A  = np.array([[0], [1], [2]])
b = np.array([[0,1],[1,4],[6,2]])
clf.fit(A,b)

但是我得到了错误

关于我做错了什么有什么想法吗?

【问题讨论】:

  • 不要将文字作为图片发布

标签: python numpy scipy scikit-learn sparse-matrix


【解决方案1】:

这些维度对我来说没有多大意义。

矩阵乘法 A*x=b 为 A: n,m and x: m,p 定义,结果为 b: n, p

在您的情况下,它是 row-vec / col-vec 乘法(inner-product)。 但是:(1,3) * (3,1) = (1,1)。在这种情况下 b (3,2) 不能用于减法。

或 col-vec / row-vec 乘法(外积)。 但是:(3,1) * (1,3) = (3,3)。同样 b (3,2) 不兼容。

【讨论】:

  • 我不确定我是否理解。 n=3、m = 1 和 p = 2 有什么问题?尺寸不合适吗?
  • 求解Ax=0是的,但不是求解Ax=b,因为b的维数不对。 (顺便说一句,在不指出问题的情况下投反对票。)
猜你喜欢
  • 2018-05-07
  • 2017-09-27
  • 2014-12-27
  • 2011-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
相关资源
最近更新 更多