フロントエンドでも機械学習を理解する必要がある

フロントエンドでも機械学習を理解する必要がある

[[374893]]

背景:

近年、機械学習の人気は高まり続けており、フロントエンド分野も継続的に展開されています。主要な研究方向の観点から見ると、フロントエンドインテリジェンスとエンドインテリジェンスがあり、フレームワークの観点から見ると、TensorFlow.js、Ml.js、Brain.jsなどのjsバージョンのフレームワークも多数あります。現時点ではフロントエンドアプリケーションは多くありませんが、トレンドを把握することは未来を把握することを意味します。この記事では、機械学習の内容を 2 つの部分に分けて説明します。最初の部分では、主に基本的な知識と特徴エンジニアリングを紹介します。次の部分では、機械学習における教師あり学習アルゴリズムと教師なし学習アルゴリズムを主に使用します。

1. 基本

1.1 定義

機械学習とは、データを自動的に分析してモデルを取得し、そのモデルを使用して未知のデータについて予測を行うプロセスです。

1.2 アルゴリズムの分類

機械学習の前提はデータです。データの中にターゲットがあるかどうかによって、教師あり学習アルゴリズムと教師なし学習アルゴリズムに分けられます。

  • 教師あり学習アルゴリズム - 入力データは入力特徴値とターゲット値で構成されます。
  • 教師なし学習アルゴリズム - 入力データは入力特徴値とターゲット値で構成される

1.3 適切なアルゴリズムを選択する方法

機械学習には非常に多くのアルゴリズムがあります。問題に直面したときに適切なアルゴリズムを選択する方法は避けられない問題となっています。以下は、適切なアルゴリズムを選択するための 2 つの黄金律です。

1. 機械学習アルゴリズムを使用する目的を決定します。

  • 唯一の要件は、データを個別のグループに分割することです - クラスタリングアルゴリズム
  • データを個別のグループに分割することに加えて、各グループに対するデータの類似性を推定することも必要です - 密度推定アルゴリズム
  • 対象変数は離散的 - 分類アルゴリズム
  • 対象変数は連続的である - 回帰アルゴリズム
  • ターゲット変数の値を予測したい場合 - 教師あり学習アルゴリズム
  • 目標変数値がない場合 - 教師なし学習

2. どのようなデータを分析または収集する必要があるか、またそのデータの特性を理解する

  • 固有値は離散変数ですか、それとも連続変数ですか?
  • 特徴値に欠損値はありますか?
  • 欠損値が発生する原因は何ですか?
  • データに外れ値はありますか?
  • 機能が発生する頻度

1.4 全体的なプロセス

内容がどんなに複雑であっても、私たちのような初心者が使えるように先人たちがまとめた方法論は必ず存在します。以下では機械学習の一般的なプロセスを説明します。

データを取得

データの取得は、公開データ ソース、データ ソースを取得するためのクローラー、ログ、商用データなどを使用するなど、機械学習の最初のステップです。

データ処理

取得されたデータは必ずしも使用要件を満たしていない可能性があるため、トレーニング データの量を減らし、アルゴリズムのトレーニング時間を短縮するには、データのクリーニング、データの入力、およびデータ形式の変換が必要です。

機能エンジニアリング

特徴エンジニアリングとは、専門的な背景知識と技術を使用してデータを処理し、機械学習アルゴリズムで特徴がより良い役割を果たせるようにするプロセスです。機械学習の効果に直接影響し、主に特徴抽出、特徴前処理、特徴次元削減が含まれます。

アルゴリズムのトレーニング

処理されたデータはトレーニングのために適切なアルゴリズムに入力されます。

モデル評価

テスト セットを使用してモデルのパフォーマンスを評価します。分類モデルでよく使用されるモデル パフォーマンス指標には、エラー率、適合率、リコール率、F1 指数、ROC など、多数あります。

応用

機械学習アルゴリズムをアプリケーションに変換して実際のタスクを実行し、アルゴリズムが実際の作業で適切に使用できるかどうかを検証します。

2. 特徴エンジニアリング

