27

大きなデータセット (100 億から 1000 億のレコード) でさまざまな機械学習手法を実行する必要がありますブースティング、回帰木 -- 多くの異なる問題とそれらを解決する方法)

最良の実装は何でしょうか? 私は ML の経験はありますが、巨大なデータセットに対してそれを行う方法についてはあまり経験がありません MapReduce インフラストラクチャを利用した拡張可能でカスタマイズ可能な機械学習ライブラリはありますか C++ を強く好みますが、Java と Python は問題ありませんそれを余裕)?

4

8 に答える 8

21

学習しようとしている分類状態空間が非常に大きい場合を除き、100 億から 1000 億のレコードまたはトレーニング サンプルを含むテキスト マイニングに重点を置いたデータセットにはかなりの冗長性があると予想されます。大まかな推測として、相互検証テストで十分に耐えられる信頼性の高い分類子を学習するには、1 ~ 2% のランダム サンプル サブセットよりもはるかに多くのデータが必要になるとは思えません。

簡単な文献検索で、次の関連論文が見つかりました。Tsang の論文では、n 個のトレーニング サンプルに対して O(n) 時間の複雑性があると主張ており、それに関連するソフトウェアが LibCVM ツールキットとして利用可能です。Wolfe の論文では、MapReduce に基づく分散 EM アプローチについて説明しています。

最後に、NIPS 2009 カンファレンスで開催された大規模機械学習ワークショップでは、興味深い関連性の高いプレゼンテーションが数多く行われたようです。

参考文献

Ivor W. Tsang、James T. Kwok、Pak-Ming Cheung (2005)。「Core Vector Machines: Fast SVM Training on Very Large Data Sets」、Journal of Machine Learning Research、vol 6、pp 363–392。

J Wolfe、A Haghighi、D Klein (2008)。「非常に大規模なデータセットに対する完全分散型 EM」、機械学習に関する第 25 回国際会議の議事録、pp 1184-1191。

オリヴィエ・キャンプ、ジョアキン・BL・フィリペ、スリマン・ハモウディ、マリオ・ピアッティーニ (2005)。「サポート ベクター マシン アルゴリズムを使用した非常に大きなデータセットのマイニング」、Enterprise Information Systems V、Springer Netherlands、pp 177-184。

于 2010-07-09T04:43:44.183 に答える
14

Apache Mahoutはあなたが探しているものです。

于 2010-07-09T02:57:33.363 に答える
1

Vowpal Wabbitの情報については、http: //hunch.net/?p=1068を参照してください。これは、大規模アプリケーション向けの確率的勾配降下法ライブラリです。

于 2010-07-26T17:19:07.567 に答える
1

私は 100 億から 1000 億のレコードをサポートできる ML ライブラリを知りません。私がお勧めするのは、NetFlix の受賞者をご覧になることです: http://www.netflixprize.com//community/viewtopic.php?id=1537

NetFlix の賞品には 1 億を超えるエントリがあったため、データ セットほど大きくはありませんが、それでも彼らのソリューションが適用可能であることがわかるかもしれません。BelKorチームが行ったことは、複数のアルゴリズム (アンサンブル学習に似たもの) を組み合わせて、各アルゴリズムの「予測」または出力に重みを付けることでした。

于 2010-07-09T02:33:10.807 に答える
1

map/reduce を使用する ML ライブラリを認識していません。ML ライブラリと Map/Reduce ライブラリを一緒に使用する機能をお持ちですか? Hadoop の Map/Reduce を調べてみてください: http://hadoop.apache.org/mapreduce/

reduce メソッドと map メソッドを実装する必要があります。非常に多くの手法を使用するという事実は、これを複雑にする可能性があります。

独自のクラスターで実行することも、調査を行っている場合は、BOINC ( http://boinc.berkeley.edu/ ) を調べることもできます。

一方、データセットを減らすことができるかもしれません。何をトレーニングしているのかわかりませんが、100 億のレコードには冗長性があるに違いありません...

于 2010-07-09T02:52:31.230 に答える
0

大規模な機械学習リソース (コース、論文など) のこのリストを参照してください: http://www.quora.com/Machine-Learning/What-are-some-introductory-resources-for-learning-about-large-scale -機械学習

于 2011-06-15T01:18:23.187 に答える
0

私の友人が同様のプロジェクトに取り組んでいます。彼は、テキスト マイニングに perl を使用し、ベイズ法、潜在意味解析、ガウス混合などの手法に matlab を使用しました...

于 2010-07-09T00:27:17.667 に答える