機械学習モデルのトレーニングの全プロセス!

機械学習モデルのトレーニングの全プロセス!

週末に家で退屈していたので、GitHub を閲覧していたところ、非常に興味深いオープンソース プロジェクトを見つけました。作者は手描きの絵を使って、機械学習モデルを構築するプロセス全体を説明していました。そのロジックは明確で鮮明です。同時に、著者はいくつかの写真に対しても詳しい説明をしてくれました。勉強した後、多くのことを得たので、翻訳してみんなと一緒に勉強しました。

アドレス: https://github.com/dataprofessor/infographic

全文は次のとおりです。

データサイエンスの学習は退屈だと感じています。データサイエンスの学習を面白く簡単にするにはどうすればよいでしょうか?この目標を念頭に置いて、私は機械学習モデルを構築するために必要なプロセスを iPad に落書きし始めました。数日間の懸命な作業の末、上記のインフォグラフィックが完成し、そのコンテンツは GitHub で公開されました。

1. データセット

データセットは、機械学習モデルの構築に向けた出発点です。簡単に言えば、データセットは基本的に M×N 行列であり、M は列 (特徴) を表し、N は行 (サンプル) を表します。

列は X と Y に分解できます。まず、X は、機能、独立変数、入力変数などのいくつかの類似した用語の同義語です。第二に、Y はクラス ラベル、従属変数、出力変数など、いくつかの用語の同義語でもあります。

図1.データセットの漫画イラスト

教師あり学習(回帰または分類を実行可能)に使用できるデータセットには X と Y の両方が含まれますが、教師なし学習に使用できるデータセットには X のみが含まれることに注意してください。

さらに、Y に定量的な値が含まれている場合、データセット (X と Y で構成) は回帰タスクに使用できますが、Y に定性的な値が含まれている場合、データセット (X と Y で構成) は分類タスクに使用できます。

2. 探索的データ分析(EDA)

データの予備的な理解を得るために、探索的データ分析 (EDA) が実行されます。典型的なデータ サイエンス プロジェクトでは、まず最初に EDA を実行して「データを調べ」、データをより深く理解します。

私がよく使用する 3 つの主要な EDA 手法は次のとおりです。

  • 記述統計: 平均、中央値、最頻値、標準偏差。

  • データの視覚化: ヒートマップ (特徴の内部相関を識別する)、ボックス プロット (グループの違いを視覚化する)、散布図 (特徴間の相関を視覚化する)、主成分分析 (データ セットに提示されたクラスター分布を視覚化する) など。

  • データ整形: ピボット、グループ化、フィルターなど。

図2. NBA選手統計のボックスプロットの例

図3. NBA選手統計のヒートマップの例

図4. NBA選手統計のヒストグラムの例

図5. NBA選手統計の散布図の例

3. データ前処理

データ前処理(データクリーニング、データラングリング、データ処理とも呼ばれる)とは、欠損値、スペルミス、比較可能な値への正規化/標準化、データの変換(対数変換など)などの問題を修正するために、データに対してさまざまなチェックと精査を実行するプロセスを指します。

「ゴミを入れればゴミが出る。」

上記の紹介で述べたように、データの品質は生成されるモデルの品質に大きな影響を与えます。したがって、最高のモデル品質を達成するには、データの前処理段階に多大な労力を費やす必要があります。一般的に、データ前処理はデータ サイエンス プロジェクトに費やされる時間の 80% を占めますが、実際のモデル構築フェーズとその後のモデル分析は残りの 20% しか占めません。

4. データのセグメンテーション

4.1 トレーニングセットとテストセットの分割

機械学習モデルの開発中は、トレーニングされたモデルが新しい未知のデータに対しても適切に機能することが期待されます。新しい、見たことのないデータをシミュレートするために、利用可能なデータに対してデータ分割が実行され、データが 2 つの部分に分割されます (トレーニング テスト分割と呼ばれることもあります)。具体的には、最初の部分はトレーニング セットとして使用されるデータのより大きなサブセット (元のデータの 80% など) であり、2 番目の部分は通常、テスト セットとして使用されるより小さなサブセット (データの残りの 20%) です。このデータ分割は 1 回だけ実行されることに注意してください。

