機械学習アルゴリズムと機械学習モデルの開発方法について知っておくべきことは何ですか?

機械学習アルゴリズムと機械学習モデルの開発方法について知っておくべきことは何ですか?

[[201235]]

概念とそれがビジネス目標に与える影響を学ぶことは非常に重要です。

アルゴリズムの選択

問題の定義を少し変更するだけで、その問題を解決するためにまったく異なるアルゴリズムが必要になるか、少なくとも異なるデータ入力を使用して異なるモデルを構築する必要がある場合があります。ユーザーの写真の種類を識別できる出会い系サイトでは、クラスタリングなどの教師なし学習手法を使用して共通のテーマを識別できます。一方、サイトが特定の人物にデートの相手を推薦したい場合、その人物がすでに見た写真など、その人に固有の入力データに基づく教師あり学習を使用する可能性があります。

特徴選択

機械学習モデルはデータ内のパターンを識別します。モデルに入力されるデータは、特徴 (変数または属性とも呼ばれます) に編成されます。これらは、予測または識別する現象の側面を説明する、関連性のある、ほとんどが独立したデータです。

先ほど述べた、ローン申請者へのアウトリーチを優先したいと考えていた会社の例を見てみましょう。問題を「コンバージョンの可能性に基づいて顧客に優先順位を付ける」と定義すると、会社のさまざまなアウトリーチ キャンペーンに対する同様の顧客の応答率を含む機能が得られます。問題を「ローンを返済する可能性が最も高い顧客を優先する」と定義すると、これらの特徴は顧客の可能性の評価に関連しないため、得られません。

目的関数の選択

目的関数は、最適化する目標、またはモデルが予測しようとしている結果です。たとえば、ユーザーが興味を持ちそうなアイテムを推奨する場合、モデルの出力は、ユーザーがそのアイテムを見たときにクリックする確率、またはユーザーがそのアイテムを購入する確率になる可能性があります。目的関数の選択は、主にビジネス目標によって異なります。この例では、ユーザー エンゲージメント (目的関数はクリック数または滞在時間) と収益 (目的関数は購入数) のどちらに関心がありますか? 考慮すべきもう 1 つの重要な要素は、データの可用性です。アルゴリズムが学習するには、ポジティブ (ユーザーが見てクリックした製品) またはネガティブ (ユーザーが見たがクリックしなかった製品) として「ラベル付け」された大量のデータ ポイントを提供する必要があります。

機械学習モデルを開発するには?

概要: 優れた機械学習モデルの作成は、他の製品の作成と同じです。まず、アイデア出しから始め、解決すべき問題と潜在的な解決策を考えます。明確な方向性が決まったら、ソリューションのプロトタイプを作成し、それがニーズを満たしているかどうかをテストすることができます。この記事では、その方法を段階的に見ていきましょう。

モデリング手順の概要

大まかに言えば、優れた機械学習モデルを作成することは、他の製品を構築することと同じです。つまり、アイデア創出、つまり解決すべき問題といくつかの潜在的な解決策を考えることから始まります。明確な方向性が決まったら、ソリューションのプロトタイプを作成し、それがニーズを満たしているかどうかをテストできます。ソリューションが市場に受け入れられるほど良くなるまで、アイデア創出、プロトタイピング、テストを繰り返す必要があります。その時点でソリューションを製品化し、リリースします。それでは、各段階を詳しく見ていきましょう。

データは機械学習の非常に重要な要素であるため、製品開発プロセスの上にデータを重ねる必要があります。そのため、プロセスは次のようになります。

  • 概念。解決すべき主要な問題と、その解決策のための潜在的なデータ入力を調整します。
  • データの準備。モデルが理解して学習できるように、有用な形式でデータを収集して取り込みます。
  • プロトタイプとテスト。問題を解決するためのモデルまたはモデル セットを構築し、それらのパフォーマンスをテストして、1 つのモデルが満足のいく結果を出すまで反復します。
  • 製品化。モデルとデータの収集および処理を安定化および拡張して、運用環境で有用な出力を生成します。

概念

