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

ブログ    

推薦する

OpenAIがロボットチームを解散、創設者は「これまでで最高の決断」と語る

OpenAIの共同創設者であるヴォイチェフ・ザレンバ氏はポッドキャストで、OpenAIがロボット工学...

機械学習は数字を数え、マウスをクリックしてモデルをトレーニングし、残りはコンピューターに任せます

[[432947]] JAVA ベースで開発された Weka は、機械学習やデータマイニングに適した...

音声認識が検索ボックスに取って代わり、人工知能が3つの主要な応用分野で主導権を握る

マイクロソフトのレドモンド研究所の副社長であるデュメイス氏は、ディープラーニング技術が2017年にオ...

OpenAIを批判した後、ルカン氏はこう答えた。「意識は単なる幻想だと思う」

ヤン・ルカンは演説中に、フランス革命の有名な絵画「民衆を導く自由の女神」を再生し、「革命は監視されな...

2021年のAIチップの在庫:「2つの壁」を破り、ストレージとコンピューティングを統合することがトレンドに

​​著者: 張傑【51CTO.comオリジナル記事】 AI チップはなぜ必要なのでしょうか?新しいイ...

...

Metaがオープンソース「AIアベンジャーズアライアンス」の結成を主導、AMDと他の同盟国が800億ドルでOpenAI Nvidiaと戦う

今日、MetaとIBMが主導し、50を超えるテクノロジー企業、大学、機関が共同でAIアライアンスを設...

...

シャンダイノベーション研究所とソゴウ研究者:自然言語処理の応用

【TechWeb Report】6月26日、山大創新研究所検索テーマ研究所研究員の賈文傑氏と捜狗自然...

投票の未来: AI、ブロックチェーン、生体認証

投票攻撃は止まらない2016年の米国大統領選挙は紆余曲折を経て、最終的にトランプ氏が米国大統領に選出...

...

AIがIT運用に大きな影響を与える仕組み

AI が IT 運用に直接影響を与えることができる分野を考えるとき、他のアプリケーションよりも際立っ...

これが顔認識と画像認識がますます重要になっている理由です

捜査チームがスケッチアーティストを雇って、目撃者が語った犯人像を描いてもらう犯罪番組を見たことを覚え...

米国は中国のAI企業に対する制裁で目的を果たせなかったのか?

[[278497]]中国の人工知能企業数社は、ある日、自分たちがこのようなユニークな形で世界の注目...

...