【问题标题】:Why Mahout doesn't yet have Linear Regression为什么 Mahout 还没有线性回归
【发布时间】:2012-04-09 20:06:55
【问题描述】:

我刚刚开始使用 Mahout,而令我非常困惑的一件事是缺乏线性回归。即使是更难的逻辑回归,在一定程度上也得到了研究的支持,但在线性回归方面却一言不发!

据我了解,OLS 是最容易解决的问题之一 -

Y = Xb + e

有一个线性回归解 b = (X^TX)^(-1) X^TY,其中 X^T 是 X 的转置,如果矩阵 (X^TX) 变成奇异矩阵(即不可逆) 那么即使存在使用广义逆的解决方案,也可以显示错误消息。

X^T X 和 X^Y 的计算只是计算元素的总和和乘积之和,据我所知,这可能是 MapReduce 最简单的事情。

(这让我觉得……有没有支持计算回归系数所需的本机矩阵运算的模块?那确实不需要回归模块……)

我是否遗漏了一些使 Mahout 难以计算回归的东西?

【问题讨论】:

    标签: hadoop mapreduce mahout


    【解决方案1】:

    我不知道这样的事情是否有“为什么”。它只是不存在。

    但是我认为这与您的假设相反;这太“容易”了。除非您要求解一千万个方程的解,否则它可能达不到 Hadoop 所要求的规模。有很多现有的软件包可以在一台机器上很好地做到这一点。如果您还想从 Apache 获取 Java 中的内容,请查看 Commons Math 示例。

    并不是说项目中不可能有一个好的非分布式版本,但由于重点主要是大规模和 Hadoop,这可能是“为什么”。

    【讨论】:

    • @kalEl 此外 - mahout 是一个开源项目,如果您认为这很容易,只需自己添加它
    【解决方案2】:

    我认为这仅仅是因为 NxN 矩阵求逆的复杂度是 O(N^3) 并且容易受到数值不稳定的影响,这在稀疏的高维矩阵中很常见。

    有没有人有其他解释或者有人可以证实我的想法?

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 1970-01-01
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-05
      • 2018-08-02
      • 2021-08-01
      • 2013-03-07
      相关资源
      最近更新 更多