このフェーズの目標は、モデルが解決する主要な問題、目的関数、および潜在的な入力をモデル全体と一致させることです。

  • 質問には一貫性を持たせてください。前述したように、機械学習は実際のビジネス上の問題を解決するために使用できます。解決しようとしている問題とその解決策の使用方法について、チームと会社内のすべての関係者の認識が一致していることを確認してください。
  • 目的関数を選択します。解決すべき問題によって、モデルの目標が決まります。モデルが予測しようとしている目的関数は何ですか? データ内のパターンを探していますか? たとえば、ある特性に基づいて写真のコレクションをグループに分割します。
  • 品質メトリックを定義します。モデルの品質をどのように測定しますか? 実際の結果を見ずに許容できる品質を予測するのは難しい場合が多いですが、目標を念頭に置いておくと役立ちます。
  • 考えられるすべての入力についてブレインストーミングします。あなたの目標は、問題の解決や意思決定に役立つデータを特定することです。最も役立つ質問は、「専門家はこの問題をどのように処理するでしょうか?」です。ソリューションのベースとなる変数またはデータを検討します。人間の判断に影響を与える可能性のあるあらゆる要素をテストする必要があります。これらの質問に対する回答をできるだけ多く集めてください。重要な要素を理解するにはビジネスの専門知識が必要になる場合があり、これがビジネス担当者や製品担当者がこの段階に頻繁に関与する必要がある重要な理由の 1 つです。データ チームは、これらの潜在的な入力をモデル機能に変換する必要があります。入力を特徴に変換するには追加の処理が必要になる場合があることに注意してください。これについては後で詳しく説明します。

データ準備

このフェーズの目標は、生データを収集し、それをプロトタイプ モデルの入力として使用することです。生データを入力データとして使用できるようにするには、生データに対して複雑な変換を実行する必要がある場合があります。たとえば、あなたの特徴の 1 つが、消費者があなたのブランドについてどう思っているかだとします。まず、消費者があなたのブランドについて話している関連ソースを見つける必要があります。ブランド名に一般的な単語(「リンゴ」など)が含まれている場合は、プロトタイプを構築する前に、ブランド名をその一般的な意味(果物に関連)から区別し、感情分析モデルにかける必要があります。すべての機能の構築が複雑というわけではありませんが、一部の機能には多くの作業が必要になる場合があります。

このフェーズに含まれる内容を詳しく見てみましょう。

  • 最速の速度でデータを収集します。まず、どのデータが欠落しているかを判断します。場合によっては、データに簡単にアクセスできるように、必要な入力を「ビルディング ブロック」レベルまたはエージェント レベルに分割する必要があります。不足しているデータが判明したら、それを可能な限り迅速かつ簡単な方法で取得する必要があります。手動でダウンロードしたり、データサンプルを購入したりするなど、スケーラブルでない方法の場合、多少高価であっても、最も実用的なアプローチになる可能性があります。通常、この段階では、データが有用かどうか、どの形式が最適かなどがわからないため、大量のデータを収集してもあまり意味がありません。ビジネスパーソンは、データ エキスパートが簡単には入手できない多数のチャネルからデータを入手するのを支援できるため、この段階に関与する必要があります。教師あり学習アルゴリズムでは、モデルの機能のデータだけでなく、モデルをトレーニング、検証、テストするためのモデルの目的関数のデータ ポイントも必要になることに注意してください。住宅価格の例に戻ると、住宅価格を予測するモデルを構築するには、住宅の価格を含む住宅に関する情報が必要です。
  • データのクリーニングと正規化。このフェーズでは、データ サイエンス チームまたはエンジニアリング チームが主な作業責任を引き受けます。彼らは、アイデアと生のデータを実際のモデルに変換することにほとんどのエネルギーを注ぎます。不良データや無関係な外れ値などを使用しないように、データセットをチェックしてクリーンアップする必要があります。他のデータセットとの調整や使用を容易にするために、データをさまざまなスケールに変換することもできます。特にテキストや画像を処理する場合、関連する情報を抽出するためにデータを前処理することが通常必要になります。たとえば、モデルに大量の大きな画像を挿入すると、処理できないほどの情報量が多くなる可能性があるため、画像の品質を下げたり、画像の一部を使用したり、オブジェクトのアウトラインのみを使用したりする必要がある場合があります。テキストの場合、テキストに関連付けられたエンティティを検出したり、感情分析を実行したり、一般的な n-gram (特定の数の単語を表すためによく使用される特定の数の単語のシーケンス) を見つけたり、その他のさまざまな変換を実行したりする必要がある場合があります。これらは、車輪の再発明をすることなく、既製のライブラリによって実装できる場合がよくあります。