次に、トレーニング セットを使用して予測モデルを構築し、このトレーニング済みモデルをテスト セット (つまり、新しい、未知のデータ) に適用して予測を行います。テスト セットでのモデルのパフォーマンスに基づいて最適なモデルが選択されます。最適なモデルを取得するために、ハイパーパラメータの最適化も実行できます。

図6. トレーニング・テストセットのセグメンテーションの概略図

4.2 トレーニング-検証-テストセットの分割

データを分割するもう 1 つの一般的な方法は、データを 3 つの部分に分割することです。 (1)トレーニングセット、(2)検証セット、(3)テストセット。上記で説明したように、トレーニング セットは予測モデルの構築に使用され、検証セットは予測を行うために評価され、モデル チューニング (ハイパーパラメータの最適化など) が実行され、検証セットの結果に基づいて最もパフォーマンスの高いモデルが選択されます。ご覧のとおり、上でテスト セットに対して行ったのと同様に、ここでは検証セットに対しても同じことを行います。テスト セットはモデルの構築や準備には使用されないことに注意してください。したがって、テスト セットは、実際には新しい未知のデータとして機能します。 Google の機械学習クラッシュコースでは、このトピックについてさらに詳しく説明しています。

図7. トレーニング・検証・テストセットのセグメンテーションの概略図

4.3 クロスバリデーション

既存のデータを最大限に活用するために、通常は N 分割交差検証 (CV) が使用され、データセットが N 分割されます (つまり、通常は 5 分割または 10 分割の CV が使用されます)。このような N 倍 CV では、折り畳みの 1 つがテスト データとして保持され、残りの折り畳みはモデルを構築するためのトレーニング データとして使用されます。

たとえば、5 フォールド CV では、1 つのフォールドが省略されてテスト データとして使用され、残りの 4 つのフォールドがプールされてモデルを構築するためのトレーニング データとして使用されます。次に、トレーニングされたモデルを上記の省略されたフォールド(つまり、テスト データ)に適用します。このプロセスは、すべての折り畳みがテスト データとして確保されるまで繰り返されます。したがって、5 つのモデルを構築します (つまり、5 つのフォールドのそれぞれがテスト セットとして確保されます)。5 つのモデルのそれぞれには、関連するパフォーマンス メトリック (次のセクションで説明します) が含まれます。最後に、メトリック値は 5 つのモデルに基づいて計算された平均パフォーマンスです。

図8. クロスバリデーション図

N がデータ サンプルの数に等しい場合、これを Leave-One-Out クロス検証と呼びます。このタイプの CV では、各データ サンプルがフォールドを表します。たとえば、N が 30 の場合、30 個のフォールド (それぞれに 1 つのサンプル) が存在します。その他の N フォールド CV では、1 つのフォールドがテスト セットとして確保され、残りの 29 のフォールドがモデルの構築に使用されます。次に、確立されたモデルを適用して、予約されたフォールドの予測を行います。前と同様に、このプロセスは 30 回繰り返され、30 個のモデルの平均パフォーマンスが計算され、CV パフォーマンス メトリックとして使用されます。

5. モデル構築

ここからが楽しい部分です。慎重に準備したデータを使用して、ようやくモデルを構築できます。ターゲット変数 (多くの場合、Y 変数と呼ばれます) のデータ タイプ (定性的または定量的) に応じて、分類 (Y が定性的の場合) または回帰 (Y が定量的の場合) モデルを構築します。

5.1 学習アルゴリズム

機械学習アルゴリズムは、大きく分けて次の 3 つのタイプに分類できます。

  • 教師あり学習: 入力 X 変数と出力 Y 変数の間に数学的 (マッピング) 関係を確立する機械学習タスクです。このような X、Y のペアは、入力から出力を予測する方法を学習するためのモデルの構築に使用されるラベル付きデータを構成します。

  • 教師なし学習: 入力 X 変数のみを使用する機械学習タスクです。この X 変数はラベルのないデータであり、学習アルゴリズムはモデリング時にデータの固有の構造を使用します。

  • 強化学習: 次の行動方針を決定する機械学習タスクであり、試行錯誤学習を通じてこれを実行し、報酬を最大化しようとします。

5.2 パラメータの調整

ハイパーパラメータは本質的には機械学習アルゴリズムのパラメータであり、学習プロセスと予測パフォーマンスに直接影響します。すべてのデータセットに普遍的に機能する「万能」のハイパーパラメータ設定は存在しないため、ハイパーパラメータの最適化 (ハイパーパラメータ チューニングまたはモデル チューニングとも呼ばれます) が必要です。

