機械学習プロジェクトに必須: エンドツーエンドの機械学習プロジェクト開発プロセスのタスクリスト

機械学習プロジェクトに必須: エンドツーエンドの機械学習プロジェクト開発プロセスのタスクリスト

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。

重要なプロジェクトを作成するときは、他の人から学んだことや仕事で気づいたことすべてを文書化します。これは私にとって必須です。プロジェクトでは処理すべきことが非常に多く(議論、準備、質問、モックアップ、微調整など)、忘れてしまいやすいからです。

タスク リストは、開発者が次のステップを完了できるようにガイドし、各タスクが正常に実行されたかどうかを確認するように促します。出発点を見つけるのが難しい場合もありますが、タスク リストは開発者が適切なソースから適切な情報 (データ) を取得し、関係を構築して関連する洞察を明らかにするのに役立ちます。

ベストプラクティスは、プロジェクトのあらゆる部分をチェックすることです。アトゥル・ガワンデは『チェックリスト宣言』の中でこう述べています。「私たちが知っていることの量と複雑さは、そのメリットを正確に、安全に、そして確実に伝える私たちの能力を上回っています。」

したがって、この簡潔で明確なプロジェクト タスク リストを確認してください。作業負荷を軽減し、成果を向上させるのに役立ちます。

機械学習プロジェクトのチェックリスト

ほぼすべての機械学習プロジェクトで実行する必要がある 8 ~ 10 のステップがあり、そのうちのいくつかは順番に交互に実行できます。

1. 問題を大まかに定義する

問題のビジネス ロジックを理解して明確にするには、タスク リストで次の情報を提供する必要があります。

  • 問題の性質 (教師あり/教師なし、分類/回帰)。
  • 開発できるソリューションの種類。
  • パフォーマンスを測定するにはどのような指標を使用すればよいでしょうか?
  • この問題に対する適切なアプローチとして機械学習は適切でしょうか?
  • 問題解決への手動アプローチ。
  • 問題に内在する仮定。

2. データソースを特定し、データを取得する

ほとんどの場合、データがあり、受信したデータをより有効に活用するために関連する質問を定義する場合は、最初のステップの前にこのステップを実行できます。

問題の定義に基づいて、データベース、データ リポジトリ、センサーなどのデータのソースを決定する必要があります。アプリケーションを本番環境にデプロイするには、受信データがシステムに流れ続けるようにデータ パイプラインを開発して、この手順を自動化する必要があります。

  • 必要なデータのソースと量をリストします。
  • スペースに問題がないか確認してください。
  • データを使用する権限があることを確認してください。
  • データを取得して、実用的な形式に変換します。
  • データの種類(テキスト、カテゴリ、数値、時系列、画像)を確認します。
  • 最終テストのためにサンプルを採取します。

[[336009]]

画像ソース: unsplash

3. データの初期調査

このステップでは、研究結果、予測、目標に影響を与えるすべてのデータ機能が検出されます。膨大なデータ ブロックがある場合は、この手順でサンプリングして、分析をより管理しやすくします。以下の手順に従ってください。

  • Jupyter Notebooks を使用すると、データを探索するための簡単で直感的なインターフェースが提供されます。
  • ターゲット変数を特定します。
  • 特徴タイプ (カテゴリ、数値、テキストなど) を識別します。
  • 特徴間の相関関係を分析します。
  • 各機能がターゲット変数に与える影響を説明しやすくするために、データの視覚化を追加します。
  • 調査結果を記録します。

4. データを準備するための探索的データ分析

次は、データ変換、クリーニング、機能選択/設計、スケーリングの機能を定義して、前のステップで得られた結果を実装します。

  • データを変換し、大量のデータの処理を自動化する関数を記述します。
  • データをクリーンアップする関数を記述します(欠損値を補完し、外れ値を処理します)。
  • 機能を選択およびエンジニアリングするための関数を記述します。冗長な機能を削除し、機能を別の形式に変換し、その他の数学的変換を実行します。
  • 特徴スケーリング — 特徴を正規化します。

[[336010]]

画像ソース: unsplash

5. ベースラインモデルを開発し、他のモデルを検討して最適なモデルを選択する

他のすべての複雑な機械学習モデルのベースラインとして機能する非常に基本的なモデルを作成します。次の手順に従ってください。

  • デフォルトのパラメータを使用して、Naive Bayes、線形回帰、サポート ベクター マシン (SVM) などの一般的に使用される機械学習モデルをトレーニングします。
  • ベースラインと他のモデルを使用して各モデルのパフォーマンスを測定し、比較します。
  • 各モデルは N 分割交差検証を使用して展開され、N 分割のパフォーマンス指標の平均と標準偏差が計算されます。
  • ターゲットに最も大きな影響を与える特性を研究します。
  • モデルが予測する際に発生するエラーの種類を分析します。
  • さまざまな方法で機能を設計します。
  • 上記の手順を数回繰り返して(試行錯誤して)、正しい機能を正しい形式で使用していることを確認します。
  • パフォーマンス測定に基づいて最適なモデルをリストします。

