機械学習における分類: それが何であり、どのように機能するか

公開: 2024-11-20

分類は、データ分析と機械学習 (ML) の中核となる概念です。このガイドでは、分類とは何か、その仕組みを探り、分類と回帰の違いを説明し、タスクの種類、アルゴリズム、アプリケーション、利点、課題について説明します。

目次

  • 分類とは何ですか?
  • 分類と回帰
  • ML の分類タスクの種類
  • 分類分析に使用されるアルゴリズム
  • 分類の応用
  • 分類の利点
  • 分類のデメリット

機械学習における分類とは何ですか?

分類は、入力特徴に基づいて新しいデータ ポイントのカテゴリ (クラスとも呼ばれます) を予測する機械学習の教師あり学習手法です。分類アルゴリズムは、正しいカテゴリがわかっているラベル付きデータを使用して、特徴を特定のカテゴリにマッピングする方法を学習します。このプロセスは、カテゴリー化またはカテゴリー分類とも呼ばれます。

分類を実行するために、アルゴリズムは 2 つの主要なフェーズで動作します。トレーニング フェーズ中に、アルゴリズムは入力データとそれに対応するラベルまたはカテゴリの間の関係を学習します。トレーニングが完了すると、モデルは推論フェーズに入り、学習したパターンを使用して、現実世界のアプリケーションでまだ見たことのない新しいデータを分類します。分類の有効性は、これらのフェーズの処理方法と、トレーニング中に利用できる前処理されたデータの品質に大きく依存します。

分類アルゴリズムがこれらのフェーズをどのように管理するかを理解することが不可欠です。重要な違いの 1 つは、学習へのアプローチ方法です。これにより、分類アルゴリズムが従う可能性のある 2 つの異なる戦略、つまり遅延学習と熱心な学習が導き出されます。

Grammarly で賢く仕事をする
仕事を持つすべての人のための AI ライティング パートナー

怠惰な学習者 vs 熱心な学習者

分類アルゴリズムは通常、遅延学習または熱心な学習という 2 つの学習戦略のいずれかを採用します。これらのアプローチは、モデルの構築方法と構築時期が根本的に異なり、アルゴリズムの柔軟性、効率、ユースケースに影響を与えます。どちらもデータを分類することを目的としていますが、異なる種類のタスクや環境に適した対照的な方法でそれを行っています。

それぞれのアプローチの長所と短所をよりよく理解するために、怠惰な学習者と熱心な学習者の操作を調べてみましょう。

怠惰な学習者

インスタンスベースまたはメモリベースの学習器とも呼ばれる遅延学習アルゴリズムは、トレーニング データを保存し、クエリを分類する必要があるまで実際の学習を遅らせます。これらのアルゴリズムの 1 つが動作すると、類似性の尺度を使用して、新しいデータ ポイントと保存されたインスタンスが比較されます。利用可能なデータの質と量はアルゴリズムの精度に大きく影響し、通常、より大きなデータセットにアクセスするとパフォーマンスが向上します。怠惰な学習者は最近のデータを優先することがよくありますが、これは最新性バイアスとして知られています。リアルタイムで学習するため、クエリに応答する際に時間がかかり、計算コストが高くなる可能性があります。

怠惰な学習者は、リアルタイムの意思決定が重要であり、データが常に進化する動的な環境で優れています。これらのアルゴリズムは、新しい情報が継続的に流入し、分類タスク間に大規模なトレーニング サイクルを行う時間がないタスクに適しています。

熱心に学習する人

対照的に、熱心な学習アルゴリズムは、すべてのトレーニング データを事前に処理し、分類タスクが実行される前にモデルを構築します。この事前の学習フェーズは通常、より多くのリソースを消費し、複雑になるため、アルゴリズムがデータ内のより深い関係を明らかにできるようになります。一度トレーニングすると、熱心な学習者は元のトレーニング データにアクセスする必要がなくなり、予測フェーズで非常に効率的になります。データを迅速に分類し、最小限の計算コストで大量のクエリを処理できます。

