フィルターのクリア

Is it possible to solve Ax=b with mapreduce ?

2 ビュー (過去 30 日間)
Peta
Peta 2015 年 8 月 10 日
コメント済み: Brendan Hamm 2015 年 8 月 10 日
I’m trying to solve some really large linear regression problems with the mldivide command. When I try to do the calculation with large variables the system RAM quickly goes up to 100% and Matlab starts to use the page file and it’s quite slow.
So I was wondering if it is possible to partition a calculation of the type x=A\b with mapreduce to tackle it in chunks instead. Does anyone know?

採用された回答

Brendan Hamm
Brendan Hamm 2015 年 8 月 10 日
You can do this if certain conditions hold fairly simply. In the case of a diagonally dominant matrix A you could write the Gauss-Seidel, Jacobi or Conjugate Gradient (symmetric positive definite only) methods. I imagine they would be very slow with so much read write from disk with iterative algorithms, but likely better than using paging. Then there is the obvious, buy more RAM for your machine if it is feasible.
  2 件のコメント
Peta
Peta 2015 年 8 月 10 日
To make sure I didn’t misunderstand you – are you suggesting that I try one of these iterative approaches through the mapreduce functionality? Or simply that I should switch to an iterative solver and not use mapreduce ?
Brendan Hamm
Brendan Hamm 2015 年 8 月 10 日
If RAM is an issue, then I am presuming that you cannot hold your matrix A and vector b in memory and SHOULD use mapreduce. If you can fit A and b in memory, then these iterative methods have very little "extra" data that needs to be stored in memory and you can proceed without mapreduce.
There are plenty more papers on this out there. I would recommend the Conjugate Gradient Method (if the stricter conditions are met).

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSupport Vector Machine Regression についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by