業界では「データによって機械学習の上限が決まり、アルゴリズムはこの上限にできるだけ近づくだけである」という格言があります。ここで言うデータとは、特徴エンジニアリングによって処理されたデータのことです。特徴エンジニアリングとは、専門的な背景知識と技術を使用してデータを処理し、機械学習アルゴリズムで特徴がより優れた役割を果たせるようにするプロセスです。これは、機械学習における特徴エンジニアリングの重要性を示しています。特徴エンジニアリングは、主に特徴抽出、特徴前処理、特徴次元削減の 3 つのステップに分かれています。

注: 機能エンジニアリングは非常に奥深いテーマなので、ここでは詳しく説明しません。

2.1 特徴抽出

特徴抽出とは、あらゆるデータ(テキストや画像など)を機械学習に使用できるデジタル特徴に変換することを指します。一般的に使用される特徴抽出には、辞書特徴抽出、テキスト特徴抽出、画像特徴抽出などがあります。

2.2 特徴の前処理

特徴抽出により未処理の特徴が得られる可能性がありますが、これには次のような問題があります。

異なる次元: 特徴には次元があり、特徴の仕様が異なっている可能性があります。これにより、ターゲットの結果に簡単に影響 (支配) が及び、一部のアルゴリズムが他の特徴を学習できなくなる可能性があります。無次元処理が必要です。

情報の冗長性: 一部の定量的特徴では、含まれる有効な情報は区間分割であり、2 値化が必要です。

定性的な特徴は直接使用できません。一部の機械学習アルゴリズムとモデルは、入力として定量的な特徴のみを受け入れるため、定性的な特徴を定量的な特徴に変換する必要があります。これは、ダミーコーディングによって実現できます。

2.2.1 無次元

無次元変換は、異なる仕様のデータを同じ規則に変換します。一般的な方法には、正規化と標準化があります。

1. 正規化

  • 意味

結果が[0,1]にマッピングされるように、元のデータに対して線形変換を実行します。

  • 計算式

  • 特徴

最大値と最小値は異常点の影響を受けやすく、安定性に欠けます。

2. 標準化

  • 意味

元のデータを平均0、標準偏差1の範囲に変換します。

  • 計算式

  • 特徴

外れ値が少ないほど結果への影響は少なくなり、安定性が向上します。

2.2.2 定量的特徴二値化

適切なしきい値を選択することで定量的特徴を二値化することができ、しきい値より大きい値は 1 に設定され、しきい値以下の値は 0 に設定されます。

2.2.3 定性的特徴ダミーコーディング

ほとんどのアルゴリズムは、定性的な特徴のモデルをトレーニングできません。ダミーコーディング (ワンホット) を使用すると、定性的な特徴を定量的な特徴に変換してモデルをトレーニングできます。基本的な考え方は、離散的な特徴の各値が状態と見なされることです。特徴に N 個の値がある場合、状態は N 個あります。たとえば、女の子の髪は、編み込みの数に応じて、編み込みなし、編み込み 1 つ、編み込み 2 つ、編み込み複数に分けることができます。この特徴には 4 つの状態があり、ダミーコーディングを使用して次のように表現できます。

  • 編み込みなし ====》[1, 0, 0, 0]
  • 三つ編み ====》[0, 1, 0, 0]
  • 二つの三つ編み ====》[0, 0, 1, 0]
  • 複数の編み込み ====》[0, 0, 0, 1]

2.3 特徴次元削減

機械学習で高次元データを処理すると、システムリソースが大幅に消費され、次元障害が発生することもあります。特定の限られた条件下では、次元削減によってランダム変数の数を減らすことができ、低次元ベクトルを使用して元の高次元の特徴を表すことができます。一般的に使用される次元削減方法には、特徴選択、PCA、LDA などがあります。

2.3.1 特徴選択

データの前処理後、トレーニングのために意味のある特徴を選択する必要があります。特徴の選択では、次の 2 つの側面を考慮する必要があります。

特徴が発散するかどうか: 特徴が発散しない場合 (たとえば、分散が 0 に近い場合)、その特徴には違いがないとみなされます。

特徴とターゲット間の相関: ターゲットとの相関が高い特徴が優先されます。

一般的に使用される特徴選択方法は、フィルター、ラッパー、埋め込みです。

