機械学習は現在隆盛を極めていますが、機械学習を学習・研究し、実稼働環境で活用したい場合には、プラットフォーム、開発言語、機械学習ライブラリの選択を慎重に検討する必要があります。以下は、機械学習に関する私自身の経験に基づいた、参考のための提案です。
まず、プラットフォームの選択に関する最初の質問は、それを実稼働環境、つまり特定の製品で使用するのか、それとも研究や学習のためだけに使用するのかということです。 1. 本番環境での機械学習プラットフォームの構築 プラットフォームを本番環境で使用する場合は、製品のために分析する必要があるデータの量を見積もる必要があります。データ量が多い場合は、ビッグデータ プラットフォームを選択する必要があります。それ以外の場合は、スタンドアロン プラットフォームだけが必要です。 1.1 本番環境での機械学習ビッグデータプラットフォームの構築 実稼働環境で最も主流のビッグデータ プラットフォームは Spark プラットフォームであり、これに YARN や Mesos などの補助的な分散データ処理コンテナーが加わります。オンライン データをリアルタイムで収集する必要がある場合は、Kafka を追加します。つまり、一般的なビッグデータ処理プラットフォームは、Spark + YARN(Mesos)+ Kafkaを統合したものです。私が現在取り組んでいる製品プロジェクトはすべてSpark + YARN + Kafkaに基づいています。現時点では、このプラットフォームの選択が基本的に主流の方向です。 もちろん、これほど多くのオープンソースソフトウェアを統合するのは面倒だし、落とし穴も多いはずだという人もいるでしょう。Spark + YARN + Kafka のようなビッグデータプラットフォーム機能を組み込めるユニバーサルプラットフォームはないでしょうか。私の知る限りでは、CDAP (http://cdap.io) が比較的うまくいっています。 Spark、YARN、Kafka、およびいくつかの主流のオープンソースデータ処理ソフトウェアを統合します。開発者は、そこにカプセル化された API レイヤーで二次開発を行うだけで済みます。これは良いアイデアであるはずですが、まだ商業的に成功した事例がないため、アーキテクチャを選択する際に CDAP は考慮しませんでした。 したがって、Spark + YARN + Kafka に基づくビッグデータ プラットフォームは依然として最適です。 Spark MLlib の機械学習アルゴリズムは豊富ではなく、使いやすいものでもありません。そのため、製品に MLlib で利用できないアルゴリズムが必要な場合は、オープンソースの実装を自分で探す必要があります。 1.2 実稼働環境での機械学習のためのスタンドアロンマシンデータプラットフォームの構築 本番環境のデータが大きくない場合、ビッグデータ プラットフォームはやや過剰設計のように思えます。現時点では、選択肢はもっとあります。 ***、これはまだ Spark プラットフォームですが、分散コンテナ YARN と分散データ配信ルーティング Kafka は不要になりました。なぜ Spark か? 拡張性を考慮する必要があるからです。現在のデータ量が少ないからといって、将来的にもデータ量が少なくなるというわけではありません。これは、私が参加したいくつかの小規模なデータ分析プロジェクトに Spark を選んだ理由でもあります。もちろん、もう 1 つの理由は、Spark が Python、Java、Scala、R を同時にサポートしていることだと思います。これにより、多くのプログラマーにとって参加のハードルが下がります。私が参加したSparkプロジェクトでは、開発言語は主にJavaとScalaでした。速度上の理由から Python は選択されず、システムの残りの部分は Java で記述されています。 2 番目のオプションは、numpy、scipy、pandas、MatplotLib などを含む、scikit-learn に基づく一連の Python ツールです。その特徴は豊富なクラスライブラリ、特に機械学習ライブラリの scikit-learn はあらゆる武器を持っているとも言えるでしょう。さらに、プログラムをインタラクティブに記述できるため、プロトタイプを迅速に開発することが容易になります。私は実現可能性分析段階にある 2 つのプロジェクトに関わっており、どちらのプロジェクトでも scikit-learn を使用して顧客向けのプロトタイプとデモを作成しています。 したがって、本番環境のスタンドアロンの機械学習データ プラットフォームの場合、製品開発には Spark が最適な選択肢であり、迅速なプロトタイピングと検証には scikit-learn ファミリーが適しています。 2. 研究環境における機械学習プラットフォームの構築 単に調査をするだけなら選択肢はたくさんあり、主流は 3 つあります。
つまり、機械学習を勉強したいが、特別な R のバックグラウンドがない場合は、scikit-learn が最適な選択肢です。もちろん、機械学習アルゴリズムを自分で少しずつ実装するのが好きで、クラスライブラリを直接呼び出すのは好きではないと言う人もいるでしょう。これは良くないのでしょうか? もちろん、これは間違いなく非常に良いことであり、さまざまなアルゴリズムの理解を深めるのに非常に役立ちます。ただ、これはかなり時間がかかります。私のように時間があまりない場合は、API を直接呼び出してデータを調べる方が簡単です。 |
<<: AGVロボットマルチエージェント経路探索の4つの主要な研究方向
>>: Python 機械学習の実践: クレジットカード詐欺検出
第四次産業革命が急速に起こりつつあります。人工知能はこの産業革命の中核となる内容の一つです。産業革命...
[[396039]]ビッグデータダイジェスト制作出典: Engadget編集:赤道のパンダ人工知能...
調査によると、2022年までにインテリジェントオートメーションのトレンドが拡大し、デジタル変革が急速...
人工知能や機械学習などの自動化および機械技術の驚異的な成長は、間違いなく組織にまったく新しいレベルの...
人工知能 (AI) は、自然科学のさまざまな分野を網羅しており、主に特定の種類の知的な人間の活動をモ...
[[388175]]今年の315では、物議を醸している顔認証が再び前面に押し出されました。自分の顔...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
ディープラーニングは2006年に登場して以来、近年急速に発展し、学術研究と企業アプリケーションの両方...
[[209979]] AI時代には、コンピューターが視覚、聴覚、行動、言語の知能を持つようになること...
先ほど、2023年未来科学賞の受賞者が発表されました!今年の「数学およびコンピューターサイエンス賞」...
研究者らによると、人工知能はインターネットサービスプロバイダー(IPS)がDDoS攻撃に先手を打つの...
近年、科学技術分野で最もホットな言葉は何でしょうか?5G、人工知能などが間違いなくそのリストに入って...
以前、チャット中に友人が人工知能についての印象を「西洋的」「商業的」「未来志向」という 3 つの言葉...
ビッグモデルが退化する中、トランスフォーマーの地位も次々と脅かされてきました。最近、RWKV は最新...