機械学習開発ガイド(基礎編)

機械学習開発ガイド(基礎編)

【51CTO.comオリジナル記事】

序文

機械学習は人工知能の分野で重要な部分を占めています。簡単に言えば、コンピューター プログラムがデータを学習し、それに応じた推奨事項や決定を生成するプロセスです。

機械学習の典型的な定義は次のとおりです。

コンピュータプログラムは、あるタスククラスTとパフォーマンス指標Pに関して経験Eから学習すると言われています。 P によって測定される T のタスクのパフォーマンスが、経験 E によって向上するかどうか。

この記事では、画像とテキストを使用して、機械学習の概念的原理と開発プロセスを詳しく理解できるようにします。この記事は次のように構成されています。

  • 序文

  • 1. 機械学習入門

  • 2. 機械学習の開発プロセス

1. 機械学習入門

機械学習とは、コンピュータがデータ分布に基づいて確率的な統計モデルを構築し、そのモデルを使用してデータを分析および予測する方法です。データ分布を学習する方法の違いにより、主に教師あり学習と教師なし学習に分けられます

1. 教師あり学習:

これは、選択されたモデルと決定された学習戦略を通じて、ラベル付けされたデータ (x は可変特徴空間、y はラベル) から最適なモデルを学習し、適切なアルゴリズムを使用してモデルを計算し、予測に使用するプロセスです。

モデル予測結果Yの値が有限か無限大かによって、分類モデルか回帰モデルに分けることができます。

2. 教師なし学習:

選択されたモデルと決定された学習戦略を通じて、ラベルなしデータ(x は可変特徴空間)から最適なモデルを学習し、適切なアルゴリズムを使用して計算し、モデルを使用してデータの統計法則や内部構造を発見することです。

応用シナリオに応じて、クラスタリング、次元削減、関連分析などのモデルに分けられます。

2. 機械学習の開発プロセス

1. ビジネス上の問題を特定する

ビジネス上の問題を明確にすることは、機械学習の前提条件です。ここでは、実際のビジネス上の問題に対するソリューションを抽象化する必要があります。つまり、どのようなデータを学習する必要があるか (入力)、そして、どのようなモデルを意思決定に必要とするか (出力) です。

(例えば、既存のSinaニュースとそのカテゴリラベルデータを学習して分類モデルを取得し、そのモデルを使用して毎日の新着ニュースのカテゴリ予測を行い、各ニュースチャンネルに分類します。)

2. データの選択:データの収集と入力

データによって機械学習の結果の上限が決まり、アルゴリズムはこの上限にできるだけ近づくだけです。 つまり、データの品質がモデルの最終的な効果を決定するということです。実際の産業アプリケーションでは、アルゴリズムが占める割合は通常非常に小さく、エンジニアの仕事のほとんどは、データの検索、データの精製、データの分析です。データの選択では次の点に重点を置く必要があります。

① データは代表的なものでなければなりません。そうでないと、モデルが過剰適合してしまい、トレーニング データ以外の新しいデータを認識できなくなります。

②教師あり学習業務が時間に関係する場合、データの時間枠が明確である必要があり、そうでないと、データ漏洩、つまり因果関係が逆転した特徴の存在と利用につながる可能性があります。 (例えば、明日雨が降るかどうかを予測するが、トレーニングデータには明日または今週の気温と湿度の条件が紹介されている)

3. 特徴エンジニアリング: データの前処理と特徴抽出

