開発者にとって、クラウドベースの機械学習ツールは、機械学習を使用して新しい機能を作成し、提供する可能性をもたらします。しかし、機械学習をアプリケーションに組み込もうとする開発者は、しばしば間違いを犯します。この記事では、読者が注意すべき 10 の点を挙げます。
機械学習は、データの奥深くに埋もれたパターンを発見する機能を提供することで、アプリケーションをより強力にし、ユーザーのニーズにさらに応えられるようにする可能性があります。慎重に調整されたアルゴリズムは、人間の思考や分析の制限なしに、膨大で多様なデータ ソースから価値を引き出すことができます。開発者にとって、機械学習は、ビジネスクリティカルなアプリケーションを適用するための重要な分析の可能性を提供し、顧客体験の向上から製品の推奨の提供、超パーソナライズされたコンテンツ サービスまで、あらゆることを可能にします。 Amazon や Microsoft などのクラウドベンダーは最近、クラウド対応の機械学習ソリューションで注目を集めており、開発者にアプリケーションに機械学習機能を簡単に組み込む方法を提供することを約束しています。期待は大きいようですが、開発者は依然として注意が必要です。 開発者にとって、クラウドベースの機械学習ツールは、機械学習を使用して新しい機能を作成し、提供する可能性をもたらします。ただし、これらのツールを不適切に使用すると、結果が悪くなり、ユーザーが不快に感じる場合があります。 Microsoft の年齢検出機械学習ツールをテストした人なら誰でも、プラグアンドプレイの使いやすさとともに、大きな精度の問題が伴うことに気付くでしょう。重要なアプリケーションや重要な決定を下すためにこのツールを信頼すべきではありません。 アプリケーションに機械学習をうまく取り入れたい開発者は、次の重要な点に注意する必要があります。 1. アルゴリズムが使用するデータが多いほど、精度が高くなるため、可能であればサンプリングを避けるようにしてください。 機械学習理論では、予測誤差が非常に直感的に説明されています。つまり、機械学習モデルと最適な予測(理論上可能な最良の誤差)との間の予測誤差のギャップは、次の 3 つの要素に分解できます。
トレーニング セットが制限されている場合、この問題を解決するために必要なモデルの複雑さをサポートできない可能性があります。統計学の基本法則によれば、可能であればサンプルではなくすべてのデータを使用するべきです。 2. 特定の問題に最適な機械学習アルゴリズムを選択することが、成功と失敗の鍵となります。 たとえば、Gradient Boosted Trees (GBT) は、その精度の高さから業界の開発者に広く使用されている非常に人気のある教師あり学習アルゴリズムです。しかし、その高い人気にもかかわらず、このアルゴリズムをあらゆる問題に盲目的に適用することはできません。代わりに、正確性を確保しながらデータの特性に最も適合するアルゴリズムを使用する必要があります。 この点を証明するには、一般的なテキスト分類データセット rcv1 で GBT アルゴリズムと線形サポート ベクター マシン (SVM) アルゴリズムをテストし、その精度を比較する実験を行ってみます。この問題では、エラー率の点で線形 SVM が GBT アルゴリズムよりも優れていることがわかります。これは、テキスト ドメインでは、データが通常、高次元であるためです。線形分類器は N-1 次元で N 個のサンプルを完全に分離できるため、通常、このタイプのデータではサンプル モデルの方がパフォーマンスが優れています。さらに、モデルが単純であればあるほど、過剰適合を回避し、限られたトレーニング サンプルを使用して正確なモデルを提供する方法でパラメーターを学習することにより、発生する問題が少なくなります。 一方、GBT は非線形性が高く、より強力ですが、学習が難しく、この設定では過剰適合になりやすく、精度が低下する傾向があります。 3. より良いモデルを得るためには、最適なアルゴリズムと関連パラメータを選択する必要があります。 これはデータ サイエンティスト以外の人にとっては簡単ではないかもしれません。最新の機械学習アルゴリズムには、調整可能なパラメーターが多数あります。たとえば、一般的な GBT アルゴリズムだけでも、ツリーのサイズの制御方法、学習率、行または列のサンプリング方法、損失関数、正規化オプションなど、設定できるパラメーターは 12 個あります。特定のプロジェクトでは、特定のデータ セット上の各パラメーターの最適値を見つけて、最も正確な精度を達成する必要がありますが、これは決して簡単な作業ではありません。しかし、最良の結果を得るためには、データ サイエンティストは多数のモデルをトレーニングする必要があり、クロス検証スコアに基づいてどのパラメーターを再度試すかを決定する際に直感と経験が役立ちます。 4. 機械学習モデルは、良質なデータがあればさらに良くなります。間違ったデータ収集とデータ処理は、予測的および帰納的な機械学習モデルを構築する能力を低下させます。 経験則として、データとデータ生成の背後にあるプロセスについての洞察を得るために、トピックに関連するデータを注意深く確認することをお勧めします。通常、このプロセスでは、レコード、機能、値、またはサンプリングに関連するデータ品質の問題が特定されます。 5. データの特徴を理解し、それを改善する(新しい特徴を作成したり、特定の特徴を削除したりする)ことは、予測能力に大きな影響を与えます。 機械学習の基本的なタスクは、機械学習アルゴリズムが十分に活用して元のデータを置き換えることができる豊富な特徴空間を見つけることです。たとえば、特徴変換は、数学的変換を使用して元のデータに基づいて新しい特徴を抽出することで実現できる一般的な方法です。最終的な特徴空間 (つまり、データを記述するために使用される特徴) は、データの複雑さ (非線形性や複数の特徴間の相互作用など) をより適切に捉えることができ、これは学習プロセスを成功させるために重要です。 6. アプリケーションでは、ビジネス価値に基づいて適切な目的関数/損失関数を選択することが、最終的な成功に不可欠です。 ほとんどすべての機械学習アルゴリズムは、最終的には最適化問題として定式化されます。ビジネスの性質に応じて最適化目的関数を適切に設定または調整することが、機械学習の成功の鍵となります。 サポートベクターマシンを例にとると、バイナリ分類問題の一般化誤差は、すべての誤差タイプが均等に重み付けされていると仮定して最適化されます。これは、ある種のエラーが他のエラーよりも大きな影響を与える可能性がある、障害検出などの損失に敏感な問題には適していません。この場合、特定のエラー タイプにペナルティを追加してその重みを考慮して、SVM の損失関数を調整することをお勧めします。 7. トレーニング データとテスト データが正しく処理されていることを確認します。 この方法では、モデルが本番環境にデプロイされたときに、テスト データで入力データをシミュレートできます。たとえば、時間に依存するデータにとってこれがいかに重要であるかがわかります。この場合、標準的なクロス検証方法を使用してモデルをトレーニング、調整、テストすると、結果に偏りが生じたり、不正確になったりする可能性があります。これは、実装プラットフォーム上の入力データの性質を正確にシミュレートできないためです。これを修正するには、デプロイ時にモデルをそのままデプロイして使用する必要があります。トレーニング済みのモデルをより最近のデータで検証するには、時間ベースのクロス検証を使用する必要があります。 8. 展開前にモデルの一般化エラーを理解します。 一般化誤差は、モデルが未知のデータに対してどの程度適切に機能するかを測定します。モデルがトレーニング データで適切に機能するからといって、必ずしも未知のデータでも適切に機能するとは限りません。モデルの一般化誤差を推定するには、実際の展開使用状況をシミュレートする慎重に設計されたモデル評価プロセスが必要です。 注意しないとクロスバリデーションのルールに違反しやすくなります。また、クロスバリデーションが間違っていることを示す明確な方法はありません。これは通常、ショートカット計算を見つけようとしたときに発生します。モデルを展開する前に、展開パフォーマンスの科学的な評価を得るために、相互検証の正確性に細心の注意を払う必要があります。 9. 非構造化データと半構造化データの処理方法を理解する。 テキスト、時系列、空間、グラフィック、画像データなど。ほとんどの機械学習アルゴリズムが特徴空間でデータを処理する場合、特徴セットはオブジェクトを表し、特徴セットの各要素はオブジェクトの特性を表します。実際には、データはこの形式でインポートされるのではなく、最も原始的な形式からインポートされることが多く、最終的には機械学習アルゴリズムが認識できる理想的な形式に変換する必要があります。たとえば、さまざまなコンピューター ビジョン技術を使用して画像から特徴を抽出する方法や、自然言語処理技術を映画のテキストに適用する方法を知っておく必要があります。 10. ビジネス上の問題を機械学習アルゴリズムに変換する方法を学びます。 不正行為の検出、製品の推奨、ターゲット広告などの重要なビジネス上の問題には、「標準的な」機械学習表現があり、実際に妥当な結果が得られています。これらのよく知られた問題に対しても、あまり知られていないがより強力な定式化があり、それによって予測精度が向上します。通常、ブログやフォーラムで議論される小規模なビジネス問題の場合、適切な機械学習の手法はそれほど明白ではありません。 開発者にとって、成功するためのこれらの 10 のヒントを学ぶことは困難な作業のように思えるかもしれませんが、落胆しないでください。現実には、開発者はデータ サイエンティストではありません。開発者がすべての機械学習ツールを最大限に活用できると想定するのは不公平です。しかし、だからといって、開発者がアプリケーションを改善するために適切なデータ サイエンスを学ぶ機会がないということではありません。適切なエンタープライズ ソリューションと自動化の強化により、開発者は機械学習のベスト プラクティスを使用してモデルの構築から展開まですべてを実行し、高い精度を維持できます。 自動化は、アプリケーションで機械学習を拡張するための鍵となります。たとえ、データ サイエンティストと開発者の小さなチームを編成して協力する余裕があったとしても、人材が足りません。 Skytree の AutoModel を使用すると、開発者は最適なパラメータを自動的に決定し、アルゴリズムが最大限のモデル精度を達成できるようになります。使いやすいインターフェースにより、開発者はモデルのトレーニング、チューニング、テストのプロセスを通じて統計エラーを防ぐことができます。 |
<<: 今日、私たちはすべてのお金を AI に与える勇気があるでしょうか?
face_recognition は、強力でシンプル、使いやすい顔認識オープンソース プロジェクトで...
[[189678]]今日は、ディープラーニングにおける畳み込みニューラル ネットワークのいくつかの原...
[[422893]] 01 人工知能アラン・チューリングは人工知能を次のように定義しました。カーテン...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
ヨーロッパの多国籍通信会社は、BMC の Helix Chatbot を標準化して、全部門の 120...
[[427797]]画像ソース: https://pixabay.com/images/id-567...
急速に進化する機械学習の分野では、データのラベル付けという面倒で時間のかかる作業が依然として存在して...
人工知能の進歩は2024年まで大きな原動力となる可能性が高く、ビッグデータの課題、つまりそれをどのよ...
学習に関しては、GPT-4 は優れた生徒です。大量の人間のデータを消化することで、さまざまな知識を習...
Google Gemini のバグ修正はネットユーザーの目を開かせた! X という人物は、Gemin...