ランダムフォレストを例に挙げてみましょう。 randomForest R パッケージを使用する場合、最適化されることが多い 2 つの一般的なハイパーパラメータには、mtry パラメータと ntree パラメータ (scikit-learn Python ライブラリの RandomForestClassifier() 関数と RandomForestRegressor() 関数の nestimators と maxfeatures に対応) が含まれます。 mtry(maxfeatures) は、各分割で候補変数としてランダムにサンプリングされる変数の数を表し、ntree(nestimators) は成長するツリーの数を表します。

もう一つの一般的な機械学習アルゴリズムはサポートベクターマシンです。最適化する必要があるハイパーパラメータは、ラジアル基底関数 (RBF) カーネルの C パラメータとガンマ パラメータです (つまり、線形カーネルの場合は C パラメータのみ、多項式カーネルの場合は C と指数)。 C パラメータは過剰適合を制限するためのペナルティ項であり、ガンマ パラメータは RBF カーネルの幅を制御します。前述のように、チューニングは通常、ハイパーパラメータの最適な値のセットに到達するために行われますが、C パラメータとガンマ パラメータの適切な開始値を見つけることを目的とした研究もいくつか行われています (Alvarsson ら、2014)。

アドレス: https://pubs.acs.org/doi/10.1021/ci500344v

5.3 特徴選択

名前が示すように、特徴選択とは文字通り、初期の多数の特徴から特徴のサブセットを選択するプロセスです。高精度のモデルを実現することに加え、機械学習モデル構築の最も重要な側面の 1 つは、実用的な洞察を得ることです。この目標を達成するには、多数の特徴から重要な特徴のサブセットを選択できることが重要です。

特徴選択のタスクはそれ自体が一つの研究領域を構成しており、新しいアルゴリズムや方法の設計に多大な努力が注がれてきました。利用可能な多数の特徴選択アルゴリズムのうち、いくつかの古典的な方法は、シミュレーテッドアニーリングと遺伝的アルゴリズムに基づいています。さらに、進化的アルゴリズム(粒子群最適化、蟻コロニー最適化など)や確率的手法(モンテカルロなど)に基づく手法も多数存在します。

私たちの研究グループも、アルドース還元酵素阻害剤の定量的構造活性相関モデリングの研究における特徴選択のためのモンテカルロシミュレーションの使用を検討してきました (Nantasenamat et al.、2014)。

アドレス: https://doi.org/10.1016/j.ejmech.2014.02.043

「汎用オプティマイザーとしての遺伝的アルゴリズム検索空間スプライシング粒子群最適化」という研究では、遺伝的アルゴリズムと粒子群最適化という 2 つの一般的な進化アルゴリズムを組み合わせた新しい特徴選択方法も設計しました (Li et al.、2013)。

アドレス: https://doi.org/10.1016/j.chemolab.2013.08.009

図9. 遺伝的アルゴリズム探索空間スプライシング粒子群最適化(GA-SSS-PSO)法の原理の概略図。シュウェフェル関数を使用して2次元で図示。

「元の探索空間 (a) x∈[-500,0] は、各次元で 2 の固定間隔でサブスペースに連結されます (1 つの次元は、図の 1 つの水平軸に相当します)。これにより、4 つのサブスペース (be) が生成されます。各次元の x の範囲は、元の空間の半分です。GA の各文字列は、サブスペースのインデックスをエンコードします。次に、GA はサブスペース (e) をヒューリスティックに選択し、そこから PSO を開始します (粒子は赤い点で表示されます)。PSO はサブスペースのグローバル最小値を検索し、最良の粒子適合度が、サブスペース インデックスをエンコードする GA 文字列の適合度として取得されます。最後に、GA は進化し、探索する新しいサブスペースを選択します。満足のいくエラー レベルに達するまで、プロセス全体が繰り返されます。」

6. 機械学習タスク

教師あり学習では、分類と回帰という 2 つの一般的な機械学習タスクがあります。

6.1 分類

トレーニングされた分類モデルは、一連の変数 (定量的または定性的) を入力として受け取り、出力クラス ラベル (定性的) を予測します。次の図は、異なる色とラベルで表される 3 つのクラスを示しています。それぞれの小さな色付きの球はデータ サンプルを表します。

図10. 多クラス分類問題の模式図

