1. 概要

このチュートリアルでは、機械学習の分類手法とクラスタリング手法の違いを学習します。

まず、両方の方法論の背後にある考え方と、それらが個別に持つ利点について説明します。 次に、それらの主な手法と使用法をリストします。

また、新しいタスクに対処するときに使用するアルゴリズムのカテゴリを決定するためのチェックリストも作成します。

このチュートリアルの最後に、分類とクラスタリングの手法の機能と、それらの一般的な使用例を理解します。

2. 分類

2.1. 分類入門

分類クラスタリングはどちらも、データセットに対してデータマイニングを実行するための一般的な手法です。 熟練したデータサイエンティストは両方に精通していますが、すべての問題を解決するのに等しく適しているわけではありません。 したがって、結果として、それらの特定の利点と制限を理解することが重要です。

まず、分類から始めます。 一般的な分類の概念について簡単に説明した後、実際のタスクに分類を実装するために使用できる方法を確認します。

分類問題は、機械学習の教師あり学習に関連する問題のカテゴリです。 簡単に言うと、一連の観測にラベルを割り当てることに対応します。 ラベル付きデータに関する記事で説明したように、実世界での分類は、ラベルが意味的に何を表すかについて事前に知っている場合にのみ可能です

分類の問題自体は数学表記だけで説明できますが、実世界に展開するための機械学習システムの開発では、当社の製品が組み込まれるより大きなシステムを検討する必要があります。 。 これには、ラベルをある種の実際のセマンティックカテゴリにマッピングする必要があります。

分類はまた、一般に、世界を個別の領域またはコンパートメントに分割したいという考えを伝えます。 階層またはマルチラベル分類によって重複ラベルの作成が可能ですが、これらの領域は重複しない傾向があります。 ただし、領域が重なっている場合でも、ラベル自体は重なっていない。

したがって、分類は、個別のラベルを物に割り当てるか、あるいは領域に割り当てるかという問題です

2.2. 要するに分類

分類の基礎となる仮説は次のとおりです。

  • 個別の異なるクラスがあります
  • オブザベーションはクラスに属しているか、クラスに関連付けられています
  • 観測をそのクラスに関連付けるプロセスをモデル化する関数があります
  • この関数はトレーニングデータセットで学習でき、これまでに見られなかったデータよりも一般化されます

これらの仮説はすべて等しく重要です。 それらの1つに違反すると、特定の問題に対して分類が機能しません

2.3. これらの仮説はどういう意味ですか?

最初の仮説は理解しやすく、クラスが連続値ではないことを意味します。 もしそうなら、分類の問題ではなく、回帰を解決することになります。

2番目の仮説に関しては、次の直感的な例を使用できます。 誰かがこれらのポリゴンを分類するタスクを私たちに与えたと想像してみましょう。

タスクの提供者が分類を行うための類型を指定しない限り、分類は不可能です。 ただし、凸型と非凸型に分割するように指示された場合は、分類が再び可能になります。

ただし、たとえば、同じポリゴンをカテゴリに従って分類することはできませんでした。

3番目の仮説に関しては、分類は機械学習だけに関係するわけではないため、これは重要です。 衛星画像での人間による物体認識と同様に、人間の理解だけでも物体認識を行うことができます。 その場合、分類のプロセスは、その要素の1つとして人間を含むワークフローとしてモデル化できますが、数学的決定関数として適切にモデル化することはできません。

最後の仮説に関しては、代わりにこの例を使用できます。 私たちのタスクが画像内のオブジェクトを識別することであるが、車両のみを含むデータセットが提供されていると想像してみましょう。

どのアルゴリズムを使用しても、車両以外のオブジェクトを識別することはできません。 同様に、このデータセットを使用すると、。 たとえば自転車を特定したい場合、このサンプルデータセットは、4番目の仮説に違反するため不適切です。

3. 分類の一般的な方法

