機械学習プロジェクトの完全な構築プロセスとタスクリストが公開されており、収集する価値があります。

機械学習プロジェクトの完全な構築プロセスとタスクリストが公開されており、収集する価値があります。

機械学習プロジェクトの作成というと、データ、モデリング、テストなどを思い浮かべる人がほとんどですが、99% の人は具体的な事項や手順を知らないのではないでしょうか。今日は、機械学習プロジェクトで必ず実行しなければならないいくつかのことについてお話しします。

作業計画、作業進捗、タスクリストなどは、仕事をよりスムーズに進めるための補助ツールです。これらがなければ、仕事を進めることは難しくなります。機械学習でも同じことが言えます。機械学習プロジェクトはどれも、何をすべきか、いつ完了すべきかを全員に知らせるためのタスクリストから切り離すことはできません。プロジェクトでは、準備、起こりうる問題、モデルの作成、モデルの微調整など、多くのことに対処する必要があります。

[[332738]]

この記事では、機械学習プロジェクトを完了し、各タスクが正常に実行されたかどうかを確認するのに役立ついくつかの手順をリストしました。

アトゥル・ガワンデは著書『チェックリスト宣言』の中でこう述べている。

私たちが知っている知識の量と複雑さは、その恩恵を正確、安全、確実に提供するための私たち個人の能力を上回っています。

次の簡潔で明確なプロジェクト アクション リストを使用すると、作業負荷が軽減され、成果が向上します。

すべての ML プロジェクトで 8 ~ 10 のステップを実行します。これらの手順の一部は、別の順序で実行できます。

1. 問題を高レベルの観点から定義する

これは、問題のビジネス ロジックを理解し、明確にするためです。次のことがわかるはずです:

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

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

このステップでは、まずこのステップを使用して問題を定義します。

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

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

3. データの予備調査

これは、結果/予測/目標に影響を与えるすべての機能を調査するステップです。大規模なデータベースがある場合は、この手順でサンプリングして、分析をより管理しやすくします。

実行する手順:

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

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

次に、データ変換、クリーニング、機能選択/エンジニアリング、スケーリング関数を定義して、前のステップの調査結果を実装します。

  • データを変換し、受信したデータのバッチ処理プロセスを自動化する関数を記述します。
  • データをクリーンアップする関数を書く(欠損値を補完し、外れ値を処理する)
  • 関数を選択して設計するための関数を記述します。冗長な関数の削除、関数の形式変換、その他の数学的変換を行います。
  • 特徴スケーリング - 特徴を正規化します。

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

他の複雑な機械学習モデルのベースラインとして使用できる非常に基本的なモデルを作成します。主な手順は次のとおりです。

  • デフォルトのパラメータを使用して、ナイーブベイズ、線形回帰、SVM などの一般的な機械学習モデルをトレーニングします。
  • 各モデルのパフォーマンスをベースラインおよび他のすべてのモデルと比較して測定します。
  • 各モデルに対して N フォールド交差検証を実行し、N フォールドにわたるパフォーマンス メトリックの平均と標準偏差を計算しました。
  • ターゲットに最も大きな影響を与える特性を研究します。
  • エラーを予測しながらモデルのタイプを分析します。
  • 機能性を異なる方法で設計します。
  • 上記の手順を数回繰り返して(試行錯誤して)、正しい関数を正しい形式で使用していることを確認します。
  • モデルのパフォーマンスに応じて、最適なモデルを選択します。

6. 選択したモデルを微調整し、全体的なアプローチを確認する

これは最終的な解決に向けた道のりにおける重要なステップの一つとなるでしょう。 主な手順は次のとおりです。

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

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

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

  • プロジェクト全体のコードと方法およびプロセスを文書化します。
  • ダッシュボードを作成したり、わかりやすい視覚化によるプレゼンテーションを作成したりできます。
  • 機能性の分析方法、さまざまな変換のテスト方法などを文書化したブログ/レポートを作成します。学習の成功(失敗したアプローチと効果的なテクニック)を記録します
  • 主な結果と将来の応用分野(ある場合)を要約する

8. 開発環境にモニターモデルをデプロイする - モニター!

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

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

注: チェックリストはプロジェクトの複雑さに応じて調整できます。

[[332740]]

<<:  「遅れた接客」と批判されたインテリジェント接客の現状とは?

>>:  IIoTとAIは大きな課題に直面している

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

インドの天才数学者ラマヌジャンが残した3000以上の魔法の公式をAIに「証明」させる!

最近、ネイチャー誌に、新しい数式を生成できる AI アルゴリズム プロジェクトを研究者が構築したプロ...

BEV におけるデータセット間レーダーカメラ融合に関する実験的研究

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

Google の新しい AI が話題に!世界で最も長い単語を描くことができる

友達、この英語の単語が何だか知っていますか?超微細珪火山性肺炎。これは45文字からなる世界最長の単語...

...

多言語AI分析は、顧客体験の可能性を解き放ち、ビジネスの成長を促す鍵となる

テキスト分析は、顧客が話す言語に関係なく、顧客の意見のあらゆる例を発見して注釈を付けることができる強...

人間の仕事が危機に瀕しているか?この時代にいかに目立つかが非常に重要です

序文「データ奴隷」現象は、AI時代の新たなエリート層を生み出したが、同時に、すでに強大な企業をさらに...

ネットワーク管理における人工知能の役割

AI の主な利点の 1 つは、従業員を日常的な単純作業から解放することです。 AI は、ネットワーク...

AI論文が急増、10万件以上の引用を誇るResNetの登場は良いことなのか悪いことなのか?この研究は、

[[442368]] 1週間前、コンピュータービジョン分野の古典であるHe Kaiming氏のRe...

...

...

ガートナー:2025年までにデータセンターの半数がAI対応ロボットを導入

ガートナーは11月11日、2025年までにデータセンターの半数が人工知能と機械学習機能を備えた高度な...

AI分野におけるNVIDIA NeMoフレームワークの包括的な応用と利点の概要

1. NeMoフレームワークの紹介NVIDIA NeMo は、PyTorch と PyTorch L...

...

中国の建設ロボット軍団がやってくる!

[[408565]]香港のサウスチャイナ・モーニング・ポストに6月29日に掲載された記事「中国の道...