3 種類のデータ サンプルを 2 次元で表示します。上の図は、データ サンプルの仮定された分布を示しています。この視覚化は、PCA 分析を実行して最初の 2 つの主成分 (PC) を表示することによって作成できます。または、2 つの変数の単純な散布図視覚化を選択することもできます。

6.1.1 サンプルデータセット

ペンギン データセット (頻繁に使用される Iris データセットの代替として最近提案された) を例にとると、ペンギンを一意に表す定量的特徴 (くちばしの長さ、くちばしの深さ、ひれの長さ、および体重) と定性的特徴 (性別と島) を入力として取り、3 つの種クラス ラベル (アデリーペンギン、ヒゲペンギン、またはジェンツーペンギン) のいずれかに割り当てます。このデータセットは 344 行と 8 列で構成されています。以前の分析では、データセットには 333 件の完全なケースが含まれており、11 件の不完全なケースに 19 件の欠損値が含まれていることが示されました。

図 11. 3 種のペンギン (ヒゲペンギン、ジェンツーペンギン、アデリーペンギン) のクラス ラベル

6.1.2 パフォーマンス指標

モデルのパフォーマンスが優れているか劣っているかはどうすればわかりますか?答えは、パフォーマンス指標を使用することです。分類パフォーマンスを評価するための一般的な指標には、精度 (Ac)、感度 (Sn)、特異度 (Sp)、Matthew の相関係数 (MCC) などがあります。

ここで、TP、TN、FP、FN はそれぞれ真陽性、真陰性、偽陽性、偽陰性のインスタンスを表します。 MCC の範囲は -1 から 1 までであり、MCC が -1 の場合は最悪の予測を表し、値 1 の場合は最良の予測シナリオを表すことに注意してください。さらに、MCC が 0 の場合、予測はランダムであることを示します。

6.2 回帰

つまり、トレーニングされた回帰モデルは、次の単純な式で要約できます: Y = f(X)。ここで、Y は量子化された出力変数に対応し、X は入力変数を参照し、f は出力値を入力特徴(トレーニング済みモデルから取得)として計算するマッピング関数を参照します。上記の回帰例の式の本質は、X がわかっていれば、Y を導き出せるということです。 Y が計算されると (「予測」とも言う)、それを視覚化する一般的な方法は、下の図に示すように、実際の値と予測値の単純な散布図を作成することです。

図12. 実際の値と予測値の単純な散布図

6.2.1 サンプルデータセット

ボストン住宅データセットは、データ サイエンスのチュートリアルでよく使用される人気のサンプル データセットです。データセットは 506 行と 14 列で構成されています。簡潔にするために、ヘッダー (変数名を表示) とデータセットの最初の 4 行を以下に示します。

14 列のうち、最初の 13 個の変数は入力変数として使用され、平均住宅価格 (medv) は出力変数として使用されます。 14 個の変数すべてに定量的な値が含まれているため、回帰分析に適していることがわかります。また、Python で線形回帰モデルを構築する方法を段階的に紹介する YouTube ビデオも作成しました。

アドレス: https://youtu.be/R15LjD8aCzc

ビデオでは、まずボストンの住宅データセットを読み取り、データを X 行列と Y 行列に分割し、データを 80/20 に分割し、80% のサブセットを使用して線形回帰モデルを構築し、トレーニング済みのモデルを適用して 20% のサブセットで予測を行う方法を説明しました。最後に、実際の medv 値と予測された medv 値のパフォーマンス メトリックと散布図が表示されます。

図13. テストセットの実際のmedv値と予測されたmedv値(20%サブセット)の散布図。

6.2.2 パフォーマンス指標

回帰モデルのパフォーマンスは、適合モデルが入力データ値をどの程度正確に予測できるかを評価するために評価されます。

回帰モデルのパフォーマンスを評価するための一般的な指標は、決定係数 (R²) です。

式からわかるように、R² は基本的に残差二乗和 (SSres) と総二乗和 (SStot) の比から 1 を引いた値です。簡単に言えば、説明された分散の相対的な尺度を表していると言えます。たとえば、R²=0.6 の場合、モデルは分散の 60% を説明でき (つまり、データの 60% が回帰モデルに適合する)、説明できない分散が残りの 40% を占めることを意味します。

さらに、平均二乗誤差 (MSE) と平均二乗根誤差 (RMSE) も、残差または予測誤差を測定するためによく使用される指標です。