ただし、熱心な学習者は、新しいリアルタイム データに適応する柔軟性が低くなります。リソースを大量に使用するトレーニング プロセスにより、処理できるデータ量が制限されるため、モデル全体を再トレーニングせずに新しい情報を統合することが困難になります。

この記事の後半では、遅延アルゴリズムと熱心なアルゴリズムを顔認識にどのように組み合わせて使用​​できるかを見ていきます。

分類と回帰: 違いは何ですか?

分類がどのように機能するかを調べたので、もう 1 つの主要な教師あり学習手法である回帰と区別することが重要です。

分類と回帰は両方とも、トレーニング フェーズからのラベル付きデータに基づいて予測を行うために使用されますが、生成される予測の種類が異なります。

分類アルゴリズムは、離散的でカテゴリ的な結果を予測します。たとえば、電子メール分類システムでは、電子メールが「スパム」または「ハム」としてラベル付けされる場合があります (「ハム」は非スパム電子メールを指します)。同様に、天気分類モデルは、「明日は雨が降りますか?」という質問に対して、「はい」、「いいえ」、または「たぶん」を予測する可能性があります。

一方、回帰アルゴリズムは連続値を予測します。回帰モデルは、データをカテゴリに割り当てるのではなく、数値出力を推定します。たとえば、電子メール システムでは、回帰モデルにより、電子メールがスパムである確率 (たとえば、70%) が予測される場合があります。気象予測モデルの場合、2 インチの雨など、予想される降雨量を予測できます。

分類と回帰は異なる目的を果たしますが、一緒に使用されることもあります。たとえば、回帰は分類システムに入力される確率を推定し、予測の精度と粒度を向上させる可能性があります。

ML の分類タスクの種類

分類タスクはさまざまで、それぞれが特定のデータ タイプと課題に合わせて調整されています。タスクの複雑さとカテゴリの性質に応じて、バイナリ分類、マルチクラス分類、マルチラベル分類、または不均衡分類などのさまざまな方法を使用できます。以下でそれぞれのアプローチを詳しく見てみましょう。

二項分類

二値分類は、データを true/false、yes/no などの 2 つのカテゴリに分類する基本的なタスクです。不正行為の検出、感情分析、医療診断、スパム フィルタリングなどの分野で広く研究され、応用されています。バイナリ分類では 2 つのクラスを処理しますが、問題を複数のバイナリ タスクに分割することで、より複雑な分類を処理できます。たとえば、データを「リンゴ」、「オレンジ」、「バナナ」、「その他」に分類するには、別個のバイナリ分類子を使用して、「それはリンゴですか?」、「オレンジですか?」、「バナナですか?」

マルチクラス分類

多クラス分類 (多項分類とも呼ばれます) は、データが 3 つ以上のカテゴリに分類されるタスク向けに設計されています。問題を複数のバイナリ分類タスクに分解するモデルとは異なり、マルチクラス アルゴリズムは、そのようなシナリオをより効率的に処理するために構築されています。これらのアルゴリズムは通常、バイナリ システムよりも複雑で、大規模なデータセットを必要とし、セットアップに多くのリソースを消費しますが、実装するとパフォーマンスが向上することがよくあります。

マルチラベル分類

マルチラベル分類は、マルチ出力分類とも呼ばれ、特定のデータに複数のラベルを割り当てます。これは、各インスタンスに複数のカテゴリから 1 つのラベルだけが割り当てられるマルチクラス分類とよく混同されます。

