分類のためのK-Means
1. 序章
このチュートリアルでは、分類にK-Meansクラスタリングアルゴリズムを使用する方法について説明します。
2. クラスタリングと 分類
クラスタリングと分類は、機械学習で解決する2つの異なるタイプの問題です。 分類設定では、データにラベルが付いています。目標は、これらのデータポイントやその他のデータポイントに正確にラベルを付けることができる分類器を学習することです。 対照的に、クラスタリングを行う場合、データにはラベルが付けられず、類似性によってインスタンスをクラスターにグループ化することを目的としています。
ただし、K-Meansなどのクラスタリングアルゴリズムは、分類器と統合することも、分類器をトレーニングすることもできます。
3. 前処理ステップとしてのK-Means
ラベルのないデータのセットを想像してみましょう。
irisデータセットです。 軸はがく片の長さ、がく片の幅です。
現在、ラベルにアクセスすることはできませんが、インスタンスが2つ以上のクラスに属していることがわかります。 この場合、最初にK-Meansでデータをクラスター化し、次にクラスターを個別のクラスとして扱います。 このようにして、(インスタンスを最も近いクラスターに割り当てることにより)すべてのデータにラベルを付け、分類器をトレーニングするためのデータセットを準備できます。
したがって、最初にデータからクラスラベルを学習し、次にクラスタリング中に検出されたクラスを区別するように分類器をトレーニングします。
たとえば、K-Meansは、上記のデータで次の3つのクラスター(クラス)と重心を検出します。
次に、ニューラルネットワークをトレーニングして、3つのクラスを区別することができます。
4. 単純なK-Means分類器
クラスター化されたデータの上に分類器をトレーニングする必要はありません。 代わりに、クラスターの重心を分類に使用できます。 ラベル付けのルールは簡単です。最も近い重心を見つけて、そのクラスターに新しいインスタンスを割り当てます:
3番目のクラスターの中心はクラスター間のインスタンスに最も近いため、ラベルを付けます。
5. 問題
前の2つの方法では、データにラベルが付けられていませんでした。 そこで、K-Meansを使用してラベルを学習し、クラスタリングエラーが無視できると仮定して、その結果に基づいて分類器を構築しました。
ただし、この仮定は成り立たない場合があります。 K-Meansでは、クラスターの数を事前に選択する必要があります。 エルボーヒューリスティックを使用して、クラスターの数を決定することはできますが、間違っている可能性があります。 正しい数のクラスを識別したとしても、K-Meansで取得するラベルは正しくない可能性があります。 これは、使用する距離メトリックが同じラベルのインスタンス間の類似性を反映していない場合に発生する可能性があります。
残念ながら、この問題は解決できません。 ラベルのないデータから開始するため、K-Meansの結果を比較できるグラウンドトゥルースはありません。
また、K-Meansまたはその他のクラスタリングアルゴリズムを使用してクラスを検出した場合、それぞれが何を表すかを決定するのは私たちの責任であることも覚えておく必要があります。
6. K-Means分類
データにラベルが付けられている場合、教師なしアルゴリズムであっても、K-Meansを使用できます。 トレーニングプロセスを調整するだけで済みます。 これでグラウンドトゥルースが得られたので、実際のラベルを介してクラスタリングの品質を測定できます。 さらに、クラスターの数を推測する必要はありません。クラスの数に設定します。
クラスターを特定したら、重心に近いことで新しいオブジェクトを分類します。
6.1. 教師なしK-Means
正式には、がオブジェクトであり、がそれらのラベルであるデータセットとします。 通常のK-Meansでは、withing-group距離を最小化することによってクラスターを形成します。 がthクラスターとその中のインスタンスの数である場合、以下を最小化することによって重心を見つけます。
(1)
たとえば、Expectation-Maximizationアルゴリズムを使用してこれを行うことができます。
6.2. 監視対象のK-Means不純物
ただし、がわかっているので、の純度を最大化することもできます。 目標は、各クラスを1つのクラスターにのみ表示することです。
たとえば、 Gini不純物インデックスは、クラスターがどれほど不均一であるかを示します。
精度やエラーリスクを明示的に最適化していない場合でも、平均インデックスを最小化することで、エラーの可能性を最小限に抑えることができます。
(2)
これは、同じクラスのすべてのインスタンスを1つのクラスターに強制しようとするためです。これにより、クラスが可能な限り分離されます。
また、平均ジニ係数をクラスター間距離と組み合わせることができます。 このようにして、withing-cluster距離とエラー確率を同時に最小化します。
(3)
6.3. 正則化としてのクラスタリング
K-Meansは正則化手法として機能することに注意してください。 近くのオブジェクトをグループ化することでクラスターを形成するため、トレーニングプロセスには、幾何学的に適切な形状のグループを見つけるインセンティブがあります。 これにより、過剰適合を防ぐことができます。
精度と一般化機能の間のトレードオフを制御するために、正則化係数を目的関数( 3 )に含めることができます。
(4)
高いとは、純度よりもコンパクトな形状に関心があることを意味しますが、値が低いと、分類エラーを最小限に抑えることに重点が置かれます。
7. 結論
この記事では、分類にK-meansを使用する方法を示しました。教師なしクラスタリングアルゴリズムですが、分類問題に適用できます。