ML プロジェクトを実行するときに、タスクが多数あり、些細な場合はどうすればよいでしょうか?このセルフチェックリストはあなたの心を整理するのに役立ちます

ML プロジェクトを実行するときに、タスクが多数あり、些細な場合はどうすればよいでしょうか?このセルフチェックリストはあなたの心を整理するのに役立ちます

機械学習プロジェクトには、データ処理、モデルの最適化など、多くの要素が関係します。開発者は混乱したり、重要なことを見逃したりすることがよくあります。ここに保管しておくべきチェックリストがあります。

あらゆる科学研究プロジェクトは体系的であり、機械学習プロジェクトも例外ではありません。議論、準備、質問、モデル構築、最適化調整など、大小さまざまな、複雑なものから単純なものまで、一連の要素とコンポーネントが含まれます。この場合、開発者が重要なことを見逃してしまう可能性が高くなります。

この時点で、プロジェクトに含まれるタスクの詳細なリストを作成する必要があります。開発者は適切な出発点を見つけるのに苦労することがありますが、タスク リストを使用すると、有用なデータを抽出し、適切な情報ソース間の接続を確立して、深い洞察を得ることができます。

さらに、プロジェクト内の各タスクは、完了を確実にするために計画およびチェックされる必要があります。

アトゥル・ガワンデは著書『チェックリスト宣言:物事を正しく行う方法』の中でこう述べています。

私たちが知っている知識の量と複雑さは、そこから正しく、安全に、または確実に利益を得る私たちの能力を上回っています。

この記事では、Web およびデータ サイエンスのインストラクターである Harshit Tyagi が、エンドツーエンドの機械学習プロジェクトを例に、一般的に必要なタスクのチェックリストを示します。

[[333419]]

この記事はHarshit Tyagiによって書かれました。

次に、Harshit Tyagi が独自の機械学習プロジェクトのタスク リストを段階的に作成した方法を見てみましょう。

8 ステップの ML プロジェクト チェックリスト

ほぼすべての機械学習プロジェクトでは、少なくとも 8 ~ 10 のステップを実行する必要があり、これらのステップの一部は順序を入れ替えて実行できます。

ステップ1: 問題を高レベルの観点から定義する

このステップは、問題のビジネス ロジックを明確にするために実行されます。知っておくべきこと:

問題の性質 (教師あり/教師なし、分類/回帰)。

開発できるシナリオの種類。

パフォーマンスを測定するにはどのような指標を使用すればよいでしょうか?

この問題に対する適切なアプローチとして機械学習は適切でしょうか?

この問題を解決するための手動の方法。

この質問に内在する仮定。

ステップ2: データソースを特定し、データを取得する

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

問題の定義に基づいて、どのデータ ソースがデータベース、センサーなどになるかを決定する必要があります。アプリケーションを本番環境に展開するには、入力データがシステムに確実に入力されるように、データ パイプラインを開発してこの手順を自動化する必要があります。

具体的な手順は次のとおりです。

必要なデータ ソースとデータ ボリュームをリストします。

ストレージスペースが問題になるかどうかを確認します。

目的に応じてデータを使用する許可があるかどうかを確認します。

データを取得して使用可能な形式に変換します。

データの種類を確認します。通常、データの種類にはテキスト、カテゴリ、数値、時系列、画像データが含まれます。

最終テスト用にサンプルを保管してください。

ステップ3: データの初期調査

このステップでは、プロジェクトの結果/予測/目標に影響を与えるすべての特性を調査する必要があります。データ量が多い場合は、分析をより管理しやすくするためにデータをサンプリングします。具体的な手順は次のとおりです。

Jupyter Notebook を使用すると、データを探索するためのシンプルで直感的なインターフェースが提供されます。

ターゲット変数を決定します。

特徴のタイプ(カテゴリ、数値、テキストなど)を決定します。

機能間の関係を分析します。