特徴エンジニアリングとは、生データをモデルにとって有用な特徴に変換することです。技術的な手段には、特徴表現、欠損値/外れ値の処理、データの離散化、データの標準化、特徴抽出などがあります。

  • 特徴表現 データはコンピュータが処理できる数値形式に変換する必要があります。 データが画像データの場合は、RGB 3 次元マトリックス表現に変換する必要があります。テキスト データは、Onehot エンコーディング、word2vetor 分散表現、bert 動的エンコーディングなどの多次元配列で表現できます。

  • 外れ値の処理

    収集されたデータには、人為的または自然的要因により外れ値 (ノイズ) が含まれる可能性があり、モデルの学習を妨げる可能性があります。

    通常、人為的に発生した外れ値を処理し、ビジネス上の判断と技術的手段(Python、正規表現マッチング、Pandasデータ処理、matplotlib可視化などのデータ分析および処理技術)を通じて異常な情報をフィルタリングし、ビジネス状況に基づいて値を削除または置き換える必要があります。

  • 欠損値の取り扱い

    不足データについては、業務に応じて値を入力し、加工したり削除したりしないでください。 欠落率と処理方法に応じて、次の状況に分けられます。

    ①欠損率が高く、業務に応じて特徴変数を直接削除できる。さらに、フィールドの欠落ステータスを記録するためのブール変数機能を追加することもできます。欠落は 1 として記録され、欠落していない場合は 0 として記録されます。

    ②欠損率が低い。Pandasのfillna法やランダムフォレストモデルのトレーニングによる欠損値の補完予測など、いくつかの欠損値補完手法を業務と組み合わせて使用​​することができます。

    ③ 処理なし: ランダムフォレスト、xgboost、lightgbm などの一部のモデルでは欠損データを処理できるため、欠損データに対して処理を行う必要はありません。

  • データの離散化

    データの離散化により、アルゴリズムの時間と空間のオーバーヘッドが削減され (アルゴリズムによって状況は異なります)、機能のビジネス上の解釈が容易になります。

    離散化とは、連続データを離散的な間隔に分割することです。分割の原則には、等距離、等頻度、その他の方法が含まれます。

  • データの標準化

    データのさまざまな特性変数の次元は大きく異なります。データの標準化により、さまざまなコンポーネントの次元の違いによる影響を排除し、モデルの収束効率を高めることができます。一般的に使用される方法は次のとおりです。

    ① 最小最大正規化:

    値の範囲は (0,1) にスケーリングされますが、データの分布は変更されません。 max はサンプルの最大値、min はサンプルの最小値です。

    ② Zスコア標準化:

    数値範囲は 0 付近にスケーリングされ、処理されたデータは標準正規分布に準拠します。 u は平均、σ は標準偏差です。

  • 特徴抽出

    特徴抽出段階では、ビジネス手段と技術手段を組み合わせて特徴を生成し (特徴導出)、最終的にモデルに入力される特徴変数を確認します (特徴選択/特徴次元削減)。これはモデルの結果に決定的な影響を与えます。

    特徴導出: 既存の基本特徴ではサンプル情報の記述が限られている場合があり、新しい意味を持つ特徴を生成することで補完することができます。特徴導出とは、既存の基本特徴の意味に対して何らかの処理(組み合わせ・変換など)を行うことです。

    ① 事業の理解に基づいて派生的な処理を行います。例えば、12か月分の賃金を通じて、平均月額給与、給与の変動、賃金の支払いの有無などを処理できます。

    ② 機能派生ツールの使用:機能ツールとその他の技術。

    特徴選択: 重要な特徴を選択し、重要でない特徴を破棄します。 特徴選択方法は、一般的に次の 3 つのカテゴリに分類されます。

① フィルタリング方法:各特徴をその相違または相関指標に従ってスコア化し、分散検証、相関係数、カイ二乗検定、情報ゲインなどを選択します。

②パッケージング方法:毎回いくつかの特徴量を選択するか、いくつかの特徴量を除外し、モデル予測効果スコアに基づいて特徴量を選択します。

③埋め込み法:特定のモデルをトレーニングに使用して各特徴の重み係数を取得し、XGBOOST特徴重要度出力など、重み係数が大きいものから小さいものまで順に特徴を選択します。

特徴次元削減: 特徴選択後の特徴数がまだ多すぎる場合、データサンプルがまばらになったり、距離計算が困難になったりするなどの問題 (「次元の呪い」と呼ばれる) が発生することがよくありますが、これは特徴次元削減によって解決できます。 一般的に使用される次元削減法には、主成分分析(PCA)、 線形判別分析(LDA)など

4. モデルのトレーニング

モデルトレーニングは、モデルが学習するデータの分布を選択するプロセスです。このプロセスでは、結果を改善するために、トレーニング結果に基づいてアルゴリズムの (ハイパー) パラメータを調整する必要もあります。

  • データセットのパーティション分割

    モデルをトレーニングする前に、データ セットは通常、トレーニング セットとテスト セットに分割され、トレーニング セットはさらにトレーニング セットと検証セットに分割されて、モデルの一般化能力を評価することができます。

    ① トレーニングセット:学習アルゴリズムを実行するために使用されます。

    ②開発セットは、パラメータの調整、機能の選択、アルゴリズムのその他の最適化を実行するために使用されます。一般的に使用される検証方法には、クロス検証、Leave-One-Out 法などがあります。

    ③ テストセットはアルゴリズムのパフォーマンスを評価するために使用されますが、学習アルゴリズムやパラメータはそれに応じて変更されません。

  • モデルの選択

    一般的な機械学習アルゴリズムは次のとおりです。

モデルの選択は、データの状況と予測の目標によって異なります。複数のモデルをトレーニングし、実際の結果に基づいてパフォーマンスの優れたモデルまたはモデル融合を選択できます。 

  • モデルトレーニング

    トレーニング プロセスは、データ セット、モデル、およびトレーニング プロセスの詳細に基づいた経験的なプロセスであるパラメータを調整することで最適化できます。ハイパーパラメータの最適化には、アルゴリズムの原理に関する理解と経験が必要です。また、グリッド検索、ベイズ最適化などの自動パラメータ調整技術もあります。