2.3.1.1 フィルター

まず特徴選択を実行し、次に学習器をトレーニングします。特徴選択プロセスは学習器とは関係ありません。主な考え方は、各次元の特徴に重みを割り当て、重みが特徴の重要性を表し、次に特徴を選択するために選択されるしきい値またはしきい値の数を設定することです。一般的に使用される方法には、分散選択法(低分散特徴フィルタリング)と相関係数法があります。

1. 低分散特徴フィルタリング

分散とは、各変数値とその平均値の間の偏差の二乗の平均を指します。これは、数値データの分散度を測定するための重要な方法です。分散が大きいほど、データの分散度は大きくなり、逆もまた同様です。データ内の固有値の場合、分散が小さいということは、特徴のほとんどのサンプルの値が比較的似ていることを意味し、分散が大きいということは、特徴の多くのサンプルの値が異なることを意味します。低分散特徴フィルタリングはこの考えに基づいており、分散しきい値を設定して、しきい値よりも小さい特徴を削除します。差異の計算式は次のとおりです。

2. 相関係数法

ピアソン相関係数 (r) は、2 つの変数間の共分散と標準偏差の商として定義されます。これは、変数間の相関の近さを反映する統計指標です。その値 r の範囲は [-1, 1] で、次の意味を持ちます。

  • r > 0 の場合、2 つの変数は正の相関関係にあることを意味します。
  • r < 0 の場合、2 つの変数は負の相関関係にあります。
  • |r|=1 の場合、2 つの変数は完全に相関していることを意味します。
  • r=0 の場合、2 つの変数の間に相関関係がないことを意味します。
  • 0<|r|<1 の場合、2 つの変数の間にある程度の相関関係があることを意味します。 |r| が 1 に近いほど、2 つの変数間の線形関係は近くなります。|r| が 0 に近いほど、2 つの変数間の線形相関は弱くなります。

2.3.1.2 ラッパー

使用する分類器は特徴選択の評価関数として使用され、特定の分類器に最適な特徴サブセットが選択されます。主な考え方は、サブセットの選択を検索および最適化の問題と見なし、さまざまな組み合わせを生成し、その組み合わせを評価してから、他の組み合わせと比較することです。よく使われる方法は再帰的な特徴除去です。

  • 再帰的特徴除去の主な考え方は、モデル(SVM や回帰モデルなど)を繰り返し構築し、最良(または最悪)の特徴(係数に基づいて選択可能)を選択し、選択した特徴を選択して、残りの特徴に対してすべての特徴が走査されるまでこのプロセスを繰り返すことです。このプロセスで機能が削除される順序が機能ランキングです。したがって、これは最適な特徴サブセットを見つけるための貪欲アルゴリズムです。

2.3.1.3 埋め込み

特徴選択をモデルトレーニングに埋め込みます。主なアイデアは、特定の機械学習アルゴリズムとモデルを使用してトレーニングすることで各特徴の重み係数を取得し、その係数に応じて大きい特徴から小さい特徴まで選択することです。一般的に使用される方法には、ペナルティ項 (L1、L2) に基づく特徴選択方法、決定木 (情報エントロピー、情報ゲイン) の特徴選択方法などがあります。

注: この方法はアルゴリズムと深く関係しているため、アルゴリズムが実装されたときに説明されます。

2.3.2 PCA(主成分分析)

主成分分析 (PCA) は、データ セットを分析して簡素化する手法です。主成分分析は、データ セットの分散に最も寄与する特徴を保持しながら、データ セットの次元を削減するためによく使用されます (データ内の主成分を見つけ、これらの主成分を使用して元のデータの特徴を明らかにすることで、次元削減の目的を達成することを目的としています)。これは、低次の主成分を保持し、高次の主成分を無視することによって行われます。

1. 利点と欠点

1. 利点:

  • データの複雑さを軽減し、最も重要な特徴を特定する
  • 情報量を測定するには分散のみが必要であり、データセット外の要因の影響を受けない。
  • 主成分は直交しており、元のデータ成分間の相互影響を排除します。
  • 計算方法は簡単で、主な演算式は固有値分解であり、実装が容易である。