違いを明確にするには: バイナリ分類アルゴリズムは、画像を 2 つのカテゴリ (果物のある画像と果物のない画像) に分類できます。マルチクラス システムは、果物の画像をバナナ、リンゴ、オレンジなどの特定のカテゴリに分類できます。一方、マルチラベル分類では、単一の画像に複数のラベルを割り当てることができます。たとえば、1 つの画像を「果物」と「バナナ」の両方に分類でき、果物には「熟した」または「熟していない」というラベルを付けることもできます。これにより、システムは、(「果物なし」、「バナナなし」、「熟したものはない」)、(「果物」、「バナナ」、「熟した」、または (「果物、 「バナナ」「何も熟していない」)。

不均衡な分類

多くの場合、トレーニングに利用できるデータは、実際に見られるデータの分布を表していません。たとえば、アルゴリズムはトレーニング中に 100 人のユーザーのデータにのみアクセスし、そのうち 50% が購入する場合があります (実際には 10% のユーザーのみが購入します)。不均衡な分類アルゴリズムは、オーバーサンプリング (トレーニング データの一部を再利用) およびアンダーサンプリング (トレーニング データの一部を過少使用) 手法を使用して、学習中にこの問題に対処します。これにより、学習アルゴリズムは、データのサブセットがトレーニング データ内で発生するよりも実際に発生する頻度がかなり高い、または低いことを学習します。これらの手法を使用すると、他の方法で学習する場合よりも大幅に少ないデータからシステムが学習できるため、通常は一種のトレーニング最適化になります。

現実を反映するのに十分なデータを蓄積するのは困難または時間がかかる場合がありますが、この種の最適化によりモデルをより早くトレーニングできるようになります。また、データ量が多すぎて分類アルゴリズムをすべてトレーニングするには時間がかかりすぎ、アルゴリズムの不均衡によりトレーニングが可能になる場合もあります。

分類分析に使用されるアルゴリズム

分類アルゴリズムはよく研究されていますが、すべての状況に普遍的に適した単一形式の分類は見つかっていません。その結果、よく知られた分類アルゴリズムの大規模なツールキットが存在します。以下では、最も一般的なもののいくつかについて説明します。

線形予測子

線形予測子とは、入力特徴の線形結合に基づいて結果を予測するアルゴリズムを指します。これらの方法は簡単で効果的であるため、分類タスクで広く使用されています。

ロジスティック回帰

ロジスティック回帰は、特にバイナリ分類で最も一般的に使用される線形予測子の 1 つです。ロジスティック (またはシグモイド) 関数を使用して、観測変数に基づいて結果の確率を計算します。信頼度のしきい値を超えている場合、最も確率の高いクラスが予測結果として選択されます。このしきい値を満たす結果がない場合、その結果は「不確実」または「未決定」としてマークされる可能性があります。

線形回帰

線形回帰は通常、回帰のユースケースに使用され、連続値を出力します。ただし、フィルターまたはマップを追加して出力をクラスに変換することで、値を分類に再利用できます。たとえば、雨量予測を出力する線形回帰モデルをすでにトレーニングしている場合、しきい値を任意に設定することで、同じモデルを「雨の日」/「雨が降っていない日」の二値分類器にすることができます。デフォルトでは、モデルをバイナリ分類子に変換するときに使用される回帰結果の符号のみです (0 と正の数値は「はい」の答えまたは「+1」にマップされ、負の数値は「いいえ」の答えまたは「-」にマップされます) 1”)。ただし、マップはより複雑になり、ユースケースに合わせて調整できます。たとえば、5 ml を超える雨の予測はすべて「雨の日」とみなされ、それ未満の予測はその逆であると決定できます。

判別分析

線形判別分析 (LDA) は、分類に使用されるもう 1 つの重要な線形予測子です。 LDA は、異なるクラスを最もよく分離する特徴の線形結合を見つけることによって機能します。観測値は独立しており、正規分布していると仮定します。 LDA は次元削減によく使用されますが、判別関数 (クラス間の差異を測定する関数) を使用して観測値をクラスに割り当てる強力な分類ツールでもあります。

ベイズ分類

ベイズ分類アルゴリズムは、ベイズの定理を使用して、観察されたデータに基づいて各クラスの事後確率を計算します。これらのアルゴリズムはデータの特定の統計的特性を前提としており、そのパフォーマンスはこれらの前提がどの程度維持されるかによって決まります。たとえば、Naive Bayes は、特徴がクラスに応じて条件付きで独立していると仮定します。

