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

ブログ    
ブログ    
ブログ    

推薦する

この方程式はバイナリツリーの森ですか?データから直接未知の支配方程式と物理的メカニズムを発見する

研究者たちは、機械学習の手法を使用して、高次元の非線形データから直接最も価値があり重要な内部法則を自...

ビッグニュース! Googleが突然発表!百度と滴滴出行は混同されている

21 金融ニュースは、日刊金融ニュース (ncjs111)、網易科技、創業報 (ichuangye...

会社はあなたの顔を20万ドルで買いたいそうです!性別や年齢制限なし、ロボットは2023年に実用化される予定

[[437475]]ビッグデータダイジェスト制作著者: カレブ国内ではNFTが年末ボーナスをゲットし...

電気自動車や自動運転の普及にはエネルギー補給技術の限界を乗り越えなければならない

電気による輸送はますます多様化しています。そして、それは地球規模の持続可能な開発の文脈において重要な...

...

...

中国の人工知能特許ランキングで、百度、テンセント、マイクロソフト、インスパーが上位4社にランクイン

12月2日、国家工業情報セキュリティ発展研究センターは「中国人工知能特許技術分析報告書」を発表し、百...

...

人工知能の発展と未来

人工知能(AI)技術の継続的な発展により、さまざまなAI製品が徐々に私たちの生活に入り込んできました...

テンセントゲームズが顔認識の範囲を拡大。未成年者のデータをどう保護するのか?

近年、モバイルインターネットの発展とスマートフォンの普及により、さまざまなモバイルゲームが急速に普及...

「質問の海」戦略を取り除き、モデルに人間のように考えることを学習させる

[[395305]]最近、Ant Security Tianzhu Labのセキュリティ専門家である...

Java プログラミング スキル - データ構造とアルゴリズム「バイナリ ソート ツリー」

[[390181]]基本的な紹介バイナリ ソート (検索) ツリー: バイナリ ソート ツリー内の...

...

...

国内初の大規模模造品対策訴訟:アリババクラウドが偽造同義千聞アプリを提訴、一審で勝訴

1月16日、中国における大型モデルの偽造品撲滅活動で初の成功事例が発表された。アリババクラウドとアリ...