プロトタイプとテスト

このフェーズの目標は、モデルのプロトタイプを取得し、それをテストし、本番環境で使用できるほど優れたモデルが得られるまで反復することです。

  • プロトタイプを構築します。データが準備されると、データ サイエンス チームは実際のモデルの作業を開始できます。このフェーズでは、最も関連性の高い機能の選択、複数のアルゴリズムのテストなど、多くの実験が行われます。これは簡単な作業ではなく、生産用のモデルを入手するためのタイムラインは適切に管理されていません。
  • プロトタイプを検証およびテストします。このフェーズでは、データ サイエンティストの仕事は、結果として得られるモデルが可能な限り優れたものになるよう保証することです。事前に定義された品質メトリックに基づいてモデルのパフォーマンスを評価し、さまざまなアルゴリズムでのモデルのパフォーマンスを比較し、さまざまなパラメータを調整して、最終モデルのパフォーマンス テストを実行します。教師あり学習の場合、モデルによって予測された結果がニーズを満たしているかどうかを判断する必要があります。教師なし学習では、問題に応じてさまざまなパフォーマンス評価手法があります。クラスタリングを例にとると、複数の次元でクラスタ化されたオブジェクトを簡単にプロットできます。アルゴリズムがキーワードを使用してドキュメントにタグを付けている場合、そのキーワードは意味のあるものになっていますか? タグ付けが失敗したり、重要なユースケースが欠落したりする明らかなギャップはありますか? これは、より科学的なアプローチに代わるものではありませんが、実際には迅速に改善するのに役立ちます。
  • 反復。この時点で、チームと協力して、さらなる反復が必要かどうかを判断する必要があります。モデルは期待にどの程度一致していますか? 現在のビジネス状況を大幅に改善できるほど十分に機能していますか? 特に弱い部分はありますか? より多くのデータ ポイントが必要ですか? パフォーマンスを向上させる他の機能を思いつきますか? モデルの入力の品質を向上させることができる代替データ ソースはありますか? など。これらすべてにはブレインストーミングが必要です。

製品化

プロトタイプ モデルがビジネス上の問題を十分に解決し、実稼働に移行できるようになったときに、この段階に到達します。まだ完全な製品化の準備ができていない場合は、まずモデルをどの程度まで拡張するかを決定する必要があることに注意してください。たとえば、映画推薦ツールの場合、まず少数のユーザーに推薦サービスを提供して、各ユーザーに完全なユーザー エクスペリエンスを提供する必要があります。この場合、モデルは、各ユーザーとの関連性に応じてデータベース内の各映画をランク付けする必要があります。これは、単にアクション映画を推奨することとは異なる拡張機能の要件です。

