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

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

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

ブログ    
ブログ    

推薦する

ASRU2019コンペティションが終了、中国語と英語の混合音声認識技術における新たなブレークスルー

2019 IEEE 自動音声認識および理解ワークショップ (ASRU) は、2019 年 12 月 ...

AIのダークサイドを暴く:人工知能は人間に取って代わるが、機械をどのように学習するかは分からない

[[189044]]昨年、自動運転車がニュージャージー州モンマス郡に侵入した。チップメーカーのNvi...

Alibaba Cloud がバッチおよびストリーム機械学習プラットフォーム Alink をオープンソース化し、アルゴリズム開発のハードルを下げる

11月28日、アリババクラウドは、世界初の統合バッチ・ストリームアルゴリズムプラットフォームでもある...

...

AI開発の次のステップ:独自の言語でコミュニケーションするロボット

今日では、周囲の世界を「学習」できることが人工知能アルゴリズムの基本要件となっています。 AI ロボ...

...

...

グラフ最適化のためのエンドツーエンドの転送可能な深層強化学習

[[425806]]多様なアクセラレータ セットでトレーニングされた大規模で複雑なニューラル ネット...

人工知能1年後:パンデミックはテクノロジーの発展にどのような影響を与えたのでしょうか?

[[389010]]消費者の行動が変化し、企業の業務ニーズが変化するにつれて、人工知能は徐々に企業...

...

IBMのレポートは、ショッピングにおけるAIへの消費者の関心を強調している

小売業界は、経済の逆風と消費者の期待の高まりによる圧力の増大に直面しています。消費者のニーズと現在の...

機械学習の3つの時代におけるコンピューティングのトレンド

2010 年以前は、トレーニング コンピューティングの開発はムーアの法則に沿って 2 年ごとに 2 ...

顔認識だけでなく、「心を読む」こともできます。このような AI は好きですか?

世界はとてもカラフルです。この美しい地球に住むすべての人は、理解されることを望み、注目されることを待...

注目すべき中国の創造物:ユビキタス人工知能が夢を現実にする

人工知能はどこから来たのでしょうか? 人工知能は人類をどこへ連れて行くのでしょうか? 人工知能は「見...