5. モデル評価

モデル学習の目的は、学習したモデルが新しいデータに対して優れた予測能力(一般化能力)を持つようにすることです。

モデル評価基準: モデルは、与えられた損失関数のモデルトレーニング誤差とテスト誤差に基づいて評価されます。実際には、モデルの一般化能力は通常、テスト誤差によって評価されます。

  • 評価指標

    ①分類モデルを評価する: 一般的に使用される評価基準には、精度 P、再現率 R、調和平均 F1 スコアなどがあり、その値は混同行列内の対応する統計数から計算されます。

    精度とは、分類器によって正しく分類された陽性サンプル数 (TP) と、分類器によって予測されたすべての陽性サンプル数 (TP+FP) の比率を指します。

    リコール率とは、分類器によって正しく分類された陽性サンプルの数 (TP) と陽性サンプルの総数 (TP+FN) の比率を指します。

    F1スコアは、精度Pと再現率Rの調和平均です。

    ② 回帰モデルを評価する: よく使われる評価指標としては、RMSE(二乗平均平方根誤差)などがあります。フィードバックは、予測値と実際の値の適合度です。

    ③ クラスタリングモデルを評価する:方法は2つあります。1つは、クラスタリング結果を「外部インデックス」と呼ばれる「参照モデル」(ランドインデックス、FMインデックスなど)の結果と比較することです。 もう 1 つのタイプは、コンパクトさ、分離性などの「内部インデックス」と呼ばれる参照モデルを使用せずにクラスタリング結果を直接調べるものです。

  • モデルの評価

    トレーニング セットとテスト セットのパフォーマンスに応じて、理由を分析し、モデルを最適化します。一般的な方法は次のとおりです。

6. 意思決定

機械学習の最終的な目標は意思決定であり、モデルの予測情報を分析・解釈し、実際の作業領域に適用することです。

エンジニアリングは結果指向であることに留意する必要があります。オンラインで実行されるモデルの影響は、モデルの成功または失敗を直接決定します。これには、モデルの精度、エラーなどだけでなく、実行速度(時間計算量)、リソース消費(空間計算量)、および安定性の総合的な考慮も含まれます。

[[280630]]

参考文献

データマイニングのプログラマー向けガイド

機械学習 - 周志華

統計的学習法 - 李航

Google 機械学習

著者:

Dabai 氏はアルゴリズム開発において長年の経験があり、自然言語処理、銀行および金融リスク管理、ナレッジグラフなどの分野に精通しています。

[51CTO オリジナル記事、パートナーサイトに転載する場合は、元の著者とソースを 51CTO.com として明記してください]

<<:  人工知能は製品のサービスとサポートの方法を変える

>>:  ナノロボットは本当に伝説通り魔法の力を持つのでしょうか?

ブログ    

推薦する

...

年末コレクション!アンドリュー・ンが2020年に最も注目されたAIイベントをレビュー

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

500以上の研究と50以上のモデルを網羅したコードビッグモデルレビューがここにあります

BERT や GPT などの事前トレーニング済みのトランスフォーマーの登場により、言語モデリングは近...

低速自動運転と高速自動運転に関する議論

前回の記事「自動運転車に「道路を認識」させる方法」では、主に自動運転車における高精度地図の重要性につ...

...

エッジ AI とエッジ コンピューティングとは何ですか?

[51CTO.com クイック翻訳] エッジ AI は、人工知能の分野で注目を集めている新しい分野...

ディープラーニングの父ヒントン氏が、人工知能を一新するカプセルネットワークの最新動向を発表

[[210898]]なぜ人々が人工知能にこれほど魅了されるのか分からないなら、69歳のGoogle研...

人工知能と機械学習の違いは何ですか?

[[197626]]人工知能は新しい用語ではなく、その開発の歴史は数十年にわたります。それは 19...

RL エージェントはオンラインでしかトレーニングできないと誰が言ったのでしょうか? Google がオフライン強化学習の新しいパラダイムを発表

分布の不一致を避けるために、強化学習のトレーニングはオンラインで環境と対話する必要がありますか? G...

...

大規模モデルの推論速度が 3.6 倍に向上しました。「Medusa」の論文はこちらです。Jia Yangqing: 最もエレガントな加速推論ソリューションの 1 つ

ご存知のとおり、大規模言語モデル (LLM) の動作ロジックでは、サイズが大きくなるにつれて言語生成...

...

WindowsとOfficeは使いやすく、大型モデルのインテリジェントエージェントはコンピュータを操作するのにとてもクールです

AI アシスタントの将来について語るとき、アイアンマン シリーズに登場する魅力的な AI アシスタン...

...