2. デメリット:

有用な情報が失われる可能性がある(データラベルが考慮されていないため、異なるカテゴリのデータが混在しやすく、区別が困難になる)

  • 2. 適用可能なデータタイプ - 数値データ

2.3.3 LDA(線形判別分析)

LDA は、データセット内の各サンプルにカテゴリ出力がある、教師あり学習の次元削減手法です。 PCA はこれとは異なります。PCA は、サンプル カテゴリの出力を考慮しない、教師なしの次元削減手法です。 LDA の考え方は、「クラス間の距離を最大化し、クラス内の距離を最小化する」ことです (データを低次元に投影し、投影後に各カテゴリのデータの投影ポイントが可能な限り近くなり、異なるカテゴリのデータのカテゴリ中心間の距離が可能な限り大きくなることを期待します)

1. 利点:

  • 次元削減プロセスでは、カテゴリに関する事前知識を活用できる。
  • サンプル分類情報が分散ではなく平均に依存する場合、LDA は PCA などのアルゴリズムよりも優れています。

2. デメリット:

  • LDAは非ガウス分布(非正規分布)サンプルの次元削減には適していません。
  • LDA次元削減後、kをカテゴリの数として[1, 2, ..., k-1]次元に削減できる。
  • サンプル分類情報が平均ではなく分散に依存する場合、LDA は次元削減ではうまく機能しません。
  • LDAはデータを過剰適合する可能性がある

参考文献

  • 特徴エンジニアリングとは何ですか?
  • LDA と PCA 次元削減
  • 機械学習の実践

この記事はWeChatの公式アカウント「Zhiyuanzhe」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、Zhiyuanzheの公式アカウントまでご連絡ください。

<<:  Google Brain の最新研究: AutoML メソッドが Dropout モードを自動的に学習

>>:  2021年には、人工知能が私たちの生活にさらに統合されるでしょう。これは何を意味するのでしょうか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

スマート教育を開発することの価値は何でしょうか? 5GとAIが重要な役割を果たす

国内の感染予防・抑制状況が基本的に安定してきたため、各地で大学や小中学校などで「授業再開」が実施され...

研究者は人工知能を使ってSARS-CoV-2のような次のウイルスを見つける

ジョージタウン大学の科学者が率いる国際研究チームは、COVID-19パンデミックの原因ウイルスである...

...

PyTorch と TensorFlow で画像分類モデルをトレーニングする方法

導入画像分類は、コンピューター ビジョンの最も重要なアプリケーションの 1 つです。その応用範囲は、...

...

実用的なヒント | 機械学習における不均衡な分類問題にどう対処するか?

機械学習などのデータ サイエンスの問題を扱う場合、カテゴリの分布が不均衡な状況、つまりサンプル デー...

ChatGPT で半日の作業を 20 分に短縮

みなさんこんにちは、私はクン兄さんですここ数ヶ月、私はウェブサイトの開発とAI関連の知識の学習に忙し...

...

ポストパンデミックの時代に、伝統的なオフィスビルは時代遅れになるのでしょうか?

新型コロナウイルスの世界的大流行が続く中、従業員にリモートワークを奨励する企業が増えています。従来の...

未来はここにある: データが大規模 AI モデルにおける競争をどう促進するか

人工知能の急速な発展に伴い、高品質なデータの重要性がますます明らかになっています。大規模言語モデルを...

海外で最も人気のあるディープラーニング実践コースの新バージョンがリリースされました。100%新しい最先端のコンテンツを備えています。

良いニュースです。お勧めの新しいコースがあります!理論と実践を組み合わせた完全無料の海外で最も人気の...

人工知能は目覚めたのか?アマゾンの人工知能は人間の命令を聞かず不気味な笑い声を上げる

人類が人工知能の開発に熱心に取り組み始めて以来、著名な科学者ホーキング博士をはじめ、疑問や反対の声が...

お茶や水を出すロボットを購入する見込みはありますか?メタとニューヨーク大学がOK-Robotを開発

「xx、テレビ台のリモコンを取ってきて。」 家庭環境では、多くの家族が必然的にこの種の作業を命じられ...