それでは、モデルの製品化に関する技術的な詳細をいくつか見ていきましょう。

  • データ範囲を拡大します。多くの場合、本番環境よりも少ない、制限されたデータでプロトタイプを構築できます。たとえば、特定の顧客に基づいてプロトタイプを構築し、それを顧客ベース全体に拡張することができます。
  • データ収集を拡大します。モデルにとって有用なデータを検証したら、そのデータを収集して取り込むためのスケーラブルな方法を構築する必要があります。プロトタイプ段階では手動でデータを収集しても問題ありませんが、本番環境では可能な限り自動化する必要があります。
  • データを更新します。既存の値を更新したり、新しい情報を追加したりするために、時間の経過とともにデータを更新するメカニズムを作成します。履歴データを保持できない理由がない限り、システムは何らかの方法で継続的にデータを蓄積できる必要があります。
  • モデルを拡張します。これには、データサイエンスとエンジニアリングの両方が含まれます。データ サイエンスの観点から見ると、顧客セグメントの数を増やすなど、基礎となるデータを変更する場合は、モデルを再トレーニングして再テストする必要があります。特定のデータセットで適切に機能するモデルが、より広範なデータセットや他の異なるデータセットでも適切に機能するとは限りません。アーキテクチャ的には、増加するデータに基づいてより頻繁に実行できるように、モデルを時間内に拡張できる必要があります。映画のおすすめの例では、ユーザー数、映画数、各ユーザーの好みに関する情報が増える可能性があります。
  • 特殊な値を確認します。モデルは全体的にはうまく拡張できるかもしれませんが、特定の小さいながらも重要なケースではうまく機能しない可能性があります。たとえば、映画の推奨は平均的な使用では問題なく機能するかもしれませんが、親が自分のアカウントを使用して子供向けの映画を選択した場合、推奨システムは子供向けの映画を表示します。これは製品設計の問題であり、製品内で親自身の推奨事項と子供への推奨事項を区別する必要がありますが、モデルではそれを判断することはできません。

これまで説明してきたのは概念的なプロセスです。現実には、境界は曖昧であることが多く、異なる段階の間を行ったり来たりする必要があることがよくあります。データの供給に満足できず、最初からやり直すことを検討したり、モデルが製品化された後にモデルがうまく機能しないことがわかり、戻ってプロトタイプを再構築しなければならない場合もあります。

<<:  2030年にAIは人間のためにどんな仕事を創出できるでしょうか?

>>:  タオバオの顔面を平手打ちして電子商取引を破壊しよう!このファッション会社はアルゴリズムを使って新しい小売業をリードしている

ブログ    
ブログ    
ブログ    

推薦する

iCubヒューマノイドロボットは目を動かしたり、話したり、人を抱きしめたりすることができ、今回は遠隔操作も可能だ

2011 年には、子供のような iCub ヒューマノイド ロボットについて耳にしていました。これは次...

284日間の急成長の後、ChatGPTを「模倣」したスタートアップ企業が倒産する可能性

最近、ウォール・ストリート・ジャーナルの記事によると、一部のベンチャーキャピタリストは、生成型人工知...

...

ガートナーの調査によると、企業は来年AIプロジェクトを2倍に増やすと予想している。

世界有数の情報技術調査およびアドバイザリ企業であるガートナーによる最近の調査によると、現在人工知能 ...

...

Nature: 室温超伝導体はなぜ持続できないのか?

世界中で白熱した議論を巻き起こしたLK-99論争が終結した後、ネイチャー誌の見出しに再び「室温超伝導...

WeChatモーメンツを席巻しているGoogleのAI版「Draw and Guess」の原理はこうだ。

Google の人工知能に対する皆の理解は、おそらく囲碁 AI AlphaGo から始まったのでし...

...

マイクロソフトとスタンフォード大学の新アルゴリズムがAIによる人類絶滅のリスクを排除! GPT-4の自己反復、プロセスは制御可能かつ説明可能

「再帰的に自己進化する AI が人間を支配する」という問題に対する解決策はあるのでしょうか? !多く...

機械学習: TensorFlow 2.0 の 10 のヒント

この記事では、TensorFlow 2.0 の 10 の機能について説明します。 [[326673]...

長文情報の精度はChatGPTを上回る、Metaは大規模モデルの幻覚を軽減する新手法を提案

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

初の高校向けAI基礎教科書が出版:唐暁氏が編集、重点中学校40校が導入

教育は幼少期から始めるべきであり、AIは高校から学ぶことができます。 4月28日、SenseTime...

ビッグデータ処理における人工知能の活用方法

人工知能はビッグデータを処理するための最も理想的かつ効果的な方法です。私たちの世界はビッグデータに浸...

2022年、ビッグモデルはどこまで行けるでしょうか?

[[442868]]著者: ユン・チャオこの記事は、2021年の業界レビュー、2021年のビッグモ...