3.1. ロジスティック回帰

分類の方法はすべて、特徴ベクトルが与えられた場合に、トレーニングデータセット内のラベルの1つに対応するラベルを割り当てることを可能にする関数の学習で構成されます。 次に、いくつかの主要なメソッドとそのアプリケーションの例を順番に見ていきます。

ロジスティック回帰は、分類のための最も簡単な方法の1つです。 区間に連続的に分布する確率の決定としてプロセスをモデル化することにより、観測値にクラスを割り当てる決定をシミュレートします。 ロジスティック回帰は、最適化関数最急降下法で処理できるため、分類方法として特に一般的です。 これにより、モデルを手続き的に最適化できることが保証されます。

3.2. 単純ベイズ分類器

単純ベイズ分類器は、コンポーネント間に強い線形独立性を持つ特徴ベクトルの単純な分類システムを構築するための典型的なツールです。 皮肉なことに、それは確かに強い線形依存性を持つテキストのような機能に頻繁に使用されます。

ただし、分類関数の一般的な形状が示されていない状況や、トレーニングデータセットが実世界のデータを十分に表していると想定できる場合に特に役立ちます。機械学習システムが取得するもの。

単純ベイズ分類の基礎は、ベイズの有名な定理です。これは、特徴ベクトルの特徴が与えられる確率を次のように計算します。

3.3. 畳み込みニューラルネットワーク

ニューラルネットワーク、特に畳み込みニューラルネットワークは、特徴が互いに強い線形依存性を持つデータセットの分類タスクを解決するのに役立ちます。 それらが機能する方法は、分類器への入力の次元を削減することです。これにより、は、計算能力と時間の点で過度の要件なしに分類タスクを実行できます。

畳み込みニューラルネットワークには、いくつかの活性化関数があります。 中間層は通常ReLUまたはドロップアウト関数を使用しますが、分類層は通常softmaxを使用します。

3.4. サポートベクターマシン

分類のもう1つの一般的なアルゴリズムは、サポートベクターマシンであり、このコンテキストではサポートベクター分類器とも呼ばれます。 このアルゴリズムは、異なるクラスに属する観測値を最もよく分離する分離超平面を識別することによって機能します。

サポートベクターマシンは、両方がパラメトリックである限りニューラルネットワークに似ていますが、それ以外の点ではいくつかの違いがありますトレーニングはよりも大幅に高速になる傾向がありますニューラルネットワークですが、予測結果の計算が遅くなる傾向があります

4. 分類の使用法

分類の使用法は、それを使用して処理するデータ型によって異なります。 最も一般的なデータタイプは、画像、ビデオ、テキスト、およびオーディオ信号です。

これらのタイプのデータソースでの分類のいくつかの使用法はです。

いくつかの特定の問題を解決するために分類方法を使用している、あまり一般的ではないタイプのデータもあります

教師あり学習と分類のアプリケーションはさらに多く存在します。 原則として、上記で特定した4つの仮説を尊重する方法で問題を形式化できる場合、その問題は分類問題として取り組むことができます。

5. クラスタリング

5.1. クラスタリングの概要

教師あり学習の代替手段である機械学習へのもう1つのアプローチは、教師なし学習です。 教師なし学習は、ラベルなしデータを処理するアルゴリズムのクラスで構成されます。 つまり、クラスの所属に関する事前知識を追加していないデータです。

教師なし学習のアルゴリズムの最も重要なグループの1つは、クラスタリングです。これは、データセット内の観測グループのアルゴリズムによる識別で構成され、ある種のメトリックに従って互いに類似しています[ X254X]。

分類の概要のセクションで、ラベルは事前に決定され、個別である必要があると述べました。 ただし、クラスターを事前に決定する必要はありません。実際、クラスターを不明な数のクラスターにクラスター化することは可能です。

