2012-03-11 33 views
6

私たちは、約1億4000万レコードのデータサイズを処理し、機械学習アルゴリズムをほとんど実行しようとしていない学生です。私たちはクラウドソリューションとmahout実装の初心者です。現在はpostgresqlデータベースにそれらを設定していますが、現在の実装はスケールアップせず、多数のパフォーマンスチューニングの後で読み書き操作が極端に遅くなっているようです。クラウドベースのサービスに行くAmazon EC2とPiCloud

私たちはいくつかの可能性のある選択肢を検討しました。

  1. Amazonクラウドベースのサービス(Mahoutの実装)
  2. Picloud scikitsは(私たちはnumpyのをHDF5形式を使用することを計画していた)を学習して
  3. あれば、他の選択肢をお勧めしてください。ここで

(ターンアラウンドタイム)私たちに良い結果をもたらすであろうし、費用対効果が高くなり、次の質問

  1. ですか?他の選択肢があることをお伝えください。
  2. アマゾンサービスを設定した場合、データフォーマットはどのようにしたらよいですか? dynamodbを使用するとコストが上昇しますか?

おかげ

答えて

5

PiCloudはAWSの上に構築されているため、どちらの方法でも、終わりにAmazonを使用することになります。問題は、すべてのインフラストラクチャを結びつけるために、どれだけのインフラストラクチャを自分で作成する必要があるかということです。 PiCloudは、ペースでそれを挿入するためにいくつかの無料の使用法を提供していますので、最初にショットを与えるかもしれません。私はそれを自分で使ったことはありませんが、明らかに彼らは機械学習型のアプリケーションの配備を容易にしようとしています。

クラウドプロジェクトではなく、結果を得ようとしているようですので、EC2以外のAmazonの他のサービス、またはPiCloudやHerokuなどの他のサービスブートストラップの世話。

0

AWSはprogram in place for supporting educational usersを持っているので、あなたはそのプログラムにいくつかの研究をしたいかもしれません。

+0

PiCloud(Scikit付きHdf5)VS AWSの可能性についてご意見をお聞かせください。 –

+1

いいえ、私はPiCloudに精通していません。 – ObscureRobot

7

解決したい機械学習の問題の性質によって異なります。まず、データセットをメモリに収めるものにサブサンプルすることをお勧めします(例:100kサンプル、サンプル数が疎な表現の場合は数百の非ゼロフィーチャ)。その後

scikit学習における多数のサンプルにスケール機械学習アルゴリズムのカップルしてみてください:あなたは教師付き分類を行いたい場合は、あなたの中に予測するカテゴリラベルを持っている場合(

  • SGDClassifierまたはMultinomialNBを教師なしクラスタリングを行うためのデータセット)
  • SGDRegressorあなたが予測する連続ターゲット変数を持っている場合(教師回帰を行いたい場合)
  • MiniBatchKMeansクラスタリング(ただし、デフォルトで結果クラスタの品質を定量化する客観的な方法はありません)。
  • ...

モデルのハイパーパラメータの最適値(例えば正則alphaとSGDClassifierためのパスn_iter数)を見つけて、クロスバリデーションを用いて性能を評価するために、グリッド検索を実行します。

完了したら、2倍の大きさのデータセット(メモリには依然として適合する)で再試行し、予測精度が大幅に向上するかどうかを確認します。そうでない場合は、クラスタでこれを並列化して、完全なデータセットで実行すると時間が無駄にならず、より良い結果が得られません。

それはあなたが何ができるかない場合、各ノード上のデータのスライス、その後、粉々にデータをシャードpicloudで独立し、各ノード上SGDClassifierまたはSGDRegressorモデルを学習し、重み(coef_intercept_)をバック収集され、平均重みを計算して最終的な線形モデルを作成し、データセットの一部のスライスで評価します。

エラー分析の詳細については、こちらをご覧ください。学習曲線をプロットする方法を見てみましょう:

0

あなたには、いくつかのnumpyのスピードアップを探している場合は、numbaを見てみなければならない: https://github.com/numba/numba

クラウドスケーリングの問題は解決しませんが、計算時間が短縮される可能性があります。

-1

私はちょうどPiCloud & Amazon EC2の間にcomparisonを作った。