k-NN 分類

k 近傍 (k-NN) アルゴリズムも広く使用されている分類方法です。これは回帰タスクと分類タスクの両方に適用できますが、最も一般的には分類に使用されます。このアルゴリズムは、距離計算を使用して近接性を決定し、k 個の最近傍のクラス (k は変数) に基づいて新しいデータ ポイントにクラスを割り当てます。 k-NN アルゴリズムは、データ内にローカル構造がある場合に、シンプルかつ効率的で効果的です。そのパフォーマンスは、適切な距離メトリックを選択し、分類に役立つローカル パターンがデータに含まれていることを確認することで決まります。

デシジョン ツリーとランダム フォレスト

デシジョン ツリーは、分類タスクに使用される一般的なアルゴリズムです。これらは、特徴値に基づいてデータを再帰的に分割し、特定の観測値がどのクラスに属するかを決定することによって機能します。ただし、デシジョン ツリーはトレーニング データを過剰適合する傾向があり、ノイズが取り込まれ、分散が大きくなります。この過剰適合により、新しいデータへの一般化が不十分になります。

過学習を軽減するために、アンサンブル手法としてランダム フォレストが使用されます。ランダム フォレストは、データのランダムなサブセットに対して複数のデシジョン ツリーを並行してトレーニングし、各ツリーが独自の予測を行います。最終的な予測は、通常は多数決を通じて、すべてのツリーの予測を集約することによって行われます。 「バギング」(ブートストラップ集計の短縮語)として知られるこのプロセスは、分散を削減し、目に見えないデータを一般化するモデルの能力を向上させます。ランダム フォレストは、バイアスと分散のバランスを取るのに効果的で、分類タスク用の堅牢な既製アルゴリズムになります。

分類の応用

分類アルゴリズムは、データを事前定義されたグループに分類することで現実の問題を解決するために、さまざまな分野で広く使用されています。以下に、顔認識、文書分類、顧客行動予測など、分類の一般的なアプリケーションをいくつか示します。

顔認識

顔認識システムは、ビデオまたは写真内の顔を既知の顔のデータベースとリアルタイムで照合します。これらは通常、認証に使用されます。

たとえば、携帯電話のロック解除システムは、顔検出システムを使用することから始まり、数秒ごとに顔に向けたカメラから低解像度の画像を取得し、画像に顔が含まれているかどうかを推測します。顔検出システムは、「顔は存在しますか?」という質問に答える、よく訓練された積極的なバイナリ分類器である可能性があります。

怠惰な分類子は、「顔はありますか?」という熱心な質問に従うことになります。分類子。携帯電話の所有者のすべての写真と自撮り写真を使用して、別個のバイナリ分類タスクを実装し、「この顔は携帯電話のロックを解除できる人物のものですか?」という質問に答えます。答えが「はい」の場合、電話機のロックが解除されます。答えが「いいえ」の場合、そうではありません。

文書の分類

文書の分類は、最新のデータ管理戦略の重要な部分です。 ML ベースの分類子は、保存されている多数のドキュメントをカタログ化して分類し、ドキュメントとそのコンテンツをより有用にするインデックス作成と検索作業をサポートします。

文書の分類作業は、文書の前処理から始まります。それらの内容は分析され、数値表現に変換されます (数値の方が処理しやすいため)。数式、埋め込まれた画像、ドキュメントの言語などの重要なドキュメントの特徴がドキュメントから抽出され、ML アルゴリズムが学習できるように強調表示されます。この後に、同じ流れで他の同様の処理タスクが続きます。

次に、文書のサブセットが人間によって手作業で分類され、分類システム用のトレーニング データセットが作成されます。トレーニングが完了すると、分類子は受信したすべてのドキュメントを迅速かつ大規模にカタログ化して分類します。分類エラーが検出された場合は、ML システムのトレーニング資料に手動による修正を追加できます。場合によっては、修正を加えて分類器モデルを再トレーニングすると、そのパフォーマンスが向上します。

