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

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

機械学習プロジェクトの作成というと、データ、モデリング、テストなどを思い浮かべる人がほとんどですが、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は大きな課題に直面している

ブログ    
ブログ    
ブログ    

推薦する

「AI Perspective Eyes」では、マー賞を3度受賞したアンドリューが、任意のオブジェクトの遮蔽補完の問題を解決するチームを率いた。

オクルージョンは、コンピューター ビジョンにおける最も基本的な問題ですが、未だに解決されていない問題...

自動運転車は「交通渋滞をさらに悪化させる可能性がある」

西オーストラリア大学の研究者らは、交通渋滞を緩和するために設計された無人運転車が逆の効果をもたらして...

AIによる創薬は2024年までに急成長すると予想

1月7日の最大のニュースの一つは、Google DeepMindの創設者デミス・ハサビス氏が率いるG...

Metaは、すべての製品のビデオ推奨エンジンをサポートする巨大なAIモデルを構築しています。

3月7日水曜日、Metaの上級幹部は米国時間、同社がFacebookを含む傘下のさまざまなプラット...

新型コロナウイルスはどのように変異するのでしょうか?機械学習が答えを教えてくれる

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

「業界最強」と称されるアリトン・イー・チエンウェン、国内No.1大型モデルを目指す

どの時代にもメインテーマがあり、次の10年の主なテーマはAIです。 ChatGPTの登場以来、中国で...

人工知能の開発における主な成果は何ですか?また、どのような課題に直面していますか?

現代の人工知能は、現代の科学技術の中で最も驚くべき強力な技術の 1 つとなり、破壊的な技術でもありま...

人工知能が金融を変える5つの方法

人工知能 (AI)、機械学習 (ML)、ディープニューラルネットワーク (DNN) は、金融業界のビ...

...

ニューラルネットワークアルゴリズムの利点と応用

[[211834]]人工ニューラル ネットワーク (ANN) は脳の処理メカニズムに基づいており、複...

C# アルゴリズムで実装された文字列反転の簡単な分析

C# を使用して文字列反転アルゴリズムを実装することに関する面接の質問を見てみましょう。文字列反転の...

中国科学院とディープマインドが協力し、ディープラーニングを使って脳が顔を認識する仕組みを解明

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

...

ニューラルネットワーク: 知っておくべきこと

ニューラル ネットワーク (NN) は、ほぼすべての分野で創造的な方法で問題を解決するのに役立ちます...