6. 選ばれたモデルを微調整し、アンサンブル法をチェックする

これは、最終的な解決策に近づくための重要なステップの 1 つです。主な手順は次のとおりです。

  • ハイパーパラメータの調整にはクロス検証を使用します。
  • ランダム検索やグリッド検索などの自動チューニング方法を使用して、最適なモデルに最適な構成を見つけます。
  • 投票分類器などのアンサンブル手法をテストします。
  • できるだけ多くのデータを使用してモデルをテストします。
  • 完了したら、最初のトスのテスト サンプルを使用して、モデルが過剰適合しているか、不足適合しているかを確認します。

7. コードを文書化し、解決策を伝える

コミュニケーション プロセスは多面的であるため、常に既存および潜在的なすべての利害関係者を念頭に置いてください。主な手順は次のとおりです。

  • プロジェクト全体のコードと完了方法およびプロセスを文書化します。
  • ほぼ一目瞭然の視覚化を使用して、簡潔なダッシュボードや洞察に富んだプレゼンテーションを作成します。
  • 機能の分析方法、さまざまな変換のテスト方法などについてブログ/レポートを作成し、学習内容 (失敗と効果的な手法) を文書化します。
  • 主な成果と将来の計画(ある場合)を要約します。

8. モデルとモニターを本番環境にデプロイする

プロジェクトでライブ データでのデプロイメントのテストが必要な場合は、すべてのプラットフォーム (Web、Android、iOS) で使用される Web アプリケーションまたは REST API を作成する必要があります。主な手順(プロジェクトによって異なります)は次のとおりです。

  • 最終的なトレーニング済みモデルを h5 または pickle ファイルに保存します。
  • Web サービスを使用してモデルを提供します。Flask を使用してこれらの Web サービスを開発できます。
  • 入力データ ソースを接続し、ETL パイプラインを設定します。
  • pipenv、docker/Kubernetes を使用して依存関係を管理します (拡張要件に基づく)。
  • このサービスは、AWS、Azure、または Google Cloud Platform を使用して展開できます。
  • ライブ データのパフォーマンスを監視したり、ユーザーが自分のデータでモデルを使用できるようにしたりできます。

[[336011]]

画像ソース: unsplash

単にスクリプトに従うのではなく、プロジェクトの複雑さに合わせてチェックリストをカスタマイズできます。これを基盤として、完璧な機械学習プロジェクトが間もなく完成します。

<<:  Sentinel のコールドスタート電流制限アルゴリズム

>>:  スーパー暗号解読:自動運転はこうして実現される

ブログ    

推薦する

CLRNet: 自動運転における車線検出のための階層的改良ネットワーク アルゴリズム

車線は高レベルのセマンティクスを備えた交通標識であり、視覚ナビゲーション システムでは特に重要です。...

ビジネスインテリジェンスをビジネスに活用する 10 のメリット

[[434146]]ビジネス インテリジェンス テクノロジーが推進する市場において、人工知能は企業に...

...

...

人工知能が電力網の未来の鍵となる理由

[[201461]] 2016年の英国の電力構成は過去60年間で最もクリーンとなり、主に風力と太陽光...

パートナーはいますか? Facebookの従業員が休暇中にロボットを家に持ち帰り、死に関する質問に答える

[[286539]]ビッグデータダイジェスト制作著者: 張大毓如、陳若夢春節が近づいてきました!叔母...

5G悪報セキュリティ管理プラットフォームにおけるディープラーニングに基づくテキスト感情認識技術の応用

著者: Sun Yue、所属部署: 中国移動 (杭州) 情報技術有限公司 | 中国移動杭州 R&am...

真の人工知能から私たちはどれくらい遠いのでしょうか?

DeepMind がまた別の「悪役」を生み出しました! [[428779]]これらの小人たちは、ア...

スマート病院: 将来の医療技術のガイドラインとトレンド

スマート病院とは何ですか?最も伝統的な病院でさえ、人、プロセス、資産の広大なネットワークを持つ複雑な...

2020 年のディープラーニングに最適な GPU の概要。どれが最適かを確認してください。

ビッグデータダイジェスト制作出典: lambdalabs編纂者:張秋月ディープラーニング モデルが強...

AIは5Gネットワ​​ークの管理にどのように活用されるのか

AI は、モノのインターネットやプライベート 5G ネットワークなど、複数の用途をサポートするために...

トランスフォーマー+強化学習、Google DeepMindは世界を知覚するロボットの脳となる大きなモデルを作る

ロボットの学習方法を開発する際に、大規模で多様なデータセットを統合し、強力で表現力豊かなモデル (T...

ロボット導入の「秘密」:継続的な学習、知識の伝達、自律的な参加

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

AIと子ども経済が出会うとき、どうすれば中心的ポジションにデビューできるのか?

[[248753]]児童市場は非常に特殊で、この層は購買力がないにもかかわらず、消費市場の価値は数...

人工知能業界を理解するにはどうすればいいのでしょうか?まず知っておくべき知識は何でしょうか?

人工知能の発展を理解したい場合、または人工知能の基本的な応用を理解したい場合は、まずいくつかの基本的...