Lab2:Distribute Machine Learning: Computer and Storage

本节介绍线性回归模型( ŷ =wTx )的最小二乘“参数估计几”的几种求解方法的时间和空间复杂度。

一、最小二乘法的闭式解

最小二乘法的闭式解优点是可以得到全局最优解,缺点是计算和存储效率低.
为了方便对时间和空间复杂度进行讨论,我们首先对一些变量进行定义:

  • XϵRn×d
  • yϵRn
  • ŷ ϵRn
  • wϵRn

最小二乘法的求解目标是得到一个W使得 ŷ  和y的均方误差最小:

argminwi=1n(wTx(xi)y)2(1)

当满足 XTX 为满秩矩阵时,该最小二乘法模型存在闭式解,把式(1)对w求导,再令导函数为零得:
w=(XTX)1XTy(2)

矩阵的分布式计算
spark平台对矩阵进行计算的方法和我们平时计算的办法不同,下面将通过计算 XTX 为例演示这个过程。

[142536]123456=[14323277](3)

算式(3)在spark上计算时可分解成3个job进行并行计算。

  1. XT 的第一列 X 的第一行相乘得矩阵a。

    [14]14=[14416]

  2. XT 的第二列 X 的第二行相乘得矩阵b。

    [25]25=[4101025]

  3. XT 的第三列 X 的第三行相乘得矩阵c。
    [36]36=[9181836]

    最后将a、b、c三个矩阵相加可得结果。
    下图是从berkeley的课件中截取的,详细的说明了矩阵的mapreduce过程,还有计算时的时间和空间复杂度。

二、Big n 和 Big d 情况下的存储和计算

上面讨论的闭式解适用于n较大、d较小大情况。但当数据的特征值较多,即d较大时,由于计算时间复杂度 O(nd2+d3) 和存储空间负责度 O(d2) 导致上面的方法在实际使用中很难实现。这时,我们需要在时间和空间复杂度上都是线性的方法。

Exploit Sparsity

稀疏数据在很多方面都有使用,例如文本处理、协同过滤、邻接矩阵、数据预处理的独热编码(One-Hot Encoding)。

梯度下降法

采用梯度下降这张迭代算法可以得到 O(nd) 的时间复杂度,每次迭代计算时 O(d) 的空间复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值