クラスタリングを理解する最も簡単な方法は、機能空間の観点からクラスタリングを参照することです。 特徴空間は、データセット内のすべての観測値が存在する空間です。 デカルト平面として想像することにより、2次元で概念化できます。

上の画像から、すべての観測がその特徴空間内にあることがわかります。 しかし、それらのすべてがその空間の同じ領域にあるわけではありません。 実際、他のグループからは遠く離れているものの、互いに非常に近いものを特定できます。

類似性によって一緒に属する観測値のグループを決定する問題は、クラスタリングの名前を取ります。

5.2. 要するにクラスタリング

分類の場合と同様に、問題にクラスタリングを適用するために必要な仮説をリストできます。 特に重要なのは2つだけです。

  • すべての観測値は同じ特徴空間にあり、観測値が同じデータセットに属しているかどうかは常に検証されます
  • その空間での観測間の類似性を測定するためのメトリックが必要です。

特徴空間がベクトル空間である場合、私たちが想定しているように、メトリックは確かに存在します。

これらの仮説は、分類に必要な仮説よりも大幅に制限が少なくなっています。 この意味で、クラスタリングは、分類と比較して、私たちが研究している現象の性質に関する限られた事前知識を必要とすると言えます。 ただし、特定のアルゴリズムには、クラスターの予想される分布に関する追加の仮説がある場合があり、特定のアルゴリズムを選択する際には、これらも考慮に入れる必要があることに注意してください。

クラスタリングは、仮説の定式化で役立つことが多く、そのタスクの自動化にも適用されます。 これは、それが仮説の主題ではなく、ほとんどの場合作成者であることを意味します。

6. クラスタリングの一般的な方法

6.1. K-Means

これで、データセットでクラスタリングを実行するために使用できる特定の手法を学習できます。 さまざまな手法がさまざまな結果につながる可能性があることを示すために、常に同じデータセット、有名なアイリスデータセットを参照します。

Irisデータセットには、通常、教師あり学習に使用されるクラスがあることに注意してください。 ただし、クラスラベルを無視して、代わりにクラスタリングを行うことができます。 興味があれば、上の画像を参照して、さまざまなクラスタリング手法がクラス分布とどのように比較されるかを確認できます。

私たちが研究する最初の手法はK-Meansであり、これも最も頻繁に遭遇します。 K-Meansはパラメトリックアルゴリズムであり、識別するクラスターの数を事前に識別する必要があります。 これは、特徴空間内の、それらに最も近いすべての観測値との距離の分散を最小化するポイントを識別することによって機能します

これらのポイントは、クラスターの「重心」の名前を取ります。 観測値を含むデータセットのK-Meansを計算する式は次のとおりです。

これは、クラスターごとに1つの平均値を特定することで機能し、そのクラスターに属する各観測値との距離の2乗を最小化します。

6.2. DBSCAN

DBSCAN は、距離ではなく、特徴空間内のポイントの密度を考慮することにより、クラスター分析に異なるアプローチをとるアルゴリズムです。 その根底にある仮説は、観測の密度が高い領域は常に密度の低い領域に囲まれているというものです。 もちろん、これは普遍的に有効ではありません。アプリケーションにDBSCANを選択する際には、これを考慮する必要があります。

高密度地域は「近隣」とも呼ばれます。 次に、DBSCANは2つの値によってパラメーター化されます。1つは高密度近傍のサンプルの最小数を示します。 もう1つは、近隣に属する観測値がその近隣に対して持つことができる最大距離を示します。

「コア」は高密度の近隣にあるサンプルであり、他のサンプルはすべて低密度の領域にあります。

6.3. スペクトルクラスタリング

スペクトルクラスタリングは、最初にデータセットアフィニティ行列を抽出し、次に固有ベクトル[でK-Meansなどの別のクラスタリングアルゴリズムを計算することによって機能するアルゴリズムです。その行列の正規化されたバージョンのX215X]:

次に、低次元空間で識別されたクラスターが元の特徴空間に投影され、それに応じてクラスターの所属が割り当てられます。

スペクトルクラスタリングの主な利点の1つは、非常にまばらなアフィニティマトリックスの場合、計算速度が他のクラスタリングアルゴリズムよりも優れている傾向があることです。 ただし、クラスターの数が大幅に多い場合は、パフォーマンスが低下する傾向があります

6.4. 平均シフト

もう1つの重心ベースのアルゴリズムは、平均シフトです。これは、領域内のポイントの理想的な平均に可能な限り近い位置にあるクラスター重心を繰り返し識別しようとすることで機能します。 これは、最初に図心をランダムに配置し、次にそれらの位置を更新して平均に向かってシフトすることによって行われます。

アルゴリズムは、重心の周りの滑らかな密度の領域を構成するすべての観測値をクラスターとして識別します。 すべてのクラスターの外側にあるこれらの観測は、孤児の名前を取ります。 他の形式のクラスタリングアルゴリズムに対する平均シフトの利点の1つは、同じ領域内にあるすべての観測値のサブセットのみをクラスタリングできるが、それらすべてを考慮する必要がないことです

6.5. アフィニティの伝播

アフィニティ伝播は、データセットに含まれる観測値で構成されるグラフを作成することによって機能します。 次に、アルゴリズムはグラフ内のポイントのペア間のメッセージの送信をシミュレートし、次にどのポイントが他のポイントを最もよく表すかを決定します。

アフィニティ伝播の主な利点は、データセット内のクラスター数を事前に決定する必要がないことです。 代わりに、アルゴリズムは Preferences と呼ばれる値に従ってパラメーター化されます。これは、特定の観測値が他の観測値を表す可能性を示します。

アフィニティ伝播のもう1つの利点は、クラスターに含まれる観測値の数が大幅に異なる場合でも、他のアルゴリズムが小さいクラスターを抑制したり、大きいクラスターに統合したりする場合に、引き続き良好に機能することです。

7. クラスタリングの使用法

7.1. 一般的な使用法

これで、実際のアプリケーションでのクラスタリングの一般的な使用法をいくつか見ることができます。 分類の場合と同様に、クラスタリングで処理しているデータの性質は、受け取る可能性のあるメリットのタイプに影響します。

  • テキストの場合、クラスタリングは、最高の類似性を特徴とするドキュメントの識別に役立ちます。これは、盗用を検出するのに役立ちます。
  • 音声信号の場合、特に音声処理の場合、クラスタリングにより、言語同じ方言に属する音声を識別できます。
  • 画像を操作する場合、クラスタリングを使用すると、回転、スケーリング、または並進変換を除いて、互いに類似している画像を識別できます。
  • ビデオの場合、特に顔の追跡の場合、クラスタリングを使用して、複数のフレームにわたって同じ顔を含む画像の部分を検出できます。

7.2. あまり一般的ではない使用法

ただし、クラスタリングを使用できる一般的なデータ型はそれほど多くありません。

最後に言及すべきことは、クラスタリングと分類を単一の順次プロセスに統合できる場合があるということです。 一般的な例は、Webサイトのレビューまたは苦情の中からコメントのグループを特定することです。 これは、新しいWebサイトで初めて処理されるときに、ラベルの事前の識別に依存できないタスクです。

8. チェックリスト

これで、新しいデータセットに直面したときに使用するアルゴリズムのカテゴリを決定できるチェックリストを作成できます。 前のセクションで特定したように、各カテゴリに以前の仮説を含めると、次の表が得られます。

9. 結論

この記事では、分類とクラスタリングの違いについて説明しました。

また、機械学習アルゴリズムの各クラスに組み込まれている以前の仮説をリストしました。 そうすることで、データセットを比較できるチェックリストを作成できます。

これにより、特定のタスクの特性に応じて、分類とクラスタリングのどちらを使用するかを決定できます。