各機能がターゲット変数に与える影響を解釈しやすくするために、いくつかの視覚化を追加します。

発見した内容を記録します。

ステップ4:データを準備するための探索的データ分析

このステップでは、データ変換、データクリーニング、機能選択/エンジニアリング、および拡張の機能を定義することによって、前のステップからの調査結果が処理されます。詳細は以下の通りです。

データ変換関数を記述し、入力される次のデータ バッチを自動的に処理します。

データクリーニング関数の作成(欠損値の補完と外れ値の処理)

冗長な機能の削除、機能のフォーマット、その他の数学的変換など、機能を選択および設計するための関数を記述します。

機能拡張 – 標準化された機能。

ステップ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 を使用して依存関係を管理します。

サービスをデプロイするには、Amazon、Azure、または Google Cloud Platform を使用できます。

ライブ データのパフォーマンスを監視したり、ユーザーがモデルでデータを簡単に使用できるようにします。

最後に、ToDo リストを作成するときに留意すべき点の 1 つは、プロジェクトの難易度に応じてリアルタイムで調整できることです。

<<:  機械学習のパフォーマンスを最適化するために必要な 6 つの指標

>>:  Hacker News のホットな話題: 利用できるパッケージが非常に多いにもかかわらず、プログラマーは依然としてアルゴリズムを学ぶ必要があるのでしょうか?

ブログ    

推薦する

...

人工知能XiaoIceが繊維企業向けにオンデマンドカスタマイズを実現するAIデザインプラットフォームを開設

9月23日、2020年中国国際紡織品・アクセサリー(秋冬)博覧会で、高級生地メーカーの陸豊織染が人工...

目から鱗!ヘルスケアと自動車業界における AI の興味深い応用例 11 選

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

NLP技術の準備——自然言語処理技術はあなたの妻ではありません

人工知能技術の発展に伴い、携帯電話の翻訳ソフトを使って自分の言語をリアルタイムで翻訳したり、画像認識...

マイクロソフトの調査:英国の従業員のほぼ半数がロボットに仕事が置き換えられることを懸念

[[248243]]北京時間31日、マイクロソフトが英国のビジネスリーダーと従業員5,000人を対象...

2020 年の企業向け最高の AI プラットフォーム

企業は長年にわたり、業務と分析を手作業で処理してきましたが、その結果、人件費と事務処理が増加し、最適...

クラウド セキュリティにおける生成 AI: アクションよりもノイズが多い? !

翻訳者 | ジン・ヤンレビュー | Chonglou人工知能はクラウド セキュリティの次の大きなトレ...

最適化されたアルゴリズムによる高度なデータ分析に視覚化を活用する 5 つのステップ

[[176432]] 【導入】ほとんどの科学研究では、大量の実験データの統計分析は、通常、コンピュー...

大規模言語モデルが信頼できるかどうかを評価するにはどうすればよいでしょうか? 7つの次元はここにまとめられている

実際の展開においては、大規模言語モデル(LLM)をどのように「整合」させるか、つまりモデルの振る舞い...

2021年に人工知能の倫理的問題、社会的価値、影響について読むべき8冊の本

[[387639]]人工知能に関するこれらの 8 冊の本は、AI に関連する倫理的問題、AI が雇用...

TSの父による新しいプロジェクトTypechatはフロントエンドの未来を告げる

みなさんこんにちは、カソンです。過去 2 年間、フロントエンド コミュニティ全体が主に 2 つの理由...

2020年のディープラーニングに必要なGPUは?48Gのビデオメモリが推奨

ご存知のとおり、現在業界で最も強力な (SOTA) ディープラーニング モデルは、膨大な量のビデオ ...

...

ユニバーサルミュージックは、著作権問題でOpenAIの創設者が所有するAI企業Anthropicを訴えた。

Anthropicは2021年10月20日にOpenAIの創設者によって設立され、チャットボットC...