上記の式からわかるように、MSE は名前の通り二乗誤差の平均をとるので簡単に計算できます。さらに、MSE の単純な平方根は RMSE をもたらします。

7. 分類タスクの直感的な説明

それでは、分類モデルのプロセス全体を見てみましょう。ペンギンのデータセットを例にとると、ペンギンは 4 つの定量的特徴と 2 つの定性的な特徴で記述でき、分類モデルのトレーニングの入力として使用されていることがわかります。モデルをトレーニングする過程では、以下の問題を考慮する必要があります。

  • どのような機械学習アルゴリズムを使用すればよいですか?

  • ハイパーパラメータの最適化のためにどの検索空間を探索する必要がありますか?

  • どのデータ セグメンテーション スキームを使用すればよいですか? 80/20 分割か 60/20/20 分割か?それともCVの10倍?

モデルがトレーニングされると、結果のモデルを使用してクラス ラベル (この場合はペンギンの種) に関する予測を行うことができます。クラス ラベルは、アデリーペンギン、ヒゲペンギン、ジェンツーペンギンの 3 つのペンギンの種のいずれかになります。

分類モデリングだけでなく、主成分分析 (PCA) を実行することもできます。主成分分析では、X (独立) 変数のみを使用してデータの基礎構造を識別し、固有のデータ クラスターを視覚化することができます (以下に示すのは、3 種類のペンギンに基づいてクラスターが色分けされた仮想プロットです)。

図14. 分類モデルを構築するプロセスの概略図

<<:  データセットはオンデマンドで簡単に検索できます。このツールには、無料で利用できる約 2,000 の画像データセットがあります。

>>:  IoT生体認証は職場でより大きな役割を果たす

ブログ    
ブログ    

推薦する

世界がH100を奪い合っている! Nvidia が GPU の優位性を達成、主任科学者が成功の 4 つの要素を明らかに

現在、NVIDIA は GPU の優位性の座にしっかりと座っています。 ChatGPT の誕生により...

顔認識がコミュニティに登場: 「顔スキャン」の背後にあるプライバシーとセキュリティの問題

李静さん(仮名)は、団地内の自分のアパートのドアを開けることができなくなった。ドアには「顔認識」装置...

Kuaishou Agents システム、モデル、データはすべてオープンソースです。

7BサイズのモデルはAIエージェントも処理できますか?最近、Kuaishouは「KwaiAgent...

私の目が支配者です! 80億のパラメータを備えたOtterHDは、清明節のラクダを数えるのに役立ちます。南洋理工大学の中国チームによって作成されました

「清明節の河沿い」には何頭のラクダがいるか知りたいですか? UHD 入力をサポートするこのマルチモー...

ディープラーニングの父が懸念:データ漏洩、AI兵器、批判の欠如

[[254553]]マーティン・フォードは2015年に出版した『ロボットの台頭』で大きな話題を呼びま...

持続可能なテクノロジー: 2024 年のテクノロジートレンドにおけるグリーンイノベーション

急速に進化するテクノロジーの世界では、イノベーションこそが私たちを持続可能な未来へと導く原動力となり...

OpenAI セキュリティシステムディレクターが長文記事を執筆: 大規模モデルに対する敵対的攻撃と防御

ChatGPTのリリースにより、大規模な言語モデルのアプリケーションが加速し、大規模に展開されていま...

Iconfinder が著作権侵害を排除する方法、ハッシュ アルゴリズムが画像の複製を検出

Iconfinder は、デザイナー、開発者、その他のクリエイティブ ワーカー向けに優れたアイコンを...

人工知能がサイバーセキュリティに及ぼす3つの影響

人工知能 (AI) と機械学習 (ML) は、人々の働き方、話し方、ビジネスのやり方を根本的に変えて...

...

...

フィンテック2022年の技術トレンド:プライバシーコンピューティングが焦点、仮想人間が金融マネージャーを再構築

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

オーストラリアの裁判所が判決:人工知能システムDABUSが特許発明者として認められる!

[[416531]]この記事はLeiphone.comから転載したものです。転載する場合は、Lei...

スタートアップがAIを活用してデータ駆動型マーケティング戦略を開発する方法

データ駆動型マーケティング戦略は組織の成長と発展に重要な役割を果たしており、組織はデータ駆動型マーケ...