2

「一括処理」とは、知識を抽出するために一度に処理されるファクトの静的データセット(CSVなど)を意味します。「オンライン」では、ライブバッキングストアを使用します。ファクトは発生時に追加され(「XはYを購入」)、クエリはこのライブデータで発生します(「今yを見ている人に何をお勧めしますか?」 )。

はリアルタイムという用語を(誤)使用しましたが、結果が一定の時間内に発生する必要があるという意味ではありません。('''編集:リアルタイムを上記のオンラインに置き換えました''')


ライブデータを利用したレコメンデーションエンジンを考えています。ただし、私が遭遇したすべてのオンラインリソース(SOの質問など)では、リアルタイムと一括処理のデータマイニングパッケージを区別していません。私は個別に検索する必要がありました:

  • Lucene / Solrおよびその他のライブデータセットから読み取るCarrot2(オンライン)
  • 静的ファイルでスケジュールされた実行を行うKnime(バルク)
  • Hadoop(および将来的にはPregelベースのGiraph)で実行されるMahout(オンライン?)
  • Cassandraと統合する商用パッケージ(オンライン?)

オンラインデータマイニングパッケージとは何ですか?

文献がオンライン処理パッケージとバルク処理パッケージを区別しない理由はありますか?それとも、すべての実用的なデータマイニングは実際にはバルク操作ですか?

4

2 に答える 2

2

一部のアルゴリズムでは、オンラインバージョンを利用できます。たとえば、局所外れ値因子であるLOFの場合、オンラインバリアントがあります。k-meansのオンラインバリアントもあると思います(実際、元のMacQueenバージョンは「オンライン」と見なすことができますが、ほとんどの人は収束するまで繰り返すことでオフラインバージョンに変えます)が、問題については以下を参照してくださいkパラメータを使用します。

ただし、オンライン操作には多くの場合、パフォーマンスが大幅に低下します。結果を継続的に更新するのではなく、スナップショーで完全なアルゴリズムを1時間ごとに実行する方が高速になるまで。インターネット検索エンジンについて考えてみてください。ほとんどの大規模な検索エンジンはまだ「オンライン」クエリを許可していませんが、代わりに、おそらく1日以上前に作成された最後のインデックスをクエリします。

さらに、オンライン操作にはかなりの追加作業が必要です。距離行列の計算は簡単です。列を追加および削除してオンラインで更新し、依存するすべての結果を同期することは非常に困難です。一般に、ほとんどのデータマイニングの結果は、これを実行するには複雑すぎます。たとえば、データストリームの平均を計算するのは簡単です。しかし、''''多くの場合、-高価な-プロセスを再実行せずに結果を更新するための既知の解決策はありません'''。他の状況では、アルゴリズムパラメータを変更する必要さえあります。したがって、ある時点で、新しいクラスターが形成される可能性があります。ただし、k-meansは、新しいクラスターが表示されることを意味するものではありません。したがって、基本的に、k-meansのオンラインバージョンを作成することはできません。入力パラメータ「k」を動的に変更する必要があるため、これは別のアルゴリズムになります。

したがって、通常、アルゴリズムはすでにオンラインまたはオフラインになっています。また、ソフトウェアパッケージは、オフラインアルゴリズムオンラインアルゴリズムに変換することはできません。

于 2012-03-11T11:17:57.610 に答える
0

オンラインデータマイニングアルゴリズムは、結果をリアルタイムで計算することを意味し、通常、アルゴリズムがインクリメンタルであることを意味します。つまり、モデルは新しいトレーニングインスタンスを検出するたびに更新され、バッチアルゴリズムを使用した定期的な再トレーニングは必要ありません。Wekaのような多くの機械学習ライブラリは、バッチアルゴリズムのインクリメンタルバージョンを提供します。また、モアプロジェクトとスパークストリーミングを確認してください。「従来の」MLアルゴリズムのほとんどは、インフラストラクチャと計算の最適化なしではオンラインモードでは機能しませんが、文献では2つを区別しています。

于 2015-10-13T14:22:46.917 に答える