顧客行動予測

オンライン小売店や電子商取引ショップは、顧客の行動に関するきめ細かい詳細な情報を収集します。この情報を使用して、新規顧客を分類し、「この新規顧客は購入する可能性が高いか?」などの質問に答えることができます。 「25% 割引を提供することは、この顧客の購買行動に影響を及ぼしますか?」

分類器は、以前の顧客とその最終的な行動 (購入したかどうかなど) からのデータを使用してトレーニングされます。新しい顧客がプラットフォームと対話すると、モデルは顧客が購入するかどうか、またいつ購入するかを予測できます。また、What-If 分析を実行して、「このユーザーに 25% 割引を提供したら、購入するでしょうか?」などの質問に答えることもできます。

分類の利点

分類は機械学習領域にいくつかの利点をもたらし、データの分類問題を解決するためのアプローチとして広く使用されています。以下では、分類の成熟度、柔軟性、人間が判読可能な出力を提供する機能など、分類の主な利点のいくつかを検討します。

よく勉強して理解している

分類は、機械学習の分野で最もよく研​​究され、理解されている問題の 1 つです。その結果、分類タスクに利用できる成熟したツールキットが多数あり、ユーザーは速度、効率、リソース使用量、データ品質要件の間のトレードオフのバランスを取ることができます。

分類器のパフォーマンスを評価するには、精度、適合率、再現率、混同行列などの標準的な手法を使用できます。これらのツールを使用すると、特定の問題に対して最も適切な分類システムを選択し、そのパフォーマンスを評価し、時間をかけて改善することが比較的簡単になります。

人間が判読できる出力を提供する

多くの場合、分類器では、予測能力と人間の可読性との間のトレードオフが可能になります。デシジョン ツリーやロジスティック回帰などの、よりシンプルで解釈しやすいモデルを調整して、その動作を理解しやすくすることができます。これらの解釈可能なモデルを使用してデータのプロパティを探索することができ、人間のユーザーがデータについての洞察を得ることができるようになります。このような洞察は、より複雑で正確な機械学習モデルの開発に役立ちます。

分類のデメリット

分類は機械学習における強力なツールですが、特定の課題と制限が伴います。以下では、過学習、過小学習、トレーニング データの大規模な前処理の必要性など、分類の主な欠点のいくつかについて説明します。

過学習

分類モデルをトレーニングするときは、モデルがデータに過剰適合する可能性を減らすためにトレーニング プロセスを調整することが重要です。過学習は、データ内の関係を抽象的に理解するのではなく、モデルがソース データの一部またはすべてを記憶する問題です。トレーニング データをオーバーフィットしたモデルは、トレーニングに使用したデータによく似た新しいデータが見つかった場合にはうまく機能しますが、一般的にはうまく機能しない可能性があります。

アンダーフィッティング

分類システムのパフォーマンスは、十分な量のトレーニング データが利用可能であること、および選択された分類アルゴリズムで適切に機能する問題に適用されることに依存します。十分なトレーニング データが利用できない場合、または特定の分類アルゴリズムにデータを正しく解釈するための適切なツールがない場合、トレーニングされたモデルは適切な予測を行う方法を学習できない可能性があります。この現象は「アンダーフィッティング」として知られています。アンダーフィッティングを軽減するために利用できる手法は数多くありますが、それらを正しく適用することは必ずしも簡単ではありません。

トレーニングデータの前処理

多くの分類システムには、データ構造とフォーマットに関する比較的厳格な要件があります。彼らのパフォーマンスは、多くの場合、データにさらされる前、またはデータ上でトレーニングされる前に、データがどの程度適切に処理されたかと密接に相関しています。その結果、分類システムは厳格で柔軟性に欠け、どの問題やデータ コンテキストに最も適しているかについて厳密な境界が存在する可能性があります。